Kaydet (Commit) 5f525903 authored tarafından Claude Paroz's avatar Claude Paroz

Fixed #21291 -- Ensured inactive users cannot reset their passwords

Thanks kz26 for the report and the suggested fix. Refs #19758.
üst 59a88086
......@@ -238,8 +238,9 @@ class PasswordResetForm(forms.Form):
from django.core.mail import send_mail
UserModel = get_user_model()
email = self.cleaned_data["email"]
users = UserModel._default_manager.filter(email__iexact=email)
for user in users:
active_users = UserModel._default_manager.filter(
email__iexact=email, is_active=True)
for user in active_users:
# Make sure that no email is sent to a user that actually has
# a password marked as unusable
if not user.has_usable_password():
......
......@@ -436,6 +436,7 @@ class PasswordResetFormTest(TestCase):
user.save()
form = PasswordResetForm({'email': email})
self.assertTrue(form.is_valid())
form.save()
self.assertEqual(len(mail.outbox), 0)
def test_unusable_password(self):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment