diff options
Diffstat (limited to '')
-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 |