diff options
Diffstat (limited to 'app/views/user.py')
-rw-r--r-- | app/views/user.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/app/views/user.py b/app/views/user.py new file mode 100644 index 0000000..e3c9251 --- /dev/null +++ b/app/views/user.py @@ -0,0 +1,29 @@ +from . import Blueprint, flash, db, \ + current_user, login_required, \ + templated, request, url_for + +from ..forms import LoginForm +from ..login import login_user, logout_user, login_manager + +# we explicitly need flask's redirect and not our variant +from flask import redirect + +mod = Blueprint('user', __name__) + +@mod.route('/login', methods=('GET', 'POST')) +@templated +def login(): + form = LoginForm(flash=u"Login fehlgeschlagen!") + + if form.validate_on_submit(): + login_user(form.user) + return redirect(request.args.get('next') or url_for('index')) + + return { 'form': form } + +@mod.route('/logout') +def logout(): + logout_user() + return redirect(url_for('.login')) + +login_manager.login_view = 'user.login' |