From 143ee898b9f6b00b363a9e44750b6fed52496e37 Mon Sep 17 00:00:00 2001 From: efalcy <efalcy@afi-sa.fr> Date: Thu, 12 Mar 2020 15:21:22 +0100 Subject: [PATCH] hotline#107675 fix birth date to null --- VERSIONS_HOTLINE/107675 | 1 + library/Class/Users.php | 6 +++++- library/digital_resources/LesYeuxDoc/Config.php | 2 +- .../modules/admin/controllers/UsersControllerTest.php | 7 +++++++ 4 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 VERSIONS_HOTLINE/107675 diff --git a/VERSIONS_HOTLINE/107675 b/VERSIONS_HOTLINE/107675 new file mode 100644 index 00000000000..7354602eeb7 --- /dev/null +++ b/VERSIONS_HOTLINE/107675 @@ -0,0 +1 @@ + - ticket #107675 : Ressources numériques : Correction d'une erreur lors du SSO de certains fournisseurs utilisant les dates de naissance \ No newline at end of file diff --git a/library/Class/Users.php b/library/Class/Users.php index 8f6a8558eb0..cd5326d0c29 100644 --- a/library/Class/Users.php +++ b/library/Class/Users.php @@ -469,7 +469,7 @@ class Class_Users extends Storm_Model_Abstract { 'role_level' => 0, 'idabon' => '', 'date_fin' => '', - 'naissance' => '', + 'naissance' => null, 'date_debut' => '', 'telephone' => '', 'mail' => '', @@ -1376,6 +1376,10 @@ class Class_Users extends Storm_Model_Abstract { ->getCurrentDateFormatInYmdHMS()); $this->setPassword((new Class_User_Password($this))->format()); + + if (null !== ($naissance = $this->getNaissance()) + && false === strtotime($naissance)) + $this->setNaissance(null); } diff --git a/library/digital_resources/LesYeuxDoc/Config.php b/library/digital_resources/LesYeuxDoc/Config.php index cc06a43099c..e5078e3b17e 100644 --- a/library/digital_resources/LesYeuxDoc/Config.php +++ b/library/digital_resources/LesYeuxDoc/Config.php @@ -88,7 +88,7 @@ class LesYeuxDoc_Config extends Class_DigitalResource_Config { 'prenom' => $user->getPrenom(), 'nom' => $user->getNom(), 'email' => $user->getMail(), - 'dnaiss' => $user->getNaissance(), + 'dnaiss' => ($date = $user->getNaissance()) ? $date : '', 'datout' => $user->getDateFin(), 'return_url' => $return_url]; diff --git a/tests/application/modules/admin/controllers/UsersControllerTest.php b/tests/application/modules/admin/controllers/UsersControllerTest.php index 5ee4783b93a..60bd4807401 100644 --- a/tests/application/modules/admin/controllers/UsersControllerTest.php +++ b/tests/application/modules/admin/controllers/UsersControllerTest.php @@ -864,6 +864,13 @@ class UsersControllerAddActionPostTest extends UsersControllerWithMarcusTestCase } + /** @test */ + public function birthDateShouldBeNull() { + $this->_postData(); + $this->assertNull(Class_Users::findFirstBy(['login' => 'mdavis'])->getNaissance()); + } + + /** @test */ public function existingLoginShouldReturnError() { $this->user_loader -- GitLab