From 0a463fa18595425612802a62c7885ac3a734acd3 Mon Sep 17 00:00:00 2001 From: John-Scott Atlakson Date: Thu, 16 Oct 2014 00:24:45 -0400 Subject: [PATCH 1/3] Fixed login form to reference USERNAME_FIELD Was hardcoded to say 'username' when USERNAME_FIELD may be 'email' etc. --- wagtail/wagtailadmin/templates/wagtailadmin/login.html | 2 +- wagtail/wagtailadmin/views/account.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/login.html b/wagtail/wagtailadmin/templates/wagtailadmin/login.html index 52448ffe5..49fad3dd1 100644 --- a/wagtail/wagtailadmin/templates/wagtailadmin/login.html +++ b/wagtail/wagtailadmin/templates/wagtailadmin/login.html @@ -15,7 +15,7 @@ {% if form.errors %}
{% endif %} diff --git a/wagtail/wagtailadmin/views/account.py b/wagtail/wagtailadmin/views/account.py index 9dfa15b9e..f2e7e5a6c 100644 --- a/wagtail/wagtailadmin/views/account.py +++ b/wagtail/wagtailadmin/views/account.py @@ -78,11 +78,13 @@ def login(request): if request.user.is_authenticated() and request.user.has_perm('wagtailadmin.access_admin'): return redirect('wagtailadmin_home') else: + from django.contrib.auth import get_user_model return auth_login(request, template_name='wagtailadmin/login.html', authentication_form=forms.LoginForm, extra_context={ 'show_password_reset': getattr(settings, 'WAGTAIL_PASSWORD_MANAGEMENT_ENABLED', True), + 'username_field': get_user_model().USERNAME_FIELD, }, ) From 9bab86a223b355239cdab06a5b0c93fd55fcd600 Mon Sep 17 00:00:00 2001 From: John-Scott Atlakson Date: Tue, 21 Oct 2014 20:22:33 -0400 Subject: [PATCH 2/3] Updated LoginForm to dynamically set placeholder text Placeholder text is now determined from the verbose name of AUTH_USER_MODEL's USERNAME_FIELD --- wagtail/wagtailadmin/forms.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/wagtail/wagtailadmin/forms.py b/wagtail/wagtailadmin/forms.py index 866ce66a1..b515a0fde 100644 --- a/wagtail/wagtailadmin/forms.py +++ b/wagtail/wagtailadmin/forms.py @@ -40,12 +40,16 @@ class EmailLinkChooserWithLinkTextForm(forms.Form): class LoginForm(AuthenticationForm): username = forms.CharField( max_length=254, - widget=forms.TextInput(attrs={'placeholder': ugettext_lazy("Enter your username")}), ) password = forms.CharField( widget=forms.PasswordInput(attrs={'placeholder': ugettext_lazy("Enter password")}), ) + def __init__(self, request=None, *args, **kwargs): + super(LoginForm, self).__init__(request=request, *args, **kwargs) + self.fields['username'].widget.attrs['placeholder'] = ugettext_lazy("Enter %s") % self.username_field.verbose_name + + class PasswordResetForm(PasswordResetForm): email = forms.EmailField(label=ugettext_lazy("Enter your email address to reset your password"), max_length=254) From 4300b627620edc7bc0f7d4de725b16415eaf7a59 Mon Sep 17 00:00:00 2001 From: John-Scott Atlakson Date: Tue, 28 Oct 2014 09:42:27 -0400 Subject: [PATCH 3/3] Added back 'your' --- wagtail/wagtailadmin/forms.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wagtail/wagtailadmin/forms.py b/wagtail/wagtailadmin/forms.py index 950a71f7f..bcbd39918 100644 --- a/wagtail/wagtailadmin/forms.py +++ b/wagtail/wagtailadmin/forms.py @@ -50,7 +50,7 @@ class LoginForm(AuthenticationForm): def __init__(self, request=None, *args, **kwargs): super(LoginForm, self).__init__(request=request, *args, **kwargs) - self.fields['username'].widget.attrs['placeholder'] = ugettext_lazy("Enter %s") % self.username_field.verbose_name + self.fields['username'].widget.attrs['placeholder'] = ugettext_lazy("Enter your %s") % self.username_field.verbose_name