async def user_login(request):
    param = request.json
    user_name = param.get("phone")
    password = param.get("password")
    # print(param)
    if (user_name is not None) and (password is not None):
        user = getUser(user_name)
        # print(user)
        if (user is not None) and auth.verify_password(password, user.password,
                                                       user.salt):
            auth.login_user(request, user)
            result = response_userinfo(user)

            # print('result==========',result)
            return json(result, status=201)
        return json(
            {
                "error_code": "LOGIN_FAILED",
                "error_message": "user does not exist or incorrect password"
            },
            status=520)
    else:
        return json(
            {
                "error_code": "PARAM_ERROR",
                "error_message": "param error"
            },
            status=520)
    return text("user_login api")
Exemple #2
0
async def user_login(request):
    param = request.json
    user_name = param.get("user_name")
    password = param.get("password")
    print(user_name, password)
    if (user_name is not None) and (password is not None):
        user = db.session.query(User).filter(
            User.user_name == user_name).first()
        if (user is not None) and auth.verify_password(password, user.password,
                                                       user.salt):
            auth.login_user(request, user)
            return json({
                "id": user.id,
                "user_name": user.user_name,
                "full_name": user.full_name
            })
        return json(
            {
                "error_code": "LOGIN_FAILED",
                "error_message": "user does not exist or incorrect password"
            },
            status=520)

    else:
        return json(
            {
                "error_code": "PARAM_ERROR",
                "error_message": "param error"
            },
            status=520)
    return text("user_login api")
Exemple #3
0
async def reset_password(request):
    if request.method == 'GET':
        token = request.args.get("token", None)
        static_url = app.config.get("DOMAIN_URL")+"/"+app.config.get("STATIC_URL", "")
        return jinja.render('email/reset_password.html', request, static_url = static_url, token=token)
    
     
    if request.method == 'POST':
        token = request.form.get("token", None)
        password = request.form.get("password", None)
        confirm_password = request.form.get("confirm_password", None)
         
         
        if token is None or password  is None:
            return json({"error_code": "PARAM_ERROR", "error_message": "Tham số không hợp lệ, vui lòng thực hiện lại"}, status=520)

        uid_current = redisdb.get("sessions:" + token)
        if uid_current is None:
            return json({"error_code": "SESSION_EXPIRED", "error_message": "Hết thời gian thay đổi mật khẩu, vui lòng thực hiện lại"}, status=520)
    
         
        
        redisdb.delete("sessions:" + token)         
        user = User.query.filter(User.id == str(uid_current.decode('ascii'))).first()
        if (user is not None):
            user.password = auth.encrypt_password(password)
            auth.login_user(request, user)
            db.session.commit()
            return text(u'bạn đã lấy lại mật khẩu thành công. mời bạn đăng nhập lại để sử dụng!')
        else:
            return text('Không tìm thấy tài khoản trong hệ thống, vui lòng thử lại sau!')
Exemple #4
0
async def reset_password(request):
    if request.method == 'GET':
        token = request.args.get("token", None)
        static_url = app.config.get("DOMAIN_URL")+"/"+app.config.get("STATIC_URL", "")
        return jinja.render('email/reset_password.html', request, static_url = static_url, token=token)
    
     
    if request.method == 'POST':
        token = request.form.get("token", None)
        password = request.form.get("password", None)
        confirm_password = request.form.get("confirm_password", None)
         
         
        if token is None or password  is None:
            return json({"error_code": "PARAM_ERROR", "error_message": "Invalid value, please check again"}, status=520)

        uid_current = redisdb.get("sessions:" + token)
        if uid_current is None:
            return json({"error_code": "SESSION_EXPIRED", "error_message": "Timeout to change password, please select again"}, status=520)
    
         
        
        redisdb.delete("sessions:" + token)         
        user = User.query.filter(User.id == str(uid_current.decode('ascii'))).first()
        if (user is not None):
            user.password = auth.encrypt_password(password)
            auth.login_user(request, user)
            db.session.commit()
            return text(u'Password change was successful.')
        else:
            return text('User account not found, please select again!')
