From 17d5589a08188215641fb9a88ef6342ddbb55e49 Mon Sep 17 00:00:00 2001 From: Marian Sigler Date: Mon, 29 Apr 2013 11:55:55 +0200 Subject: In the registration form, check if the mail address already exists. --- app.py | 2 -- forms.py | 11 +++++++++-- 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'Passwort-vergessen-Funktion benutzen' + % url_for('lost_password'))) class AdminCreateAccountForm(RegisterForm): def validate_username(form, field): -- cgit v1.2.3-1-g7c22