Esempio n. 1
0
def post__login():
    from models import User, OnlineUser
    try:
        form = LoginForm()
        assert form.validate_on_submit(), 'invalid form fields'
        hash_password = form.get_hash_password()
        username = form.username.data
        user = User.get_by(username=username, hash_password=hash_password)
        assert user, 'incorrect username or password'
        token = OnlineUser.create_record(user.id_)
        return set_token(redirect('/'), token)
    except AssertionError as e:
        message = e.args[0] if len(e.args) else str(e)
        return render_template('login.html', form=LoginForm(), message=message)