diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2016-01-23 20:17:36 +0100 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2016-01-25 01:56:49 +0100 |
commit | 9f24d8bd26e7dd3b7e36294edee31be7a37fa650 (patch) | |
tree | 85f50a093f70d36fd58c52072ba2e5ccdaef91e7 /accounts/forms.py | |
parent | ea3983d891bc6e34a827902ac8cf15734923e14c (diff) | |
download | web-9f24d8bd26e7dd3b7e36294edee31be7a37fa650.tar.gz web-9f24d8bd26e7dd3b7e36294edee31be7a37fa650.tar.bz2 web-9f24d8bd26e7dd3b7e36294edee31be7a37fa650.zip |
backend/user: Allow different backends for users
Diffstat (limited to 'accounts/forms.py')
-rw-r--r-- | accounts/forms.py | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/accounts/forms.py b/accounts/forms.py index deaffa8..c374ef6 100644 --- a/accounts/forms.py +++ b/accounts/forms.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -from account import SERVICES, NoSuchUserError +from account import SERVICES from flask import g, current_app, session, Markup from flask.ext.wtf import Form from wtforms import TextField, PasswordField, ValidationError, BooleanField,\ @@ -25,8 +25,8 @@ class RegisterForm(Form): def validate_username(form, field): try: - g.ldap.get_by_uid(field.data) - except NoSuchUserError: + current_app.user_backend.get_by_uid(field.data) + except current_app.user_backend.NoSuchUserError: if current_app.username_blacklist: if field.data.lower() in current_app.username_blacklist: @@ -37,8 +37,8 @@ class RegisterForm(Form): def validate_mail(form, field): try: - g.ldap.get_by_mail(field.data) - except NoSuchUserError: + current_app.user_backend.get_by_mail(field.data) + except current_app.user_backend.NoSuchUserError: pass else: raise ValidationError(Markup(u'Ein Benutzername mit dieser Adresse existiert bereits. ' @@ -49,8 +49,8 @@ class RegisterForm(Form): class AdminCreateAccountForm(RegisterForm): def validate_username(form, field): try: - g.ldap.get_by_uid(field.data) - except NoSuchUserError: + current_app.user_backend.get_by_uid(field.data) + except current_app.user_backend.NoSuchUserError: return else: raise ValidationError(u'Dieser Benutzername ist schon vergeben') @@ -76,12 +76,12 @@ class LostPasswordForm(Form): def validate_username_or_mail(form, field): if '@' not in field.data: try: - form.user = g.ldap.get_by_uid(field.data) + form.user = current_app.user_backend.get_by_uid(field.data) except NoSuchUserError: raise ValidationError(u'Es gibt keinen Benutzer mit diesem Namen.') else: try: - form.user = g.ldap.get_by_mail(field.data) + form.user = current_app.user_backend.get_by_mail(field.data) except NoSuchUserError: raise ValidationError(u'Es gibt keinen Benutzer mit dieser Adresse.') @@ -103,7 +103,7 @@ class SettingsForm(Form): raise ValidationError(u'Altes Passwort ist falsch.') def validate_mail(form, field): - results = g.ldap.find_by_mail(field.data) + results = current_app.user_backend.find_by_mail(field.data) for user in results: if user.uid != g.user.uid: raise ValidationError(u'Diese E-Mail-Adresse wird schon von einem anderen Account benutzt!') @@ -121,12 +121,11 @@ class AdminDisableAccountForm(Form): def validate_username(form, field): try: - form.user = g.ldap.get_by_uid(field.data) - except NoSuchUserError: + form.user = current_app.user_backend.get_by_uid(field.data) + except current_app.user_backend.NoSuchUserError: raise ValidationError(u'Dieser Benutzername existiert nicht') - #TODO: find out how we can use app.all_services in that early state for service in SERVICES: setattr(SettingsForm, 'password_%s' % service.id, |