From 76142761d1cb0912a9b845ea6bf8adc0a987a847 Mon Sep 17 00:00:00 2001 From: pbarroca <pbarroca@afi-sa.fr> Date: Wed, 28 May 2014 15:32:39 +0200 Subject: [PATCH] rel #13931 : add start and end date in multimedia authentication --- .../opac/controllers/AbonneController.php | 18 +++++++-------- .../Class/Multimedia/AuthenticateRequest.php | 2 +- .../AbonneControllerMultimediaTest.php | 22 ++++++++++++++++++- 3 files changed, 31 insertions(+), 11 deletions(-) diff --git a/application/modules/opac/controllers/AbonneController.php b/application/modules/opac/controllers/AbonneController.php index bb8b998f2df..aaf71ff92b8 100644 --- a/application/modules/opac/controllers/AbonneController.php +++ b/application/modules/opac/controllers/AbonneController.php @@ -596,23 +596,23 @@ class AbonneController extends ZendAfi_Controller_Action { $response->auth = 0; $response->until = ''; - $request = Class_Multimedia_AuthenticateRequest::newWithRequest($this->_request); - + $request = Class_Multimedia_AuthenticateRequest::newWithRequest($this->_request); if ($user = $request->getUser()) { - foreach (array('id', 'login', 'password', 'nom', 'prenom') as $attribute) + foreach (['id', 'login', 'password', 'nom', + 'prenom', 'date_debut', 'date_fin'] as $attribute) $response->$attribute = $user->$attribute; - $response->groupes = $user->getUserGroupsLabels(); $response->date_naissance = $user->getDateNaissanceIso8601(); } - if ($request->isValid()) { - $response->auth = 1; - $response->until = date('c', $request->getCurrentHoldEnd()); - } else { + if (!$request->isValid()) { $response->error = $request->getError(); - } + $this->_response->setBody(json_encode($response)); + return; + } + $response->auth = 1; + $response->until = date('c', $request->getCurrentHoldEnd()); $this->_response->setBody(json_encode($response)); } diff --git a/library/Class/Multimedia/AuthenticateRequest.php b/library/Class/Multimedia/AuthenticateRequest.php index 12df83c335b..87b4d76e8eb 100644 --- a/library/Class/Multimedia/AuthenticateRequest.php +++ b/library/Class/Multimedia/AuthenticateRequest.php @@ -59,7 +59,7 @@ class Class_Multimedia_AuthenticateRequest { $password, [$auth->newAuthSIGB(), $auth->newAuthDb()])) { if (Class_Users::findFirstBy(['login' => $login])) - return $this->_error('PasswordIsWrong'); + return $this->_error('PasswordIsWrong'); return $this->_error('UserNotFound'); } diff --git a/tests/application/modules/opac/controllers/AbonneControllerMultimediaTest.php b/tests/application/modules/opac/controllers/AbonneControllerMultimediaTest.php index 2ff7419218d..3af31e31b73 100644 --- a/tests/application/modules/opac/controllers/AbonneControllerMultimediaTest.php +++ b/tests/application/modules/opac/controllers/AbonneControllerMultimediaTest.php @@ -206,6 +206,12 @@ class AbonneControllerMultimediaAuthenticateMireilleTest extends AbonneControlle public function shouldReturnSubscriptionExpired() { $this->assertEquals('SubscriptionExpired', $this->_json->error); } + + + /** @test */ + public function dateFinShouldNotBePresent() { + $this->assertFalse(isset($this->_json->date_fin)); + } } @@ -418,7 +424,20 @@ class AbonneControllerMultimediaAuthenticateBaptisteTest extends AbonneControlle /** @test */ public function groupsShouldBeMineurAbonneAndOldSchool() { - $this->assertEquals(array('mineur','abonne_sigb', 'Devs Oldschool'), $this->_json->groupes); + $this->assertEquals(['mineur','abonne_sigb', 'Devs Oldschool'], + $this->_json->groupes); + } + + + /** @test */ + public function dateFinShouldBe3000_01_01() { + $this->assertEquals('3000-01-01', $this->_json->date_fin); + } + + + /** @test */ + public function dateDebutShouldBe1978_05_23() { + $this->assertEquals('1978-05-23', $this->_json->date_debut); } } @@ -1252,6 +1271,7 @@ class AbonneControllerMultimediaUsersFixtures { ->setPassword("afi") ->beAbonneSIGB() ->setNaissance('2005-02-17') + ->setDateDebut('1978-05-23') ->setDateFin('3000-01-01'); } -- GitLab