示例#1
0
def user_login(prop_id=None):

    # If the user is already authenticated, redirect
    if current_user.is_authenticated:
        return redirect(url_for('index'))

    # Get the login user form
    form = LoginForm()

    # Validate the form if submitted via post request
    if request.method == 'POST':
        if form.validate_on_submit():
            email = form.email.data
            user = Users.check_user(email)

            # Complete the login and redirect to correct page
            login_user(user)
            if not prop_id:
                return redirect(url_for('index'))  # Should be account page
            else:
                return redirect(url_for('prop', prop_id=prop_id))

        # Return the failure message if form not validated
        else:
            err_msg = 'Invalid Email or Password!'
            return render_template('user_login.html',
                                   prop_id=prop_id,
                                   login_user_form=form,
                                   err_msg=err_msg)

    # Render the template
    return render_template('user_login.html',
                           prop_id=prop_id,
                           login_user_form=form,
                           err_msg=False)
示例#2
0
    def post(self):
        login_form = LoginForm(MultiDict(request.get_json()))

        if login_form.validate_on_submit():
            login_user(login_form.user, remember=login_form.remember.data)
            after_this_request(_commit)
            return jsonify({'data': user_schema.dump(current_user).data})

        # login failed
        login_error = BadRequest(LOGIN_ERROR_MESSAGE)
        return Response(json.dumps({"errors": login_form.errors, "_error": LOGIN_ERROR_MESSAGE}), login_error.code, login_error.get_headers())
示例#3
0
def login():
    '''
    Login page for vendor
    '''
    # TODO - eventually vendor login page should look different
    form = LoginForm()
    return render_template('security/login_user.html', login_user_form=form)
示例#4
0
def test_form_labels(app):
    app.config["BABEL_DEFAULT_LOCALE"] = "fr_FR"
    app.security = Security()
    app.security.init_app(app)
    assert check_xlation(
        app, "fr_FR"), "You must run python setup.py compile_catalog"

    with app.test_request_context():
        rform = RegisterForm()
        assert str(rform.password.label.text) == "Mot de passe"
        assert str(
            rform.password_confirm.label.text) == "Confirmer le mot de passe"
        assert str(rform.email.label.text) == "Adresse email"
        assert str(rform.submit.label.text) == "Inscription"

        form = LoginForm()
        assert str(form.password.label.text) == "Mot de passe"
        assert str(form.remember.label.text) == "Se souvenir de moi"
        assert str(form.email.label.text) == "Adresse email"
        assert str(form.submit.label.text) == "Connexion"

        form = ChangePasswordForm()
        assert str(form.password.label.text) == "Mot de passe"
        assert str(form.new_password.label.text) == "Nouveau mot de passe"
        assert str(form.new_password_confirm.label.text
                   ) == "Confirmer le mot de passe"
        assert str(form.submit.label.text) == "Changer le mot de passe"
示例#5
0
def login():
    """View function for login view"""
    form = LoginForm(request.form, csrf_enabled=not app.testing)
    user, msg, confirm_url = None, None, None

    if request.json:
        form = LoginForm(MultiDict(request.json), csrf_enabled=not app.testing)

    if form.validate_on_submit():
        try:
            user = _security.auth_provider.authenticate(form)
        except ConfirmationError, e:
            msg = str(e)
            confirm_url = url_for('send_confirmation', email=e.user.email)
        except BadCredentialsError, e:
            msg = str(e)
            form.password.errors.append(msg)
示例#6
0
def login():
    form = LoginForm()
    user = user.query.filter_by(email=form.email.data).first()
    if user and bcrypt.check_password_hash(user.password, form.password.data):
        login_user(user)
        return redirect('/')
    else:
        flash('Login Unsuccessful. Please try again', 'danger')
    return render_template('/security/login_user.html')
示例#7
0
    def index(self):
        loginform = LoginForm()
        registerform = RegisterForm()

        if not current_user.is_authenticated():
            # 로그인을 아예 안 함.
            return render_template("main/index.html",
                                   login_user_form=loginform,
                                   register_user_form=registerform)
        elif current_user.is_authenticated() and not current_user.is_evaluate:
            # 로그인은 했는데 평가를 안 함.
            return redirect(url_for('StartView:index'))
        elif current_user.is_authenticated() and current_user.is_evaluate:
            # 로그인도 하고 평가도 함.
            return redirect(url_for('MainView:recommend'))
        elif not current_user.confirmed_at:
            return render_template('main/confirm.html')
        else:
            # 아무것도 해당 안 됨.
            return render_template("main/index.html")
def test_login_form_description(sqlalchemy_app):
    app = sqlalchemy_app()
    with app.test_request_context('/login'):
        login_form = LoginForm()
        expected = '<a href="/reset">Forgot password?</a>'
        assert login_form.password.description == expected
示例#9
0
def security_register_context_processor():
    return dict(login_user_form=LoginForm(), registerModalShow=True)
示例#10
0
def inject_login_form():
    if not current_user_is_logged():
        return {
            "login_user_form": LoginForm()
        }
    return {}
示例#11
0
def login():
    return dict(form=LoginForm())