Remove 'required' asterisks and auto-focus
pull/7050/head
Matt Westcott 2021-04-20 16:19:02 +01:00
rodzic b1006e61d1
commit 7c0af39a17
2 zmienionych plików z 24 dodań i 4 usunięć

Wyświetl plik

@ -1,5 +1,7 @@
from django import forms
from django.contrib.auth.forms import AuthenticationForm, PasswordResetForm
from django.contrib.auth.forms import AuthenticationForm
from django.contrib.auth.forms import PasswordChangeForm as DjangoPasswordChangeForm
from django.contrib.auth.forms import PasswordResetForm as DjangoPasswordResetForm
from django.utils.translation import gettext_lazy
@ -24,7 +26,26 @@ class LoginForm(AuthenticationForm):
yield field_name, field
class PasswordResetForm(PasswordResetForm):
class PasswordResetForm(DjangoPasswordResetForm):
email = forms.EmailField(
label=gettext_lazy("Enter your email address to reset your password"),
max_length=254, required=True)
class PasswordChangeForm(DjangoPasswordChangeForm):
"""
Since this is displayed as part of a larger form, this differs from the vanilla Django
PasswordChangeForm as follows:
* the old-password field is not auto-focused
* Fields are not marked as required
"""
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
try:
del self.fields['old_password'].widget.attrs['autofocus']
except KeyError:
pass
self.fields['old_password'].required = False
self.fields['new_password1'].required = False
self.fields['new_password2'].required = False

Wyświetl plik

@ -4,7 +4,6 @@ from django.conf import settings
from django.contrib import messages
from django.contrib.auth import update_session_auth_hash
from django.contrib.auth import views as auth_views
from django.contrib.auth.forms import PasswordChangeForm
from django.db import transaction
from django.http import Http404
from django.shortcuts import redirect
@ -15,7 +14,7 @@ from django.utils.translation import gettext as _
from django.utils.translation import gettext_lazy, override
from django.views.decorators.debug import sensitive_post_parameters
from wagtail.admin.forms.auth import LoginForm, PasswordResetForm
from wagtail.admin.forms.auth import LoginForm, PasswordChangeForm, PasswordResetForm
from wagtail.admin.localization import get_available_admin_languages, get_available_admin_time_zones
from wagtail.core import hooks
from wagtail.core.models import UserPagePermissionsProxy