diff options
author | René 'Necoro' Neumann <necoro@necoro.net> | 2013-11-01 22:57:17 +0100 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.net> | 2013-11-01 22:57:17 +0100 |
commit | 2bbf3bf2d37b319f06bc9e3a1c6d9097aa287bfa (patch) | |
tree | ecb227370aadc3e6256e074bdb72c00b1f141b94 /app/views/user.py | |
parent | ec69bf1dc3be9eb2ebf971943539d77fb70f83c6 (diff) | |
download | kosten-2bbf3bf2d37b319f06bc9e3a1c6d9097aa287bfa.tar.gz kosten-2bbf3bf2d37b319f06bc9e3a1c6d9097aa287bfa.tar.bz2 kosten-2bbf3bf2d37b319f06bc9e3a1c6d9097aa287bfa.zip |
Fixes and cleanup and documentation
Diffstat (limited to '')
-rw-r--r-- | app/views/user.py | 37 |
1 files changed, 24 insertions, 13 deletions
diff --git a/app/views/user.py b/app/views/user.py index 7f6f998..6102d3b 100644 --- a/app/views/user.py +++ b/app/views/user.py @@ -10,16 +10,19 @@ import flask mod = Blueprint('user', __name__) +# +# Forms +# class LoginForm(F.Form): username = F.StringField(u'Username', F.req) pwd = F.PasswordField(u'Passwort', F.req) def __init__(self, *args, **kwargs): - super(F.Form, self).__init__(*args, **kwargs) + super(LoginForm, self).__init__(*args, **kwargs) self.user = None def validate(self): - rv = super(F.Form, self).validate() + rv = super(LoginForm, self).validate() if not rv: return False @@ -30,6 +33,7 @@ class LoginForm(F.Form): self.user = user return True + class ChangePwdForm(F.Form): old = F.PasswordField(u'Passwort', F.req) new = F.PasswordField(u'Neues Passwort', F.req + [F.validators.EqualTo('confirm', u'Passwörter stimmen nicht überein')]) @@ -43,22 +47,33 @@ class ChangePwdForm(F.Form): def newpwd(self): return self.new.data +# +# Views +# @mod.route('/login', methods=('GET', 'POST')) @templated def login(): - form = LoginForm(flash=u"Login fehlgeschlagen!") + """Log the user in.""" + 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 } - 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('/logout') +def logout(): + """Log the user out.""" + logout_user() + return redirect('.login') + @mod.route('/cpw', methods=('GET', 'POST')) @login_required @templated def cpw(): + """Change the password of the user.""" form = ChangePwdForm() if form.validate_on_submit(): @@ -69,9 +84,5 @@ def cpw(): return { 'form': form } -@mod.route('/logout') -def logout(): - logout_user() - return redirect('.login') - +# set this, so the user is redirected to the correct view, when not logged in login_manager.login_view = 'user.login' |