def login():
    form = LoginForm(request.form)
    if request.method == 'POST':
        if not form.validate_on_submit():
            abort(400)
        user = User.query.filter(User.email.ilike(f"{form.email.data}")).first()

        if not user:
            flash("شما ثبت نام نکرده اید", category='error')
            return render_template('khadamati/login.html', form=form)

        if not user.check_password(form.password.data):
            flash("نام کاربری / رمز ورود  نادرست است", category='error')
            return render_template('khadamati/login.html', form=form)
        
        # if user:
        #     flash("شما از قبل وارد شده اید", category='error')
        #     return(redirect(url_for('index')))
        
        session['email'] = user.email
        session['user_id'] = user.id
        session['username'] = user.username

        # return redirect(url_for('index'))
    if session.get('email') is not None:
        flash("ورود با موفقیت انجام شد", category='')
        return redirect(url_for('khadamati.khadamat_mdf'))
    return render_template('khadamati/login.html', form=form)
Example #2
0
def update_user(*,
                db_session: Session = Depends(get_db),
                current_user: DispatchUser = Depends(get_current_user),
                user_id: int,
                user_in: UserUpdate):
    """
    Update a user.
    """
    user = get(db_session=db_session, user_id=user_id)
    if not user:
        raise HTTPException(status_code=404,
                            detail="The user with this id does not exist.")
    # print(user.org_code, user.is_org_owner)
    if user_in.old_password and not user.check_password(user_in.old_password):
        raise HTTPException(status_code=400, detail="old password is wrong.")

    if user_in.email == current_user.email:
        if user_in.role != user.role and user.role == UserRoles.WORKER:
            raise HTTPException(status_code=400,
                                detail="No modification role permission.")
    else:
        if current_user.role != UserRoles.OWNER or user_in.old_password:
            raise HTTPException(status_code=400,
                                detail="No modification  permission.")
    user = update(db_session=db_session, user=user, user_in=user_in)
    redis_conn = redis.Redis(connection_pool=redis_pool)
    redis_conn.delete(f"user:{user_in.email}")
    return user
Example #3
0
def pass_info():
    if request.method == "GET":
        return render_template('news/user_pass_info.html')

    # 1. 获取到传入参数
    data_dict = request.json
    old_password = data_dict.get("old_password")
    new_password = data_dict.get("new_password")

    if not all([old_password, new_password]):
        return jsonify(errno=RET.PARAMERR, errmsg="参数有误!")

    # 2. 获取当前登录用户的信息
    user = g.user

    if not user.check_password(old_password):
        return jsonify(errno=RET.PWDERR, errmsg="原密码错误!")

    user.password = new_password
    try:
        db.session.commit()
    except Exception as e:
        current_app.logger.error(e)
        db.session.rollback()
        return jsonify(errno=RET.DBERR, errmsg="保存数据失误!")

    return jsonify(errno=RET.OK, errmsg="保存成功!")
Example #4
0
File: app.py Project: djzh23/Tweets
def login():
    if current_user.is_authenticated:
        print("ICH BIN IN LOGIN")
        return redirect('/searchafterlogin')

    if request.method == 'POST':
        email = request.form['email']
        user = UserModel.query.filter_by(email=email).first()
        print("ICH BIN IN LOGIN - IF die Methode POST")
        if user is not None and user.check_password(request.form['password']):
            login_user(user)
            print("DU BIST EINGELOGGT :)")
            return redirect('/searchafterlogin')
        else:
            return redirect('/error')
    return render_template('login.html')
Example #5
0
def login_user(
        req: Request,
        user_in: UserLogin,
        db_session: Session = Depends(get_db),
):
    user = get_by_email(db_session=db_session, email=user_in.email)
    # print(user.org_code, user.is_org_owner)
    if user and user.check_password(user_in.password):
        # NOT for authorization purpose
        # req.state.code = user.code
        # req.state.org_code = user.org_code
        if not user.is_active:
            raise HTTPException(
                status_code=400,
                detail=f"User {user_in.email} is not activated...")

        log.info(f"user login success: email = {user.email}")
        return {"token": user.token}

    raise HTTPException(status_code=400, detail="Invalid username or password")
Example #6
0
def login():
    """
    登陆功能
    :return:
    """

    # 1. 获取参数和判断是否有值
    mobile = request.json.get('mobile')  # 手机号
    password = request.json.get('password')  # 密码
    if not all([mobile, password]):
        return jsonify(errno=RET.PARAMERR, errmsg='账户不存在')
    # 2. 从数据库查询出指定的用户
    user = User.query.filter(User.mobile == mobile).first()
    if not user:
        return jsonify(errno=RET.USERERR, errmsg='用户不存在')
    # 3. 校验密码 User中的一个方法check_password验证密码
    if not user.check_password(password):
        return jsonify(errno=RET.DBERR, errmsg='密码输入错误')
    # 4. 保存用户登录状态
    session['user_id'] = user.id
    # session['user_nick_name'] = user.nick_name
    # 5. 登录成功返回
    return jsonify(errno=RET.OK, errmsg='登录成功')