Exemplo n.º 1
0
def update_password(data):
    user = User().find_by_email(data['email'])

    if user:
        user.password = data['password']
        dao.save(user)
    else:
        return '請再試一次'
Exemplo n.º 2
0
def query_restaurant(username):
    user = User()
    user = user.find_by_username(username)

    records, count = tasks.following_restaurant(user.id)

    restaurants = [record.to_dict() for record in records]

    return restaurants, count
Exemplo n.º 3
0
def set_login_session(data):
    user = User().find_by_email(data['email'])
    if user and user.verify_password(data['password']):
        if 'remember_me' in data:
            login_user(user, data['remember_me'])
        else:
            login_user(user)

        session['cellphone'] = user.cellphone
        session['username'] = user.username
Exemplo n.º 4
0
def check_double_register(**kwargs):
    status = {}
    user = User()
    if 'username' in kwargs and user.find_by_username(kwargs['username']):
        return '該用戶名已被註冊過'

    if 'email' in kwargs and user.find_by_email(kwargs['email']):
        return '該信箱已註冊過'

    if 'cellphone' in kwargs and user.find_by_cellphone(kwargs['cellphone']):
        return '該手機號已註冊過'
Exemplo n.º 5
0
def update_info(data, current_user):
    isError = check_double_register(username=data['username'])
    if isError:
        return isError

    isError = check_register_info(**data)
    if isError:
        return isError

    user = User().update(current_user.id, **data)

    return user
Exemplo n.º 6
0
def check_parmas(data, user_ip):
    is_error, login_failure_nums = check_login_failuer_num(user_ip)

    if is_error:
        return is_error

    try:
        user = User()
        user = user.find_by_email(data['email'])
    except Exception as e:
        return '請再次確認Email或密碼是否正確'

    is_error = check_password(user, data['password'], user_ip,
                              login_failure_nums)

    if is_error:
        return is_error
Exemplo n.º 7
0
def user_register(**kwargs):
    isError = check_captcha(kwargs['image_code_id'], kwargs['image_code'])
    if isError:
        return isError

    isError = check_register_info(**kwargs)
    if isError:
        return isError

    isError = check_double_register(**kwargs)
    if isError:
        return isError

    user = User(username=kwargs['username'],
                email=kwargs['email'],
                cellphone=kwargs['cellphone'],
                password=kwargs['password'])
    dao.save(user)
def unfollow():
    """取消追蹤功能"""
    res = {'status': False}
    try:
        data = request.args.to_dict()
        user = User().find_by_username(data['username'])
        if user is None:
            res['status'] = '查無該用戶'
            return jsonify(res)
        else:
            current_user.unfollow(user)
            res.update({
                'status': True,
                'msg': u'您已成功取消對%s的關注' % data['username']
            })
            return jsonify(res)

    except Exception as e:
        logger.error(e)
        return jsonify(res)
def follow():
    """用戶追蹤功能"""
    res = {'status': False}
    try:
        data = request.args.to_dict()
        user = User().find_by_username(data['username'])
        if user is None:
            res['msg'] = '查無該用戶'
            return jsonify(res)

        if current_user.is_following(user):
            res['msg'] = '您已關注該用戶'
            return jsonify(res)
        else:
            current_user.follow(user)
            res.update({'status': True, 'msg': u"您已成功關注%s" % data['username']})
            return jsonify(res)

    except Exception as e:
        logger.error(e)
        return jsonify(res)
Exemplo n.º 10
0
def verification(data):
    isError = check_captcha(data['image_code_id'], data['image_code'])
    user = User().find_by_cellphone_and_email(data['cellphone'], data['email'])
    return isError, user
Exemplo n.º 11
0
def cancel_follow_restaurant(id, restaurant):
    user = User()
    user = user.find_by_id(id=id).first()
    row = user.restaurant_love.filter(TripAdvisor.id == restaurant.id).first()
    return dao.delete(row)
Exemplo n.º 12
0
def user(username):
    comments = services.get_favorit_comments(username)

    user = User().find_by_username(username)

    return render_template('user.html', comment_list=comments, user=user)