34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
"""Formulieren voor authenticatie."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from django.contrib.auth.forms import AuthenticationForm
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
|
|
class EmailAuthenticationForm(AuthenticationForm):
|
|
"""Loginformulier dat het ``username``-veld presenteert als e-mailadres.
|
|
|
|
Het veld blijft ``username`` heten zodat ``LoginView`` en de authenticatie-backend
|
|
onveranderd werken; alleen label, invoertype en foutmelding zijn aangepast.
|
|
"""
|
|
|
|
error_messages = {
|
|
**AuthenticationForm.error_messages,
|
|
"invalid_login": _("E-mailadres of wachtwoord klopt niet."),
|
|
}
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
super().__init__(*args, **kwargs)
|
|
field = self.fields["username"]
|
|
field.label = _("E-mailadres")
|
|
field.widget.attrs.update(
|
|
{
|
|
"type": "email",
|
|
"autocomplete": "username",
|
|
"autocapitalize": "none",
|
|
"spellcheck": "false",
|
|
"placeholder": "naam@organisatie.nl",
|
|
}
|
|
)
|