summaryrefslogtreecommitdiffstats
path: root/forms.py
diff options
context:
space:
mode:
authorMarian Sigler <m@qjym.de>2012-09-26 02:37:56 +0200
committerMarian Sigler <m@qjym.de>2012-09-26 02:37:56 +0200
commit7216ec0a7fe4051611990c237652eaaa50e26e42 (patch)
tree697d0798852ecdcc5c33b37b4a76f785badc273e /forms.py
parentcc31815e01c6cb36fb1e88f02a9ae463745dac59 (diff)
downloadweb-7216ec0a7fe4051611990c237652eaaa50e26e42.tar.gz
web-7216ec0a7fe4051611990c237652eaaa50e26e42.tar.bz2
web-7216ec0a7fe4051611990c237652eaaa50e26e42.zip
start with form and template changes for service password management
Diffstat (limited to 'forms.py')
-rw-r--r--forms.py25
1 files changed, 24 insertions, 1 deletions
diff --git a/forms.py b/forms.py
index 22f77ea..c5728d5 100644
--- a/forms.py
+++ b/forms.py
@@ -1,13 +1,17 @@
# -*- coding: utf-8 -*-
+from account import SERVICES
from flask.ext.wtf import Form, validators, TextField, PasswordField
from utils import _username_re
+
username = TextField('Benutzername', [validators.Regexp(_username_re, message=u'Benutzername darf nur aus a-z bestehen (2-16 Zeichen)')])
+
class RegisterForm(Form):
username = username
mail = TextField('E-Mail-Adresse', [validators.Email(), validators.Length(min=6, max=50)])
+
class RegisterCompleteForm(Form):
password = PasswordField('Passwort', [validators.Required(),
validators.EqualTo('password_confirm', message=u'Passwörter stimmen nicht überein')])
@@ -20,8 +24,27 @@ class LoginForm(Form):
class SettingsForm(Form):
- old_password = PasswordField('Passwort', [validators.Required(u'Bitte gib dein (altes) Passwort an, um deine Daten zu ändern.')])
+ old_password = PasswordField('Bisheriges Passwort',
+ [validators.Required(u'Bitte gib dein (altes) Passwort an, um deine Daten zu ändern.')])
password = PasswordField('Neues Passwort', [validators.Optional(),
validators.EqualTo('password_confirm', message=u'Passwörter stimmen nicht überein')])
password_confirm = PasswordField(u'Passwort bestätigen')
mail = TextField('E-Mail-Adresse', [validators.Optional(), validators.Email(), validators.Length(min=6, max=50)])
+
+
+ def get_servicepassword(self, service_id):
+ return getattr(self, 'password_%s' % service_id)
+ def get_servicepasswordconfirm(self, service_id):
+ return getattr(self, 'password_confirm_%s' % service_id)
+
+
+#TODO: find out how we can use app.all_services in that early state
+for service in SERVICES:
+ setattr(SettingsForm, 'password_%s' % service.id,
+ PasswordField(u'Passwort für %s' % service.name, [
+ validators.Optional(),
+ validators.EqualTo('password_confirm_%s' % service.id, message=u'Passwörter stimmen nicht überein'),
+ ]))
+ setattr(SettingsForm, 'password_confirm_%s' % service.id,
+ PasswordField(u'Passwort für %s (Bestätigung)' % service.name))
+