summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarian Sigler <m@qjym.de>2013-04-29 11:55:55 +0200
committerMarian Sigler <m@qjym.de>2013-04-29 11:55:55 +0200
commit17d5589a08188215641fb9a88ef6342ddbb55e49 (patch)
tree272ec0f261fc0ac326deaf53c778c40a2105e14f
parente3ade141aaedd4dce9372f05e7f2473cf58ae90f (diff)
downloadweb-17d5589a08188215641fb9a88ef6342ddbb55e49.tar.gz
web-17d5589a08188215641fb9a88ef6342ddbb55e49.tar.bz2
web-17d5589a08188215641fb9a88ef6342ddbb55e49.zip
In the registration form, check if the mail address already exists.
-rw-r--r--app.py2
-rw-r--r--forms.py11
2 files changed, 9 insertions, 4 deletions
diff --git a/app.py b/app.py
index edb0fb5..523e38d 100644
--- a/app.py
+++ b/app.py
@@ -80,8 +80,6 @@ def index():
@templated('register.html')
@logout_required
def register():
- #TODO: check for double uids
- #TODO: check for double mails
form = RegisterForm(request.form, csrf_enabled=False)
if request.method == 'POST' and form.validate():
send_register_confirmation_mail(form.username.data, form.mail.data)
diff --git a/forms.py b/forms.py
index 516c8ca..06c7800 100644
--- a/forms.py
+++ b/forms.py
@@ -35,8 +35,15 @@ class RegisterForm(Form):
raise ValidationError(u'Dieser Benutzername ist schon vergeben.')
def validate_mail(form, field):
- #TODO
- pass
+ try:
+ g.ldap.get_by_mail(field.data)
+ except NoSuchUserError:
+ pass
+ else:
+ raise ValidationError(Markup(u'Ein Benutzername mit dieser Adresse existiert bereits. '
+ u'Falls du deinen Benutzernamen vergessen hast, kannst du die '
+ u'<a href="%s">Passwort-vergessen-Funktion</a> benutzen'
+ % url_for('lost_password')))
class AdminCreateAccountForm(RegisterForm):
def validate_username(form, field):