1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# -*- 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')])
password_confirm = PasswordField(u'Passwort bestätigen')
class LoginForm(Form):
username = username
password = PasswordField('Passwort', [validators.Required()])
class SettingsForm(Form):
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))
|