diff --git a/password_reset/forms.py b/password_reset/forms.py index 8dc0ad1d..2192adbd 100644 --- a/password_reset/forms.py +++ b/password_reset/forms.py @@ -56,11 +56,17 @@ def clean_username_or_email(self): return username + def get_user(self, *args, **kwargs): + """ Method used to customize how to get the user into subclasses. + :rtype: User object + """ + return get_user_model()._default_manager.get(*args, **kwargs) + def get_user_by_username(self, username): key = 'username__%sexact' % ('' if self.case_sensitive else 'i') User = get_user_model() try: - user = User._default_manager.get(**{key: username}) + user = self.get_user(**{key: username}) except User.DoesNotExist: raise forms.ValidationError(self.error_messages['not_found'], code='not_found') @@ -71,7 +77,7 @@ def get_user_by_email(self, email): key = 'email__%sexact' % ('' if self.case_sensitive else 'i') User = get_user_model() try: - user = User._default_manager.get(**{key: email}) + user = self.get_user(**{key: email}) except User.DoesNotExist: raise forms.ValidationError(self.error_messages['not_found'], code='not_found') @@ -86,7 +92,7 @@ def f(field): filters = f('username') | f('email') User = get_user_model() try: - user = User._default_manager.get(filters) + user = self.get_user(filters) except User.DoesNotExist: raise forms.ValidationError(self.error_messages['not_found'], code='not_found')