1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# -*- 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'
|