From 69ac76a8713fcb1574984724986b659a5a86b2c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Zara?= Date: Wed, 27 Dec 2017 18:54:04 +0100 Subject: [PATCH 1/2] LUTECE-2189 : Add a button to display the password on the login page The button is only added if javascript is active. When first loaded, the password is displayed with bullets. Displaying the password can help enter it, and thus encourage choosing a stronger one. --- .../resources/admin_messages.properties | 2 ++ .../resources/admin_messages_fr.properties | 2 ++ .../WEB-INF/templates/admin/admin_login.html | 21 ++++++++++++++++++- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/java/fr/paris/lutece/portal/resources/admin_messages.properties b/src/java/fr/paris/lutece/portal/resources/admin_messages.properties index aae083d792..f4f6a11212 100644 --- a/src/java/fr/paris/lutece/portal/resources/admin_messages.properties +++ b/src/java/fr/paris/lutece/portal/resources/admin_messages.properties @@ -18,6 +18,8 @@ admin_login.passwordLabel=Password admin_login.forgotPassword=Forgot password admin_login.forgotLogin=Forgot access code admin_login.buttonConnect=Connect +admin_login.showPassword=Display the password +admin_login.hidePassword=Hide the password # Template admin_home admin_home.connectedUser=Connected user diff --git a/src/java/fr/paris/lutece/portal/resources/admin_messages_fr.properties b/src/java/fr/paris/lutece/portal/resources/admin_messages_fr.properties index 78e9812ae1..63c062ae83 100644 --- a/src/java/fr/paris/lutece/portal/resources/admin_messages_fr.properties +++ b/src/java/fr/paris/lutece/portal/resources/admin_messages_fr.properties @@ -18,6 +18,8 @@ admin_login.passwordLabel=Mot de passe admin_login.forgotPassword=Mot de passe oubli\u00e9 admin_login.forgotLogin=Code d'acc\u00e8s oubli\u00e9 admin_login.buttonConnect=Se connecter +admin_login.showPassword=Afficher le mot de passe +admin_login.hidePassword=Masquer le mot de passe # Template admin_home admin_home.connectedUser=Utilisateur connect\u00e9 diff --git a/webapp/WEB-INF/templates/admin/admin_login.html b/webapp/WEB-INF/templates/admin/admin_login.html index 722c2ce02d..fefc083bb9 100644 --- a/webapp/WEB-INF/templates/admin/admin_login.html +++ b/webapp/WEB-INF/templates/admin/admin_login.html @@ -22,7 +22,7 @@
- +
@@ -49,4 +49,23 @@ var bgImg = 'url(' + randomImages[rndNum] + ')'; $("#login-page").css('background-image', bgImg ); }); +$(document).ready(function() { + var buttonGroup = $(""); + var button = buttonGroup.find('button') + .click(function() { + if ($('#password').attr('type') === 'password') { + $('#password').attr('type','text'); + button.find('span:first-child').removeClass('fa-eye').addClass('fa-eye-slash'); + button.find('span:last-child').text("${i18n('portal.admin.admin_login.hidePassword')?html}"); + button.attr('title',"${i18n('portal.admin.admin_login.hidePassword')?html}") + } else { + $('#password').attr('type','password'); + button.find('span:first-child').removeClass('fa-eye-slash').addClass('fa-eye'); + button.find('span:last-child').text("${i18n('portal.admin.admin_login.showPassword')?html}"); + button.attr('title',"${i18n('portal.admin.admin_login.showPassword')?html}") + } + $('#password').focus(); + }); + $('#password').after(buttonGroup); +}); From 2958a521a1c0b1e36e435128ca9db6aad7861912 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Zara?= Date: Fri, 9 Feb 2018 15:58:13 +0100 Subject: [PATCH 2/2] LUTECE-2189 : Factor duplicated text into variables ?html escaping is sufficient because the values are only enclosed in double quotes, so single quote escapting is not necessary. --- webapp/WEB-INF/templates/admin/admin_login.html | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/webapp/WEB-INF/templates/admin/admin_login.html b/webapp/WEB-INF/templates/admin/admin_login.html index fefc083bb9..f1e2a23baf 100644 --- a/webapp/WEB-INF/templates/admin/admin_login.html +++ b/webapp/WEB-INF/templates/admin/admin_login.html @@ -50,19 +50,21 @@ $("#login-page").css('background-image', bgImg ); }); $(document).ready(function() { - var buttonGroup = $(""); + var showPasswordText = "${i18n('portal.admin.admin_login.showPassword')?html}"; + var hidePasswordText = "${i18n('portal.admin.admin_login.hidePassword')?html}"; + var buttonGroup = $(""); var button = buttonGroup.find('button') .click(function() { if ($('#password').attr('type') === 'password') { $('#password').attr('type','text'); button.find('span:first-child').removeClass('fa-eye').addClass('fa-eye-slash'); - button.find('span:last-child').text("${i18n('portal.admin.admin_login.hidePassword')?html}"); - button.attr('title',"${i18n('portal.admin.admin_login.hidePassword')?html}") + button.find('span:last-child').text(hidePasswordText); + button.attr('title',hidePasswordText) } else { $('#password').attr('type','password'); button.find('span:first-child').removeClass('fa-eye-slash').addClass('fa-eye'); - button.find('span:last-child').text("${i18n('portal.admin.admin_login.showPassword')?html}"); - button.attr('title',"${i18n('portal.admin.admin_login.showPassword')?html}") + button.find('span:last-child').text(showPasswordText); + button.attr('title',showPasswordText) } $('#password').focus(); });