Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #10017 - PasswordResetForm.clean_email was not returning the va…

…lue.

Thanks Zak Johnson, Leo


git-svn-id: http://code.djangoproject.com/svn/django/trunk@9906 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 1306079a024ac7109487d2a560ceda3f842a4572 1 parent 8ffe898
@spookylukey spookylukey authored
Showing with 30 additions and 0 deletions.
  1. +1 −0  django/contrib/auth/forms.py
  2. +29 −0 django/contrib/auth/tests/forms.py
View
1  django/contrib/auth/forms.py
@@ -107,6 +107,7 @@ def clean_email(self):
self.users_cache = User.objects.filter(email__iexact=email)
if len(self.users_cache) == 0:
raise forms.ValidationError(_("That e-mail address doesn't have an associated user account. Are you sure you've registered?"))
+ return email
def save(self, domain_override=None, email_template_name='registration/password_reset_email.html',
use_https=False, token_generator=default_token_generator):
View
29 django/contrib/auth/tests/forms.py
@@ -190,4 +190,33 @@
False
>>> form['username'].errors
[u'This value must contain only letters, numbers and underscores.']
+
+
+### PasswordResetForm
+
+>>> from django.contrib.auth.forms import PasswordResetForm
+>>> data = {'email':'not valid'}
+>>> form = PasswordResetForm(data)
+>>> form.is_valid()
+False
+>>> form['email'].errors
+[u'Enter a valid e-mail address.']
+
+# Test nonexistant email address
+>>> data = {'email':'foo@bar.com'}
+>>> form = PasswordResetForm(data)
+>>> form.is_valid()
+False
+>>> form.errors
+{'email': [u"That e-mail address doesn't have an associated user account. Are you sure you've registered?"]}
+
+# Test cleaned_data bug fix
+>>> user = User.objects.create_user("jsmith3", "jsmith3@example.com", "test123")
+>>> data = {'email':'jsmith3@example.com'}
+>>> form = PasswordResetForm(data)
+>>> form.is_valid()
+True
+>>> form.cleaned_data['email']
+u'jsmith3@example.com'
+
"""
Please sign in to comment.
Something went wrong with that request. Please try again.