summaryrefslogtreecommitdiffstats
path: root/forms.py
diff options
context:
space:
mode:
Diffstat (limited to 'forms.py')
-rw-r--r--forms.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/forms.py b/forms.py
index b580e2f..063412b 100644
--- a/forms.py
+++ b/forms.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
from account import SERVICES, NoSuchUserError
-from flask import g
+from flask import g, current_app, url_for, Markup
from flask.ext.wtf import Form, validators, TextField, PasswordField,\
ValidationError
from functools import partial
@@ -15,6 +15,22 @@ class RegisterForm(Form):
username = username()
mail = TextField('E-Mail-Adresse', [validators.Email(), validators.Length(min=6, max=50)])
+ def validate_username(form, field):
+ try:
+ g.ldap.get_by_uid(field.data)
+ except NoSuchUserError:
+ if current_app.username_blacklist:
+ if field.data.lower() in current_app.username_blacklist:
+
+ raise ValidationError(Markup(u'Dieser Benutzername ist momentan nicht erlaubt. '
+ u'<a href="%s">Weitere Informationen</a>' % url_for('about')))
+ else:
+ print 'not in blacklist: %r' % field.data
+ else:
+ print 'no blacklist'
+ else:
+ raise ValidationError(u'Dieser Benutzername ist schon vergeben')
+
class RegisterCompleteForm(Form):
password = PasswordField('Passwort', [validators.Required(),