Example #1
0
    def action_play(self, *args, **kwargs):
        user = User.query.get(kwargs['id'])
        login_user(user)

        if user.corporate != None:
            corporate_id = user.corporate.id
            CookieHelper.set_corporate_cookie(corporate_id)
        return self.handle_action()
Example #2
0
def user_login():
    """
    Converts password text to hash string using bcrypt, verifies the
    combination against the database and creates a session for user in Flask
    :param email:
    :param password:
    :return: user.todict()
    """
    req = request.get_json()
    user = (User.query
            .filter(User.email == req['email'])
            .first()
            )
    if user is not None:
        if bcrypt.check_password_hash(user.password, req['password']):
            if user.is_active == False:
                return Error("Email not confirmed. Please check your mail",
                             http_code=403)()

            login_user(user)
            session.permanent = True

            # get all fields except
            fields = [c.name for c in User.__table__.c]
            fields = filter(
                    lambda x: x not in ['password', 'is_active', 'type'],
                    fields)
            fields = list(fields)
            fields.append("corporate")
            fields.append({"corporate": ["tests", "name", "id"]})

            json_dict = user.todict(fields)

            if json_dict['corporate'] != None:
                corporate_id = json_dict['corporate']['id']
                CookieHelper.set_corporate_cookie(corporate_id)

            return user.todict(fields)
    return Error("Invalid Email or Password", 401)()