Loading CHANGELOG.md +1 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ Journal des modifications - [FIX] Variable possiblement indéfinie dans le footer de la convention de mise en ligne de la thèse. - [FIX] Module Admission : plantage lors de la suppression complète d'un dossier. - [FIX] Admission (charte) : correction du texte à l'attention du candidat, des directions de thèse et des unités de recherche. - [FIX] Délibération finale pour une soutenance de thèse non importée : mauvaise méthode appelée. 12.0.0 ------ Loading module/HDR/src/HDR/Entity/Db/HDR.php +2 −2 Original line number Diff line number Diff line Loading @@ -66,11 +66,11 @@ class HDR implements HistoriqueAwareInterface, HasHorodatagesInterface, Resource public const RESULTAT_AJOURNE = 0; public const RESULTAT_ADMIS = 1; public static $resultatsLibellesLongs = [ public static array $resultatsLibellesLongs = [ self::RESULTAT_AJOURNE => "Ajourné", self::RESULTAT_ADMIS => "Admis", ]; public static $resultatsLibellesCourts = [ public static array $resultatsLibellesCourts = [ self::RESULTAT_AJOURNE => "AJ", self::RESULTAT_ADMIS => "ADM", ]; Loading module/Soutenance/src/Soutenance/Controller/PresoutenanceController.php +29 −20 Original line number Diff line number Diff line Loading @@ -424,30 +424,39 @@ abstract class PresoutenanceController extends AbstractSoutenanceController { $this->initializeFromType(false); $resultat = $this->params()->fromRoute('resultat'); $resultat = (int) $this->params()->fromRoute('resultat'); $estAdmis = $resultat === HDR::RESULTAT_ADMIS || $resultat === These::RESULTAT_ADMIS; $this->entity->setResultat($resultat); $this->entityService->update($this->entity); try { if ($this->entity instanceof These) { /** @var These $these */ $these = $this->entity; $this->entityService->updateResultat($these, $resultat); // try { // $notif = $this->soutenanceNotificationFactory->createNotificationFeuVertSoutenance($this->proposition); // $this->notifierService->trigger($notif); // } catch (\Notification\Exception\RuntimeException) { // // aucun destinataire, todo : cas à gérer ! // } // $this->flashMessenger() // //->setNamespace('presoutenance') // ->addSuccessMessage("Le candidat a été notifié de la délibération du jury."); $message = $this->entity instanceof These ? "La délibération a bien été prise en compte. <br> La thèse est passée à l'état soutenue." : "La délibération a bien été prise en compte. <br> La HDR est passée à l'état soutenue."; if((int)$resultat === HDR::RESULTAT_ADMIS || (int)$resultat === These::RESULTAT_ADMIS){ $this->horodatageService->addHorodatage($this->proposition, HorodatageService::TYPE_ETAT, "Délibération positive"); $this->flashMessenger()->addSuccessMessage($message); $message = sprintf( "La délibération a bien été prise en compte. <br> La thèse est passée à l'état '%s'.", These::$resultatsLibellesLongs[$resultat] ); } else { $this->horodatageService->addHorodatage($this->proposition, HorodatageService::TYPE_ETAT, "Délibération négative"); /** @var HDR $hdr */ $hdr = $this->entity; $hdr->setResultat($resultat); $this->entityService->update($hdr); $message = sprintf( "La délibération a bien été prise en compte. <br> L'HDR est passée à l'état '%s'.", HDR::$resultatsLibellesLongs[$resultat] ); } $this->horodatageService->addHorodatage($this->proposition, HorodatageService::TYPE_ETAT, "Délibération " . ($estAdmis ? "positive" : "negative")); $this->flashMessenger()->addSuccessMessage($message); } catch (Exception $e) { $message = "Une erreur est survenue pendant l'enregistrement de la délibération. " . $e->getMessage(); $this->flashMessenger()->addErrorMessage($message); error_log($message); } return $this->redirect()->toRoute("soutenance_{$this->type}/presoutenance", ['id' => $this->entity->getId()], [], true); } Loading module/Soutenance/view/soutenance/presoutenance-these/presoutenance.phtml +3 −3 Original line number Diff line number Diff line Loading @@ -485,9 +485,9 @@ $propositionEtatCode = $proposition->getEtat()->getCode(); ] ); ?> <!-- Délibération dans l'application, seulement si celle-ci a été saisie dans celle-ci --> <?php if ($these->getSource()->getImportable()): ?> <?php //Délibération dans l'application, seulement si celle-ci a été saisie dans celle-ci if(!$these->getSource()->getImportable()): $cssClass = null; if($propositionEtatCode === Etat::ETABLISSEMENT || $propositionEtatCode === Etat::COMPLET || $propositionEtatCode === Etat::REJETEE) { $bgcolor = "bg-dark"; Loading module/These/src/These/Entity/Db/These.php +2 −2 Original line number Diff line number Diff line Loading @@ -75,11 +75,11 @@ class These implements HistoriqueAwareInterface, ResourceInterface, SoutenanceTa public const RESULTAT_AJOURNE = 0; public const RESULTAT_ADMIS = 1; public static $resultatsLibellesLongs = [ public static array $resultatsLibellesLongs = [ self::RESULTAT_AJOURNE => "Ajourné", self::RESULTAT_ADMIS => "Admis", ]; public static $resultatsLibellesCourts = [ public static array $resultatsLibellesCourts = [ self::RESULTAT_AJOURNE => "AJ", self::RESULTAT_ADMIS => "ADM", ]; Loading Loading
CHANGELOG.md +1 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ Journal des modifications - [FIX] Variable possiblement indéfinie dans le footer de la convention de mise en ligne de la thèse. - [FIX] Module Admission : plantage lors de la suppression complète d'un dossier. - [FIX] Admission (charte) : correction du texte à l'attention du candidat, des directions de thèse et des unités de recherche. - [FIX] Délibération finale pour une soutenance de thèse non importée : mauvaise méthode appelée. 12.0.0 ------ Loading
module/HDR/src/HDR/Entity/Db/HDR.php +2 −2 Original line number Diff line number Diff line Loading @@ -66,11 +66,11 @@ class HDR implements HistoriqueAwareInterface, HasHorodatagesInterface, Resource public const RESULTAT_AJOURNE = 0; public const RESULTAT_ADMIS = 1; public static $resultatsLibellesLongs = [ public static array $resultatsLibellesLongs = [ self::RESULTAT_AJOURNE => "Ajourné", self::RESULTAT_ADMIS => "Admis", ]; public static $resultatsLibellesCourts = [ public static array $resultatsLibellesCourts = [ self::RESULTAT_AJOURNE => "AJ", self::RESULTAT_ADMIS => "ADM", ]; Loading
module/Soutenance/src/Soutenance/Controller/PresoutenanceController.php +29 −20 Original line number Diff line number Diff line Loading @@ -424,30 +424,39 @@ abstract class PresoutenanceController extends AbstractSoutenanceController { $this->initializeFromType(false); $resultat = $this->params()->fromRoute('resultat'); $resultat = (int) $this->params()->fromRoute('resultat'); $estAdmis = $resultat === HDR::RESULTAT_ADMIS || $resultat === These::RESULTAT_ADMIS; $this->entity->setResultat($resultat); $this->entityService->update($this->entity); try { if ($this->entity instanceof These) { /** @var These $these */ $these = $this->entity; $this->entityService->updateResultat($these, $resultat); // try { // $notif = $this->soutenanceNotificationFactory->createNotificationFeuVertSoutenance($this->proposition); // $this->notifierService->trigger($notif); // } catch (\Notification\Exception\RuntimeException) { // // aucun destinataire, todo : cas à gérer ! // } // $this->flashMessenger() // //->setNamespace('presoutenance') // ->addSuccessMessage("Le candidat a été notifié de la délibération du jury."); $message = $this->entity instanceof These ? "La délibération a bien été prise en compte. <br> La thèse est passée à l'état soutenue." : "La délibération a bien été prise en compte. <br> La HDR est passée à l'état soutenue."; if((int)$resultat === HDR::RESULTAT_ADMIS || (int)$resultat === These::RESULTAT_ADMIS){ $this->horodatageService->addHorodatage($this->proposition, HorodatageService::TYPE_ETAT, "Délibération positive"); $this->flashMessenger()->addSuccessMessage($message); $message = sprintf( "La délibération a bien été prise en compte. <br> La thèse est passée à l'état '%s'.", These::$resultatsLibellesLongs[$resultat] ); } else { $this->horodatageService->addHorodatage($this->proposition, HorodatageService::TYPE_ETAT, "Délibération négative"); /** @var HDR $hdr */ $hdr = $this->entity; $hdr->setResultat($resultat); $this->entityService->update($hdr); $message = sprintf( "La délibération a bien été prise en compte. <br> L'HDR est passée à l'état '%s'.", HDR::$resultatsLibellesLongs[$resultat] ); } $this->horodatageService->addHorodatage($this->proposition, HorodatageService::TYPE_ETAT, "Délibération " . ($estAdmis ? "positive" : "negative")); $this->flashMessenger()->addSuccessMessage($message); } catch (Exception $e) { $message = "Une erreur est survenue pendant l'enregistrement de la délibération. " . $e->getMessage(); $this->flashMessenger()->addErrorMessage($message); error_log($message); } return $this->redirect()->toRoute("soutenance_{$this->type}/presoutenance", ['id' => $this->entity->getId()], [], true); } Loading
module/Soutenance/view/soutenance/presoutenance-these/presoutenance.phtml +3 −3 Original line number Diff line number Diff line Loading @@ -485,9 +485,9 @@ $propositionEtatCode = $proposition->getEtat()->getCode(); ] ); ?> <!-- Délibération dans l'application, seulement si celle-ci a été saisie dans celle-ci --> <?php if ($these->getSource()->getImportable()): ?> <?php //Délibération dans l'application, seulement si celle-ci a été saisie dans celle-ci if(!$these->getSource()->getImportable()): $cssClass = null; if($propositionEtatCode === Etat::ETABLISSEMENT || $propositionEtatCode === Etat::COMPLET || $propositionEtatCode === Etat::REJETEE) { $bgcolor = "bg-dark"; Loading
module/These/src/These/Entity/Db/These.php +2 −2 Original line number Diff line number Diff line Loading @@ -75,11 +75,11 @@ class These implements HistoriqueAwareInterface, ResourceInterface, SoutenanceTa public const RESULTAT_AJOURNE = 0; public const RESULTAT_ADMIS = 1; public static $resultatsLibellesLongs = [ public static array $resultatsLibellesLongs = [ self::RESULTAT_AJOURNE => "Ajourné", self::RESULTAT_ADMIS => "Admis", ]; public static $resultatsLibellesCourts = [ public static array $resultatsLibellesCourts = [ self::RESULTAT_AJOURNE => "AJ", self::RESULTAT_ADMIS => "ADM", ]; Loading