From 65326c3e444757ee848c3ca0743c6233e17c1b96 Mon Sep 17 00:00:00 2001 From: Henri-Damien LAURENT <hdlaurent@afi-sa.net> Date: Tue, 12 Mar 2024 16:48:00 +0000 Subject: [PATCH] hotline#186269 : Activity notification are not sent to queued trainees anymore --- VERSIONS_HOTLINE/186269 | 1 + .../Class/SessionActivity/Notification.php | 3 ++ tests/scenarios/Activities/BatchTest.php | 49 +++++++++++++++---- 3 files changed, 43 insertions(+), 10 deletions(-) create mode 100644 VERSIONS_HOTLINE/186269 diff --git a/VERSIONS_HOTLINE/186269 b/VERSIONS_HOTLINE/186269 new file mode 100644 index 00000000000..e98439bb3d2 --- /dev/null +++ b/VERSIONS_HOTLINE/186269 @@ -0,0 +1 @@ + - correctif #186269 : Activités : Mail rappel activité envoyé à une personne en liste d'attente \ No newline at end of file diff --git a/library/Class/SessionActivity/Notification.php b/library/Class/SessionActivity/Notification.php index 18ee64db23d..24b9b2f6919 100644 --- a/library/Class/SessionActivity/Notification.php +++ b/library/Class/SessionActivity/Notification.php @@ -52,6 +52,9 @@ class Class_SessionActivity_Notification { if ($inscription->hasNotifiedAt()) return $this; + if ($inscription->getQueue()) + return $this; + $stagiaire = $inscription->getStagiaire(); $mailer = new Class_MailHtml(); if (!$mailer->isMailValid($stagiaire->getMail())) diff --git a/tests/scenarios/Activities/BatchTest.php b/tests/scenarios/Activities/BatchTest.php index d89505bab28..f6f4f584a38 100644 --- a/tests/scenarios/Activities/BatchTest.php +++ b/tests/scenarios/Activities/BatchTest.php @@ -68,7 +68,7 @@ abstract class Activities_BatchRunTestCase extends ModelTestCase { public function setUp() { parent::setUp(); - Class_Profil::setCurrentProfil($this->fixture('Class_Profil', + Class_Profil::setCurrentProfil($this->fixture(Class_Profil::class, ['id' => 1, 'mail_site' => 'from@server.com'])); @@ -102,23 +102,52 @@ abstract class Activities_BatchRunTestCase extends ModelTestCase { protected function _prepare() { - $stagiaire_group = $this->fixture('Class_UserGroup',['id' => 23]) + $stagiaire_group = $this->fixture(Class_UserGroup::class, + ['id' => 23]) ->addRightSuivreActivity(); - $this->fixture('Class_SessionActivity', + $apoulain = $this->fixture(Class_Users::class, + ['id' => 9939, + 'nom' => 'Poulain', + 'prenom' => 'Amelie', + 'mail' => 'amelie.poulain@paris.com', + 'login' => 'apoulain', + 'password' => 's3cr3t', + 'user_groups' => [$stagiaire_group] + ]); + $this->fixture(Class_Users::class, + ['id' => 9938, + 'login' => 'pistache', + 'password' => 'OMG', + 'mail' => 'pist@a.ch', + 'user_groups' => [$stagiaire_group]]); + + $this->fixture(Class_SessionActivity::class, ['id' => 22, 'date_debut' => '2021-02-11 00:00:00', 'date_limite_inscription' => '2021-02-11', - 'activity' => $this->fixture('Class_Activity', + 'activity' => $this->fixture(Class_Activity::class, ['id' => 12, 'libelle' => 'Stephanie\'s Birthday Party']), - 'stagiaires' => [$this->fixture('Class_Users', - ['id' => 9938, - 'login' => 'pistache', - 'password' => 'OMG', - 'mail' => 'pist@a.ch', - 'user_groups' => [$stagiaire_group]])], ]); + $inscription1= $this->fixture(Class_SessionActivityInscription::class, + ['id' => 12, + 'session_activity_id' => 22, + 'stagiaire_id' => 9938, + 'adults' => 1, + 'queue' => false + ]); + $inscription2 = $this->fixture(Class_SessionActivityInscription::class, + ['id' => 13, + 'session_activity_id' => 22, + 'stagiaire_id' => 9939, + 'adults' => 1, + 'queue' => true + ]); + Class_SessionActivity::find(22) + ->addSessionActivityInscription($inscription1) + ->addSessionActivityInscription($inscription2) + ->save(); } -- GitLab