Opened 8 years ago
Last modified 8 years ago
#28751 closed Cleanup/optimization
Add an error message for inactive user login in AdminAuthenticationForm — at Version 3
| Reported by: | SeungWon Kang | Owned by: | nobody |
|---|---|---|---|
| Component: | contrib.admin | Version: | dev |
| Severity: | Normal | Keywords: | |
| Cc: | Triage Stage: | Accepted | |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description (last modified by )
In admin login site, I found that ValidationError message for 'inactive' user does not exist. (In AuthenticationForm it exists) I know default BackEnd checks the is_active in user_can_authenticate() method, but I think adding this error message would be helpful if using other BackEnd like AllowAllUsersModelBackEnd.
In AuthenticationForm, it shows inactive error message to the inactive user(user that is_active=False)
def confirm_login_allowed(self, user):
...
if not user.is_active:
raise forms.ValidationError(
self.error_messages['inactive'],
code='inactive',
)
but in AdminAuthenticationForm, it shows invalid_login error message to the inactive user(user that is_active=False)
def confirm_login_allowed(self, user):
if not user.is_active or not user.is_staff:
raise forms.ValidationError(
self.error_messages['invalid_login'],
code='invalid_login',
params={'username': self.username_field.verbose_name}
)
So I suggest to change it like
error_messages = {
...
'inactive': _("This account is inactive."),
}
...
def confirm_login_allowed(self, user):
if not user.is_active:
raise forms.ValidationError(
self.error_messages['inactive'],
code='inactive',
)
if not user.is_staff:
raise forms.ValidationError(
self.error_messages['invalid_login'],
code='invalid_login',
params = {'username': self.username_field.verbose_name},
)
....
Change History (3)
comment:1 by , 8 years ago
| Description: | modified (diff) |
|---|
comment:2 by , 8 years ago
| Description: | modified (diff) |
|---|
comment:3 by , 8 years ago
| Description: | modified (diff) |
|---|