Fix case sensitivity when searching for users by email address. Fixes #323.

This commit is contained in:
Matt Wright
2014-10-13 13:34:11 -04:00
parent 824a52b883
commit 2cffb6634d
2 changed files with 10 additions and 2 deletions
+2 -2
View File
@@ -75,13 +75,13 @@ def get_form_field_label(key):
def unique_user_email(form, field):
if _datastore.find_user(email=field.data) is not None:
if _datastore.get_user(field.data) is not None:
msg = get_message('EMAIL_ALREADY_ASSOCIATED', email=field.data)[0]
raise ValidationError(msg)
def valid_user_email(form, field):
form.user = _datastore.find_user(email=field.data)
form.user = _datastore.get_user(field.data)
if form.user is None:
raise ValidationError(get_message('USER_DOES_NOT_EXIST')[0])
+8
View File
@@ -55,6 +55,14 @@ def test_registerable_flag(client, app, get_message):
response = client.post('/register', data=data, follow_redirects=True)
assert get_message('EMAIL_ALREADY_ASSOCIATED', email='dude@lp.com') in response.data
# Test registering with an existing email but case insensitive
data = dict(
email='Dude@lp.com', password='password', password_confirm='password',
next=''
)
response = client.post('/register', data=data, follow_redirects=True)
assert get_message('EMAIL_ALREADY_ASSOCIATED', email='Dude@lp.com') in response.data
# Test registering with JSON
data = '{ "email": "dude2@lp.com", "password": "password"}'
response = client.post('/register', data=data, headers={'Content-Type': 'application/json'})