diff options
Diffstat (limited to 'tbc/static/admin/forms.py')
-rw-r--r-- | tbc/static/admin/forms.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tbc/static/admin/forms.py b/tbc/static/admin/forms.py new file mode 100644 index 0000000..2e482b9 --- /dev/null +++ b/tbc/static/admin/forms.py @@ -0,0 +1,29 @@ +from __future__ import unicode_literals + +from django import forms +from django.contrib.auth.forms import AuthenticationForm, PasswordChangeForm +from django.utils.translation import ugettext_lazy as _ + + +class AdminAuthenticationForm(AuthenticationForm): + """ + A custom authentication form used in the admin app. + """ + 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): + 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} + ) + + +class AdminPasswordChangeForm(PasswordChangeForm): + required_css_class = 'required' |