Exemple #5
0
 async def login(request):
     username = request.json.get("username", None)
     password = request.json.get("password", None)
     user = db.session.query(User).filter(and_(or_(User.user_name == username, User.email == username), User.active == True)).first()
     if (user is not None) and auth.verify_password(password, user.password):
         auth.login_user(request, user)
         return json(get_user_with_permission(to_dict(user)))
     return json({"error_code":"LOGIN_FAILED","error_message":"user does not exist or incorrect password"}, status=501)
Exemple #6
0
async def login(request):
    data = request.json
    if data is None or data.get('username', None) is None or data.get(
            'password', None) is None:
        return json(
            {
                'error_code': 'AUTH_FAILED',
                'error_message': 'Username, password are required'
            },
            status=523)

    username = data.get('username', None)
    password = data.get('password', None)

    login_user = db.session.query(User).filter(or_(User.phone == convert_phone_number(username),\
                                                    User.email == str(username).lower())).first()

    if login_user is None:
        return json(
            {
                'error_code': 'E523',
                'error_message': 'Tài khoản không tồn tại.'
            },
            status=523)

    if auth.verify_password(password, login_user.password,
                            login_user.salt) == False:
        return json(
            {
                'error_code': 'E523',
                'error_message': 'Mật khẩu không chính xác.'
            },
            status=523)

    tenant_dict = to_dict(login_user.tenant)
    for key in exclude_attrs:
        if key in tenant_dict:
            del tenant_dict[key]

    login_user = to_dict(login_user)
    for key in exclude_attrs:
        if key in login_user:
            del login_user[key]

    request['session']['current_tenant_id'] = tenant_dict.get('id')
    login_user['tenant'] = tenant_dict
    auth.login_user(request, login_user)

    return json({
        'id': str(login_user.get('id')),
        'display_name': login_user.get('display_name'),
        'phone': login_user.get('phone'),
        'email': login_user.get('email'),
        'gender': login_user.get('gender'),
        'avatar': login_user.get('avatar'),
        'tenant': login_user.get('tenant'),
        'current_tenant_id': tenant_dict.get('id')
    })
async def login(request):
    username = request.json.get("data", None)
    password = request.json.get("password", None)
    user = db.session.query(User).filter(
        or_(User.email == username, User.phone == username)).first()
    if (user is not None) and auth.verify_password(password, user.password):
        auth.login_user(request, user)
        result = await get_user_with_permission(user)
        return json(result)
    return json(
        {
            "error_code": "LOGIN_FAILED",
            "error_message": "Tài khoản hoặc mật khẩu không đúng"
        },
        status=520)
async def login(request):
    data = request.json
    print("==================data", data)
    username = data['username']
    password = data['password']
    print("==================USER NAME", username)
    print("==================PASSWORD", password)
    user = db.session.query(User).filter(User.email == username).first()


    print("==================", user)
    if (user is not None) and auth.verify_password(password, user.password):
        
        auth.login_user(request, user)
        result = user_to_dict(user)
        return json(result)
        
    return json({"error_code":"LOGIN_FAILED","error_message":"Tài khoản hoặc mật khẩu không đúng"}, status=520)
async def user_login(request):
    param = request.json
    user_name = param.get("user_name")
    password = param.get("password")
    print(user_name, password)
    if (user_name is not None) and (password is not None):
        user = db.session.query(User).filter(
            User.user_name == user_name).first()
        if (user is not None) and auth.verify_password(password, user.password,
                                                       user.salt):
            try:
                employee = user.employee
                employee.status = 'online'
                test = datetime.now()
                # print("111111111",test.strftime("%x"))
                analysis = Analysis(id_employee = employee.id,salary_for_month = employee.salary_for_month,\
                salary_for_shift = employee.salary_for_shift,employee_name = employee.name,\
                login_at = datetime.now())
                db.session.add(analysis)
                db.session.commit()
            except:
                pass
            auth.login_user(request, user)
            return json({
                "id": user.id,
                "user_name": user.user_name,
                "full_name": user.full_name,
                "employee_id": user.employee_id,
                "role": user.roles[0].role_name
            })
        return json(
            {
                "error_code": "LOGIN_FAILED",
                "error_message": "user does not exist or incorrect password"
            },
            status=520)
    else:
        return json(
            {
                "error_code": "PARAM_ERROR",
                "error_message": "param error"
            },
            status=520)
    return text("user_login api")
Exemple #10
0
async def login(request):
    user = db.session.query(User).filter(User.id == 1).first()
    auth.login_user(request, user)
    return text("OK")