26 lines
855 B
Python
26 lines
855 B
Python
from __future__ import unicode_literals
|
|
|
|
from django import forms
|
|
|
|
from django.contrib.auth.forms import AuthenticationForm
|
|
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."),
|
|
}
|
|
|
|
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}
|
|
)
|