From a034be1ca43c52da6a20d121bf44d2022d496a50 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Metivier <jean-philippe.metivier@unicaen.fr> Date: Tue, 3 Dec 2024 08:21:19 +0100 Subject: [PATCH] Modification du comportement du bouton 'changer etat' --- .../Controller/SessionController.php | 56 ++++++++++--------- .../Controller/SessionControllerFactory.php | 4 ++ .../view/formation/session/changer-etat.phtml | 13 +++++ readme.md | 4 ++ 4 files changed, 52 insertions(+), 25 deletions(-) diff --git a/module/Formation/src/Formation/Controller/SessionController.php b/module/Formation/src/Formation/Controller/SessionController.php index f5dd4134..54318226 100644 --- a/module/Formation/src/Formation/Controller/SessionController.php +++ b/module/Formation/src/Formation/Controller/SessionController.php @@ -28,6 +28,7 @@ use UnicaenApp\View\Model\CsvModel; use UnicaenEnquete\Service\Enquete\EnqueteServiceAwareTrait; use UnicaenEnquete\Service\Resultat\ResultatServiceAwareTrait; use UnicaenEtat\Service\EtatCategorie\EtatCategorieServiceAwareTrait; +use UnicaenEtat\Service\EtatInstance\EtatInstanceServiceAwareTrait; use UnicaenEtat\Service\EtatType\EtatTypeServiceAwareTrait; use UnicaenMail\Service\Mail\MailServiceAwareTrait; use UnicaenParametre\Service\Parametre\ParametreServiceAwareTrait; @@ -38,6 +39,7 @@ class SessionController extends AbstractActionController { use EnqueteServiceAwareTrait; use EtatCategorieServiceAwareTrait; + use EtatInstanceServiceAwareTrait; use EtatTypeServiceAwareTrait; use FormateurServiceAwareTrait; use FormationServiceAwareTrait; @@ -422,31 +424,35 @@ class SessionController extends AbstractActionController $data = $request->getPost(); $etat = $this->getEtatTypeService()->getEtatType($data['etat']); - switch ($etat->getCode()) { - case SessionEtats::ETAT_CREATION_EN_COURS : - $this->getSessionService()->recreation($session); - exit(); - case SessionEtats::ETAT_INSCRIPTION_OUVERTE : - $this->getSessionService()->ouvrirInscription($session); - exit(); - case SessionEtats::ETAT_INSCRIPTION_FERMEE : - $this->getSessionService()->fermerInscription($session); - exit(); - case SessionEtats::ETAT_FORMATION_CONVOCATION : - $this->getSessionService()->envoyerConvocation($session); - $this->getSessionService()->envoyerEmargement($session); - exit(); - case SessionEtats::ETAT_ATTENTE_RETOURS : - $this->getSessionService()->demanderRetour($session); - exit(); - case SessionEtats::ETAT_CLOTURE_INSTANCE : - $this->getSessionService()->cloturer($session); - exit(); - case SessionEtats::ETAT_SESSION_ANNULEE : - $this->getSessionService()->annuler($session); - exit(); - default : - } + $this->getEtatInstanceService()->setEtatActif($session, $etat->getCode()); + $this->getSessionService()->update($session); + + //Les gestions n'utilise pas le bouton correctement ... +// switch ($etat->getCode()) { +// case SessionEtats::ETAT_CREATION_EN_COURS : +// $this->getSessionService()->recreation($session); +// exit(); +// case SessionEtats::ETAT_INSCRIPTION_OUVERTE : +// $this->getSessionService()->ouvrirInscription($session); +// exit(); +// case SessionEtats::ETAT_INSCRIPTION_FERMEE : +// $this->getSessionService()->fermerInscription($session); +// exit(); +// case SessionEtats::ETAT_FORMATION_CONVOCATION : +// $this->getSessionService()->envoyerConvocation($session); +// $this->getSessionService()->envoyerEmargement($session); +// exit(); +// case SessionEtats::ETAT_ATTENTE_RETOURS : +// $this->getSessionService()->demanderRetour($session); +// exit(); +// case SessionEtats::ETAT_CLOTURE_INSTANCE : +// $this->getSessionService()->cloturer($session); +// exit(); +// case SessionEtats::ETAT_SESSION_ANNULEE : +// $this->getSessionService()->annuler($session); +// exit(); +// default : +// } exit(); } diff --git a/module/Formation/src/Formation/Controller/SessionControllerFactory.php b/module/Formation/src/Formation/Controller/SessionControllerFactory.php index af2f710c..4473141c 100644 --- a/module/Formation/src/Formation/Controller/SessionControllerFactory.php +++ b/module/Formation/src/Formation/Controller/SessionControllerFactory.php @@ -19,6 +19,7 @@ use Psr\Container\NotFoundExceptionInterface; use UnicaenEnquete\Service\Enquete\EnqueteService; use UnicaenEnquete\Service\Resultat\ResultatService; use UnicaenEtat\Service\EtatCategorie\EtatCategorieService; +use UnicaenEtat\Service\EtatInstance\EtatInstanceService; use UnicaenEtat\Service\EtatType\EtatTypeService; use UnicaenMail\Service\Mail\MailService; use UnicaenParametre\Service\Parametre\ParametreService; @@ -36,6 +37,7 @@ class SessionControllerFactory /** * @var EnqueteService $enqueteService * @var EtatCategorieService $etatCategorieService + * @var EtatInstanceService $etatInstanceService * @var EtatTypeService $etatTypeService * @var FormateurService $formateurService * @var FormationService $formationService @@ -50,6 +52,7 @@ class SessionControllerFactory */ $enqueteService = $container->get(EnqueteService::class); $etatCategorieService = $container->get(EtatCategorieService::class); + $etatInstanceService = $container->get(EtatInstanceService::class); $etatTypeService = $container->get(EtatTypeService::class); $formateurService = $container->get(FormateurService::class); $formationService = $container->get(FormationService::class); @@ -77,6 +80,7 @@ class SessionControllerFactory $controller = new SessionController(); $controller->setEnqueteService($enqueteService); $controller->setEtatCategorieService($etatCategorieService); + $controller->setEtatInstanceService($etatInstanceService); $controller->setEtatTypeService($etatTypeService); $controller->setFormateurService($formateurService); $controller->setFormationService($formationService); diff --git a/module/Formation/view/formation/session/changer-etat.phtml b/module/Formation/view/formation/session/changer-etat.phtml index be3fb7a2..1aacac94 100644 --- a/module/Formation/view/formation/session/changer-etat.phtml +++ b/module/Formation/view/formation/session/changer-etat.phtml @@ -11,6 +11,19 @@ use UnicaenEtat\Entity\Db\EtatType; ?> +<div class="alert alert-warning"> + <p> + <strong> + <span class="icon icon-attention"></span> + Cette action ne fait que de modifier l'état associé à la session. + </strong> + </p> + <p> + Elle ne provoque aucun envoi de mail ou traitement. + Pour réaliser cela, veuillez utiliser les boutons associés aux différentes étapes du cycle de vie d'une session. + </p> +</div> + <div class="alert alert-info"> La session de formation <strong><?php echo $session->getFormation()->getLibelle(); ?></strong> (<?php echo $session->getPeriode(); ?>) est actuellement à l'état diff --git a/readme.md b/readme.md index 7ab5dbe1..d5852e71 100644 --- a/readme.md +++ b/readme.md @@ -3,3 +3,7 @@ - [Indicateurs](documentation/docs/indicateurs.md) - [Template](documentation/docs/renderer.md) +# Changements + +## 1.0.5 (XX/XX/XX) + -- GitLab