# -*- encoding: utf-8 -*- from . import Blueprint, flash, db, \ current_user, login_required, \ templated, redirect, request, url_for from ..forms import LoginForm, ChangePwdForm from ..login import login_user, logout_user, login_manager import flask 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) # we explicitly need flask's variant as we redirect to a URI return flask.redirect(request.args.get('next') or url_for('index')) return { 'form': form } @mod.route('/cpw', methods=('GET', 'POST')) @login_required @templated def cpw(): form = ChangePwdForm() if form.validate_on_submit(): current_user.set_password(form.newpwd) db.session.commit() flash(u"Passwort geƤndert.") return redirect('index') return { 'form': form } @mod.route('/logout') def logout(): logout_user() return redirect('.login') login_manager.login_view = 'user.login'