mirror of
https://github.com/wassname/flask-security.git
synced 2026-07-03 17:10:25 +08:00
Fix case sensitivity when searching for users by email address. Fixes #323.
This commit is contained in:
@@ -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])
|
||||
|
||||
|
||||
@@ -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'})
|
||||
|
||||
Reference in New Issue
Block a user