summaryrefslogtreecommitdiffstats
path: root/accounts/forms.py
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2016-01-23 20:17:36 +0100
committerAlexander Sulfrian <alexander@sulfrian.net>2016-01-25 01:56:49 +0100
commit9f24d8bd26e7dd3b7e36294edee31be7a37fa650 (patch)
tree85f50a093f70d36fd58c52072ba2e5ccdaef91e7 /accounts/forms.py
parentea3983d891bc6e34a827902ac8cf15734923e14c (diff)
downloadweb-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.py25
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,