summaryrefslogtreecommitdiff
path: root/app/views/login.py
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--app/views/login.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/app/views/login.py b/app/views/login.py
new file mode 100644
index 0000000..8693c30
--- /dev/null
+++ b/app/views/login.py
@@ -0,0 +1,26 @@
+from ..flask_extend import Blueprint
+from flask import request, url_for, redirect
+
+from ..forms import LoginForm
+from ..login import login_user, logout_user, login_manager
+from ..utils import templated
+
+mod = Blueprint('login', __name__)
+
+@mod.route("/login", methods=("GET", "POST"))
+@templated()
+def login():
+ form = LoginForm()
+
+ 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 = 'login.login'