Beispiel #1
0
def user_active():
    """
    用户激活
    :return:
    """
    if request.method == 'GET':
        code = request.values.get('code')
        # 激活码
        if code:
            user_id = mongo.db.active_codes.find_one({'_id': ObjectId(code)
                                                      })['user_id']
            if user_id:
                mongo.db.active_codes.delete_many(
                    {'user_id': ObjectId(user_id)})
                mongo.db.users.update({'_id': user_id},
                                      {'$set': {
                                          'is_active': True
                                      }})
                user = mongo.db.users.find_one({'_id': ObjectId(user_id)})
                login_user(models.User(user))
                return render_template('user/activate.html')
        if not current_user.is_authenticated:
            abort(403)
        return render_template('user/activate.html')
    if not current_user.is_authenticated:
        abort(403)
    user = current_user.user
    mongo.db.active_codes.delete_many({'user_id': ObjectId(user['_id'])})
    send_active_email(user['username'], user['_id'], user['email'])
    return jsonify(
        code_msg.SEND_RESET_PASSWORD_MAIL.put('action',
                                              url_for('user.active')))
Beispiel #2
0
def create_user(db: Session, user: userschema.UserCreate) -> models.User:
    hashed_password = security.get_hash_password(user.password)
    user = userschema.UserBase(**user.dict())
    db_user = models.User(**user.dict(), hashed_password=hashed_password)
    db.add(db_user)
    db.commit()
    db.refresh(db_user)
    return db_user
Beispiel #3
0
def create_user(db: Session, user: schemas.UserCreate):
    fake_hashed_password = user.password + "notreallyhashed"
    db_user = models.User(email=user.email,
                          hashed_password=fake_hashed_password)
    db.add(db_user)
    db.commit()
    db.refresh(db_user)
    return db_user
Beispiel #4
0
def create_user(db: Session, user: user_schemas.UserCreate):
    # hashed_access_token = encrypt.encrypt_string(user.access_token)

    db_user = models.User(**user.dict())
    # db_user.access_token = hashed_access_token

    db.add(db_user)
    db.commit()
    db.refresh(db_user)

    return db_user
Beispiel #5
0
async def create_user(user_data: schemas.UserCreate, db: Session):
    """ADD new user"""
    new_user = await get_user_email(user_data.email, db)
    if new_user:
        raise HTTPException(status_code=status.HTTP_409_CONFLICT,
                            detail=f"{user_data.email} already registereed")

    new_user = models.User(lname=(user_data.lname).lower(),
                           fname=(user_data.fname).lower(),
                           email=(user_data.email).lower(),
                           password=Hash.get_password_hash(user_data.password))
    db.add(new_user)
    db.commit()
    db.refresh(new_user)
    return new_user
Beispiel #6
0
def user(request):
    session = models.DBSession()
    new_user = models.User(nickname='test_admin',
                           password='******',
                           email='*****@*****.**',
                           currency=1000)

    def delete_user():
        del_user = session.query(models.User).filter(
            models.User.nickname == 'test_admin').first()
        session.delete(del_user)
        session.commit()
        session.close()
    request.addfinalizer(delete_user)
    session.add(new_user)
    session.commit()
    return new_user
Beispiel #7
0
def login():
    """
    z登录
    :return:
    """
    user_form = LoginFrom()
    # 表单提交
    if user_form.is_submitted():
        # pass
        # 参数验证
        if not user_form.validate():
            return jsonify(
                models.Response.fail(code_msg.PARAM_ERROR.get_msg(),
                                     str(user_form.errors)))

        utils.verify_code(user_form.verify_code.data)
        user = mongo.db.users.find_one({'email': user_form.email.data})
        # 用户验证
        if not user:
            return jsonify(code_msg.USER_NOT_EXIST)
        # 密码验证
        if not models.User.validate_login(user['password'],
                                          user_form.password.data):
            raise models.GlobalApiException(code_msg.PASSWORD_ERROR)
        # 激活验证
        if not user.get('is_active', False):
            return jsonify(code_msg.USER_NOT_ACTIVE)
        # 禁用验证
        if user.get('is_disabled', False):
            return jsonify(code_msg.USER_DISABLED)

        login_user(models.User(user))
        action = request.values.get('next')
        if not action:
            action = url_for('index.index')
        return jsonify(code_msg.LOGIN_SUCCESS.put('action', action))

    logout_user()
    verify_code = utils.generate_verify_code()
    session['verify_code'] = verify_code['answer']
    return render_template('user/login.html',
                           verify_code=verify_code['question'],
                           form=user_form,
                           title='登录')