diff options
author | René 'Necoro' Neumann <necoro@necoro.net> | 2013-10-19 15:33:16 +0200 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.net> | 2013-10-19 15:39:51 +0200 |
commit | ee596b2b55afa08f386ac4992ff3019250920ccf (patch) | |
tree | 342d9c0a11039bde64f22d128d36ac06c7b9913d /app/forms.py | |
parent | df2f973109c47faee74d3b889c93bb211e865819 (diff) | |
download | kosten-ee596b2b55afa08f386ac4992ff3019250920ccf.tar.gz kosten-ee596b2b55afa08f386ac4992ff3019250920ccf.tar.bz2 kosten-ee596b2b55afa08f386ac4992ff3019250920ccf.zip |
'Change password' support
Diffstat (limited to 'app/forms.py')
-rw-r--r-- | app/forms.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/app/forms.py b/app/forms.py index 8cf9b6e..6c5782a 100644 --- a/app/forms.py +++ b/app/forms.py @@ -3,7 +3,7 @@ import flask from flask.ext.wtf import Form as _Form from wtforms.fields import DateField, IntegerField, StringField, HiddenField, PasswordField from wtforms import validators as v -from wtforms import fields +from wtforms import fields, ValidationError from wtforms.ext.sqlalchemy.fields import QuerySelectField from wtforms.ext.i18n.form import Form as i18nForm @@ -113,3 +113,16 @@ class LoginForm(Form): self.user = user return True + +class ChangePwdForm(Form): + old = PasswordField(u'Passwort', req) + new = PasswordField(u'Neues Passwort', req + [v.EqualTo('confirm', u'Passwörter stimmen nicht überein')]) + confirm = PasswordField(u'Wdh. neues Passwort', req) + + def validate_old(self, field): + if not login.current_user.check_password(field.data): + raise ValidationError(u"Falsches Passwort") + + @property + def newpwd(self): + return self.new.data |