From c15420ebc968c648709ea215eb51129e41e5ca0c Mon Sep 17 00:00:00 2001 From: llaffont <llaffont@git-test.afi-sa.fr> Date: Tue, 27 Aug 2013 13:11:23 +0000 Subject: [PATCH] =?UTF-8?q?rel=20#10171=20POPUP=20d'authentification=20:?= =?UTF-8?q?=20M=C3=A9morisation=20des=20identifiants=20qui=20ont=20=C3=A9t?= =?UTF-8?q?=C3=A9=20saisis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/views/scripts/modules/auth_form.phtml | 11 +++++++++++ library/Class/Systeme/ModulesAccueil/Login.php | 3 ++- library/Class/Systeme/ModulesAppli.php | 2 +- library/ZendAfi/Form/Login.php | 2 +- .../admin/controllers/AccueilControllerTest.php | 9 ++++++++- .../controllers/ProfilOptionsControllerTest.php | 14 ++++++++++++++ 6 files changed, 37 insertions(+), 4 deletions(-) diff --git a/application/modules/admin/views/scripts/modules/auth_form.phtml b/application/modules/admin/views/scripts/modules/auth_form.phtml index e74e3328b50..f61f52738e7 100644 --- a/application/modules/admin/views/scripts/modules/auth_form.phtml +++ b/application/modules/admin/views/scripts/modules/auth_form.phtml @@ -34,6 +34,17 @@ <td class="gauche"><input type="text" name="mot_de_passe_exemple" size="50" value="<?php print($this->preferences["mot_de_passe_exemple"]); ?>"></td> </tr> +<tr> + <td class="droite">Désactiver l'auto-complétion </td> + <td class="gauche"> + <?php + echo $this->formCheckbox('autocomplete_off', + (int)$this->preferences["autocomplete_off"], + null, + [1, 0]); + ?> + </td> +</tr> <tr> <td class="droite">Libelle lien connexion </td> diff --git a/library/Class/Systeme/ModulesAccueil/Login.php b/library/Class/Systeme/ModulesAccueil/Login.php index 91666018f1b..80126d766bd 100644 --- a/library/Class/Systeme/ModulesAccueil/Login.php +++ b/library/Class/Systeme/ModulesAccueil/Login.php @@ -53,7 +53,8 @@ class Class_Systeme_ModulesAccueil_Login extends Class_Systeme_ModulesAccueil_Nu 'lien_creer_compte' => '» S\'enregistrer', 'message_connecte' => 'Bienvenue', 'lien_compte' => '» Mon compte', - 'lien_deconnection' => '» Se déconnecter' + 'lien_deconnection' => '» Se déconnecter', + 'autocomplete_off' => 1 // si == 1, rajoute autocomplete="off" au formulaire ]; } ?> \ No newline at end of file diff --git a/library/Class/Systeme/ModulesAppli.php b/library/Class/Systeme/ModulesAppli.php index 7d5fe425b58..320629914a2 100644 --- a/library/Class/Systeme/ModulesAppli.php +++ b/library/Class/Systeme/ModulesAppli.php @@ -53,7 +53,7 @@ class Class_Systeme_ModulesAppli extends Class_Systeme_ModulesAbstract { 'auth' => array( '*' => array('libelle' => 'Connexion', 'popup_width' => 500, 'popup_height' => 300), - 'login' => array('libelle' => 'Connexion utilisateur', 'popup_width' => 500, 'popup_height' => 300), + 'login' => array('libelle' => 'Connexion utilisateur', 'popup_width' => 800, 'popup_height' => 700), 'register' => array('libelle' => 'Demande d\'inscription', 'popup_width' => 710, 'popup_height' => 290), 'lostpass' => array('libelle' => 'Mot de passe oublié', 'popup_width' => 710, 'popup_height' => 290) ), diff --git a/library/ZendAfi/Form/Login.php b/library/ZendAfi/Form/Login.php index 000db12de78..dd5e1579a78 100644 --- a/library/ZendAfi/Form/Login.php +++ b/library/ZendAfi/Form/Login.php @@ -37,7 +37,7 @@ class ZendAfi_Form_Login extends ZendAfi_Form { 'register']; $this->setMethod(Zend_Form::METHOD_POST) - ->setAttrib('autocomplete', 'off') + ->setAttrib('autocomplete', $this->_data['autocomplete_off'] ? 'off' : 'on') ->setAttrib('class', 'login') ->addElement('text', 'username', diff --git a/tests/application/modules/admin/controllers/AccueilControllerTest.php b/tests/application/modules/admin/controllers/AccueilControllerTest.php index 204889d140d..1c6485e0976 100644 --- a/tests/application/modules/admin/controllers/AccueilControllerTest.php +++ b/tests/application/modules/admin/controllers/AccueilControllerTest.php @@ -439,7 +439,7 @@ class AccueilControllerConfigBoiteLoginTest extends Admin_AbstractControllerTest 'division' => 4, 'id_module' => 32, 'preferences' => array())); - $this->dispatch('/admin/accueil/login?config=accueil&type_module=LOGIN&id_module=32'); + $this->dispatch('/admin/accueil/login?config=accueil&type_module=LOGIN&id_module=32', true); } @@ -484,6 +484,13 @@ class AccueilControllerConfigBoiteLoginTest extends Admin_AbstractControllerTest $this->assertXPath('//input[@name="lien_compte"][@value="» Mon compte"]'); } + + /** @test */ + public function checkBoxDisableAutocompleteShouldBeChecked() { + $this->assertXPath('//input[@name="autocomplete_off"][@checked="checked"]'); + } + + /** @test */ public function profilShouldBeValid() { $this->assertTrue(Class_Profil::getCurrentProfil()->isValid()); diff --git a/tests/application/modules/opac/controllers/ProfilOptionsControllerTest.php b/tests/application/modules/opac/controllers/ProfilOptionsControllerTest.php index bd207b7edc4..884fe526966 100644 --- a/tests/application/modules/opac/controllers/ProfilOptionsControllerTest.php +++ b/tests/application/modules/opac/controllers/ProfilOptionsControllerTest.php @@ -226,6 +226,14 @@ class ProfilOptionsControllerProfilAdulteTest extends ProfilOptionsControllerWit } + /** @test */ + public function autocompleteShouldBeAuth() { + $this->profil_adulte->setCfgModules(['auth' => ['login' => ['autocomplete_off' => 0]]]); + $this->dispatch('/opac/auth/login'); + $this->assertXPath('//form[@class="login form"][@autocomplete="on"]'); + } + + /** @test */ public function getHauteurBanniereShouldReturn150() { $this->assertEquals(150, $this->profil_adulte->getHauteurBanniere()); @@ -674,6 +682,12 @@ class ProfilOptionsControllerProfilJeunesseViewPageJeuxTest extends ProfilOption } + /** @test */ + public function boiteLoginShouldHaveAutocompleteSetToOff() { + $this->assertXPath("//div[@id='boite_login']//form[@autocomplete='off']"); + } + + /** @test */ public function boiteNewsShouldNotBeVisibleInPageJeux() { $this->assertNotXPathContentContains("//a[contains(@href, 'articleviewselection')]",'Articles'); -- GitLab