|
123456789101112131415161718192021222324252627282930 |
- from django import forms
- from django.contrib.auth.forms import AuthenticationForm, PasswordChangeForm
- from django.utils.translation import gettext_lazy as _
-
-
- class AdminAuthenticationForm(AuthenticationForm):
- """
- A custom authentication form used in the admin app.
- """
- error_messages = {
- **AuthenticationForm.error_messages,
- 'invalid_login': _(
- "Please enter the correct %(username)s and password for a staff "
- "account. Note that both fields may be case-sensitive."
- ),
- }
- required_css_class = 'required'
-
- def confirm_login_allowed(self, user):
- super().confirm_login_allowed(user)
- if not user.is_staff:
- raise forms.ValidationError(
- self.error_messages['invalid_login'],
- code='invalid_login',
- params={'username': self.username_field.verbose_name}
- )
-
-
- class AdminPasswordChangeForm(PasswordChangeForm):
- required_css_class = 'required'
|