summaryrefslogtreecommitdiff
path: root/app/views/user.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/views/user.py')
-rw-r--r--app/views/user.py29
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'