From b03a4ef791d754315dbec82279cc07bbc30cdfdd Mon Sep 17 00:00:00 2001 From: Matthias Meusburger <matthias.meusburger@biblibre.com> Date: Tue, 22 Apr 2014 16:33:46 +0200 Subject: [PATCH] RF#13039: Add logout button to user profile. --- .../opac/views/scripts/abonne/fiche.phtml | 2 ++ .../View/Helper/Abonne/Deconnexion.php | 34 ++++++++++++++++++ public/opac/images/abonnes/deconnexion.png | Bin 0 -> 3728 bytes .../controllers/AbonneControllerFicheTest.php | 10 ++++++ 4 files changed, 46 insertions(+) create mode 100644 library/ZendAfi/View/Helper/Abonne/Deconnexion.php create mode 100644 public/opac/images/abonnes/deconnexion.png diff --git a/application/modules/opac/views/scripts/abonne/fiche.phtml b/application/modules/opac/views/scripts/abonne/fiche.phtml index f260ecd11b8..91928309bbd 100644 --- a/application/modules/opac/views/scripts/abonne/fiche.phtml +++ b/application/modules/opac/views/scripts/abonne/fiche.phtml @@ -11,9 +11,11 @@ echo $this->abonne_Newsletters($this->user); echo $this->abonne_Formations($this->user); echo $this->abonne_Multimedia($this->user); echo $this->abonne_SuggestionAchat($this->user); +echo $this->abonne_Deconnexion($this->user); if ($this->error) echo sprintf('<div class="error">%s</div>', $this->error); $this->closeBoite(); ?> + diff --git a/library/ZendAfi/View/Helper/Abonne/Deconnexion.php b/library/ZendAfi/View/Helper/Abonne/Deconnexion.php new file mode 100644 index 00000000000..d2403b1fd61 --- /dev/null +++ b/library/ZendAfi/View/Helper/Abonne/Deconnexion.php @@ -0,0 +1,34 @@ +<?php +/** + * Copyright (c) 2013, Agence Française Informatique (AFI). All rights reserved. + * + * AFI-OPAC 2.0 is free software; you can redistribute it and/or modify + * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by + * the Free Software Foundation. + * + * There are special exceptions to the terms and conditions of the AGPL as it + * is applied to this software (see README file). + * + * AFI-OPAC 2.0 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE + * along with AFI-OPAC 2.0; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ +class ZendAfi_View_Helper_Abonne_Deconnexion extends ZendAfi_View_Helper_Abonne_Abstract { + public function abonne_Deconnexion($user) { + $action_url = $this->view->url(['controller' => 'auth', + 'action' => 'logout'], null, true); + + return $this->tagFicheAbonne(sprintf('<a href=\'%s\'>%s</a>', + $action_url, + $this->view->_('Déconnexion')), + 'deconnexion', + $action_url); + } +} + +?> \ No newline at end of file diff --git a/public/opac/images/abonnes/deconnexion.png b/public/opac/images/abonnes/deconnexion.png new file mode 100644 index 0000000000000000000000000000000000000000..0e2abed33513210c930b72764a01ab77bc476187 GIT binary patch literal 3728 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 literal 0 HcmV?d00001 diff --git a/tests/application/modules/opac/controllers/AbonneControllerFicheTest.php b/tests/application/modules/opac/controllers/AbonneControllerFicheTest.php index 005b2827a48..19848856000 100644 --- a/tests/application/modules/opac/controllers/AbonneControllerFicheTest.php +++ b/tests/application/modules/opac/controllers/AbonneControllerFicheTest.php @@ -56,6 +56,11 @@ class AbonneControllerFicheAsAdminTest extends AbstractAbonneControllerFicheTest public function linkToReservationsShouldNotBePresent() { $this->assertNotXPath('//a[contains(@href, "/abonne/reservations")]'); } + + /** @test */ + public function linkToLogoutShouldBePresent() { + $this->assertXPath('//a[contains(@href, "/auth/logout")]'); + } } @@ -79,6 +84,11 @@ class AbonneControllerFicheAsAbonneTest extends AbstractAbonneControllerFicheTes public function linkToReservationsShouldNotBePresent() { $this->assertXPath('//a[contains(@href, "/abonne/reservations")]'); } + + /** @test */ + public function linkToLogoutShouldBePresent() { + $this->assertXPath('//a[contains(@href, "/auth/logout")]'); + } } -- GitLab