From ee596b2b55afa08f386ac4992ff3019250920ccf Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Sat, 19 Oct 2013 15:33:16 +0200 Subject: 'Change password' support --- app/forms.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'app/forms.py') 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 -- cgit v1.2.3-54-g00ecf