Loading module/Soutenance/view/soutenance/presoutenance-these/partial/avis-direction-ed.phtml +3 −1 Original line number Diff line number Diff line Loading @@ -26,12 +26,14 @@ $canSupprimer = false; $ajaxModalEvent = 'modification-avis-ed'; $bgcolor = "bg-secondary"; $bgcolor = "bg-danger"; $cssClass = ""; if ($proposition->getEtat()->getCode() === Etat::VALIDEE || $proposition->getEtat()->getCode() === Etat::REJETEE) { $bgcolor = "bg-dark"; } elseif ($proposition->getEtat()->getCode() === Etat::EN_COURS_EXAMEN_ADMIN) { $cssClass = "etape-encore-non-disponible"; } elseif ($avisEd?->getId() !== null) { $bgcolor = "bg-success"; } ?> Loading module/Soutenance/view/soutenance/presoutenance-these/presoutenance.phtml +31 −26 Original line number Diff line number Diff line Loading @@ -78,7 +78,7 @@ foreach($rapporteurs as $rapporteur) { $this->headTitle()->prepend('Préparation de soutenance')->prepend($these->getDoctorant()->getIndividu()->getNomPatronymique()); $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(PresoutenancePrivileges::PRESOUTENANCE_SIMULER_REMONTEES)); $propositionEtatCode = $proposition->getEtat()->getCode(); ?> <h1 class="page-header"> Loading Loading @@ -168,7 +168,7 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr </div> <div class="col-lg-6"> <?php if($proposition->getEtat()->getCode() === Etat::VALIDEE || $proposition->getEtat()->getCode() === Etat::REJETEE){ if($propositionEtatCode === Etat::VALIDEE || $propositionEtatCode === Etat::REJETEE){ $bgcolor = "bg-dark"; }else{ $bgcolor = $proposition->getAdresseActive() ? $bgcolor = "bg-success" : $bgcolor = "bg-danger"; Loading Loading @@ -202,7 +202,7 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr <?php $tousLesEngagements = !empty($engagements) && count($rapporteurs) === count($engagements) ; $cssClass = ""; if($proposition->getEtat()->getCode() === Etat::VALIDEE || $proposition->getEtat()->getCode() === Etat::REJETEE){ if($propositionEtatCode === Etat::VALIDEE || $propositionEtatCode === Etat::REJETEE){ $bgcolor = "bg-dark"; }else { if (current($validationPDC) !== null && current($validationPDC) !== false) { Loading Loading @@ -264,7 +264,7 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr $cssClass = ""; $tousLesAvisSontFavorables = count(array_filter($avis, fn($avis) => $avis->getAvis() === 'Favorable' && $avis->estNonHistorise())) === count($acteursRapporteurs); $tousLesAvisSontDefavorables = count(array_filter($avis, fn($avis) => $avis->getAvis() === 'Défavorable' && $avis->estNonHistorise())) === count($acteursRapporteurs); if($proposition->getEtat()->getCode() === Etat::VALIDEE || $proposition->getEtat()->getCode() === Etat::REJETEE){ if($propositionEtatCode === Etat::VALIDEE || $propositionEtatCode === Etat::REJETEE){ $bgcolor = "bg-dark"; }else{ if (!$tousLesAvis) { Loading Loading @@ -294,7 +294,7 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr <h2>Complétion du dossier</h2> </div> <div class="card-body <?= $cssClass; ?>"> <?php if ($proposition->getEtat()->getCode() === Etat::EN_COURS_EXAMEN_ADMIN) : ?> <?php if ($propositionEtatCode === Etat::EN_COURS_EXAMEN_ADMIN) : ?> <p class="lead"> Pour permettre de faire avancer le dossier, veuillez vérifier que les rapports de pré-soutenance sont valides. Loading Loading @@ -325,18 +325,18 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr </a> <?php endif; ?> <?php endif; ?> <?php //elseif ($proposition->getEtat()->getCode() === Etat::EN_COURS_EXAMEN): ?> <?php //elseif ($propositionEtatCode === Etat::EN_COURS_EXAMEN): ?> <!-- <p class="lead">--> <!-- La direction de l'établissement n'a pas encore validé la proposition de soutenance--> <!-- </p>--> <?php endif; ?> <?php if ($proposition->getEtat()->getCode() === Etat::COMPLET || $proposition->getEtat()->getCode() === Etat::ETABLISSEMENT || $proposition->getEtat()->getCode() === Etat::VALIDEE) : ?> <?php if ($propositionEtatCode === Etat::COMPLET || $propositionEtatCode === Etat::ETABLISSEMENT || $propositionEtatCode === Etat::VALIDEE) : ?> <span class="badge bg-success text-white" style="margin-left: 1rem !important; font-size: unset;"> <span class="icon icon-checked"></span> Dossier complet </span> <?php elseif ($proposition->getEtat()->getCode() === Etat::REJETEE): ?> <?php elseif ($propositionEtatCode === Etat::REJETEE): ?> <span class="badge bg-danger text-white" style="margin-left: 1rem !important; font-size: unset;"> <span class="icon icon-checked"></span> Dossier incomplet Loading @@ -346,7 +346,7 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr <?php echo $this->horodatagesParType($proposition, HorodatageService::TYPE_ETAT, "Dossier complet"); ?> </div> </div> <?php //endif; ?> <!-- --><?php //endif; ?> <!-- Avis de la direction de l'ED ---------------------------------------------------------------------------------> Loading @@ -367,34 +367,39 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr <?php endif; ?> <!-- Feu vert -----------------------------------------------------------------------------------------------------> <!-- Validation finale de la proposition de soutenance ---------------------------------------------------------------------------> <?php $bgcolor = "bg-danger"; $cssClass = ""; // Étape non disponible $etapeNonDisponible = (!$featureAvisEdEnabled && $propositionEtatCode !== Etat::COMPLET) || ($featureAvisEdEnabled && $propositionEtatCode !== Etat::ETABLISSEMENT); if ($propositionEtatCode === Etat::VALIDEE) { $bgcolor = "bg-success"; }elseif ($propositionEtatCode === Etat::REJETEE) { $bgcolor = "bg-danger"; if ($proposition->getEtat()->getCode() !== Etat::ETABLISSEMENT && $featureAvisEdEnabled) { }elseif ($etapeNonDisponible) { $bgcolor = "bg-dark"; $cssClass = "etape-encore-non-disponible"; } elseif ($proposition->getEtat()->getCode() === Etat::VALIDEE) { $bgcolor = "bg-success"; } $bgcolor = $tousLesAvisSontDefavorables ? "bg-danger" : $bgcolor; $cssClass = $tousLesAvisSontDefavorables ? "" : $cssClass; // NB : la présidence de l'établissement peut passer outre les avis défavorables donc // laisser la possibilité de générer l'avis de soutenance dans le cas où tous les avis sont défavorables $canGenererAvisSoutenance = false; $messageGenererAvisSoutenance = null; if (($proposition->getEtat()->getCode() === Etat::COMPLET || $proposition->getEtat()->getCode() === Etat::ETABLISSEMENT) && $tousLesAvisSontDefavorables) { if (($propositionEtatCode === Etat::COMPLET || $propositionEtatCode === Etat::ETABLISSEMENT) && $tousLesAvisSontDefavorables) { $canGenererAvisSoutenance = true; $messageGenererAvisSoutenance = "Vous avez la possibilité de générer l'avis de soutenance dans le cas où la présidence de l'établissement veut passer outre tous les avis défavorables."; } if (($proposition->getEtat()->getCode() === Etat::COMPLET && !$featureAvisEdEnabled) || $proposition->getEtat()->getCode() === Etat::ETABLISSEMENT) { if (($propositionEtatCode === Etat::COMPLET && !$featureAvisEdEnabled) || $propositionEtatCode === Etat::ETABLISSEMENT) { $canGenererAvisSoutenance = true; } $canFeuVert = ($justificatifsOk === true AND $this->isAllowed($these, PresoutenancePrivileges::PRESOUTENANCE_DONNER_FEU_VERT)); $canGenererDocument = $canFeuVert; ?> <div class="box card"> Loading Loading @@ -427,9 +432,9 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr <?php endif; ?> <?php if ($canFeuVert) : ?> <?php if ($proposition->getEtat()->getCode() === Etat::ETABLISSEMENT || ($proposition->getEtat()->getCode() === Etat::COMPLET && !$featureAvisEdEnabled) || ($tousLesAvisSontDefavorables && !($proposition->getEtat()->getCode() === Etat::VALIDEE || $proposition->getEtat()->getCode() === Etat::REJETEE))) :?> <?php if ($propositionEtatCode === Etat::ETABLISSEMENT || ($propositionEtatCode === Etat::COMPLET && !$featureAvisEdEnabled) || ($tousLesAvisSontDefavorables && !($propositionEtatCode === Etat::VALIDEE || $propositionEtatCode === Etat::REJETEE))) :?> <?php /** @see PresoutenanceController::presoutenanceAction() */ ?> <?php $redirect = urlencode($this->url("soutenance_{$typeProposition}/presoutenance", ['id' => $these->getId()], [], true) . '#feu-vert'); ?> <?php /** @see \Soutenance\Controller\PresoutenanceController::feuVertAction() */ ?> Loading Loading @@ -457,10 +462,10 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr [HorodatageService::TYPE_ETAT, "Feu vert pour la soutenance"], ]); ?> <?php if ($proposition->getEtat()->getCode() === Etat::VALIDEE) : ?> <?php if ($propositionEtatCode === Etat::VALIDEE) : ?> <div class="bg-success text-white" style="padding-left:1rem; font-size: x-large; "> Soutenance autorisée </div> <?php endif; ?> <?php if ($proposition->getEtat()->getCode() === Etat::REJETEE) : ?> <?php if ($propositionEtatCode === Etat::REJETEE) : ?> <div class="bg-danger text-white" style="padding-left:1rem; font-size: x-large; "> Soutenance rejetée </div> <?php endif; ?> </div> Loading @@ -473,7 +478,7 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr 'proposition' => $proposition, 'urlFichier' => $urlFichierThese, 'typeProposition' => $typeProposition, 'canGenererDocument' => $canGenererDocument, 'canGenererDocument' => $canFeuVert, 'tousLesAvisSontDefavorables' => $tousLesAvisSontDefavorables, ] ); ?> Loading @@ -482,7 +487,7 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr //Délibération dans l'application, seulement si celle-ci a été saisie dans celle-ci if(!$these->getSource()->getImportable()): $cssClass = null; if($proposition->getEtat()->getCode() === Etat::ETABLISSEMENT || $proposition->getEtat()->getCode() === Etat::COMPLET || $proposition->getEtat()->getCode() === Etat::REJETEE) { if($propositionEtatCode === Etat::ETABLISSEMENT || $propositionEtatCode === Etat::COMPLET || $propositionEtatCode === Etat::REJETEE) { $bgcolor = "bg-dark"; $cssClass = "etape-encore-non-disponible"; }else { Loading Loading
module/Soutenance/view/soutenance/presoutenance-these/partial/avis-direction-ed.phtml +3 −1 Original line number Diff line number Diff line Loading @@ -26,12 +26,14 @@ $canSupprimer = false; $ajaxModalEvent = 'modification-avis-ed'; $bgcolor = "bg-secondary"; $bgcolor = "bg-danger"; $cssClass = ""; if ($proposition->getEtat()->getCode() === Etat::VALIDEE || $proposition->getEtat()->getCode() === Etat::REJETEE) { $bgcolor = "bg-dark"; } elseif ($proposition->getEtat()->getCode() === Etat::EN_COURS_EXAMEN_ADMIN) { $cssClass = "etape-encore-non-disponible"; } elseif ($avisEd?->getId() !== null) { $bgcolor = "bg-success"; } ?> Loading
module/Soutenance/view/soutenance/presoutenance-these/presoutenance.phtml +31 −26 Original line number Diff line number Diff line Loading @@ -78,7 +78,7 @@ foreach($rapporteurs as $rapporteur) { $this->headTitle()->prepend('Préparation de soutenance')->prepend($these->getDoctorant()->getIndividu()->getNomPatronymique()); $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(PresoutenancePrivileges::PRESOUTENANCE_SIMULER_REMONTEES)); $propositionEtatCode = $proposition->getEtat()->getCode(); ?> <h1 class="page-header"> Loading Loading @@ -168,7 +168,7 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr </div> <div class="col-lg-6"> <?php if($proposition->getEtat()->getCode() === Etat::VALIDEE || $proposition->getEtat()->getCode() === Etat::REJETEE){ if($propositionEtatCode === Etat::VALIDEE || $propositionEtatCode === Etat::REJETEE){ $bgcolor = "bg-dark"; }else{ $bgcolor = $proposition->getAdresseActive() ? $bgcolor = "bg-success" : $bgcolor = "bg-danger"; Loading Loading @@ -202,7 +202,7 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr <?php $tousLesEngagements = !empty($engagements) && count($rapporteurs) === count($engagements) ; $cssClass = ""; if($proposition->getEtat()->getCode() === Etat::VALIDEE || $proposition->getEtat()->getCode() === Etat::REJETEE){ if($propositionEtatCode === Etat::VALIDEE || $propositionEtatCode === Etat::REJETEE){ $bgcolor = "bg-dark"; }else { if (current($validationPDC) !== null && current($validationPDC) !== false) { Loading Loading @@ -264,7 +264,7 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr $cssClass = ""; $tousLesAvisSontFavorables = count(array_filter($avis, fn($avis) => $avis->getAvis() === 'Favorable' && $avis->estNonHistorise())) === count($acteursRapporteurs); $tousLesAvisSontDefavorables = count(array_filter($avis, fn($avis) => $avis->getAvis() === 'Défavorable' && $avis->estNonHistorise())) === count($acteursRapporteurs); if($proposition->getEtat()->getCode() === Etat::VALIDEE || $proposition->getEtat()->getCode() === Etat::REJETEE){ if($propositionEtatCode === Etat::VALIDEE || $propositionEtatCode === Etat::REJETEE){ $bgcolor = "bg-dark"; }else{ if (!$tousLesAvis) { Loading Loading @@ -294,7 +294,7 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr <h2>Complétion du dossier</h2> </div> <div class="card-body <?= $cssClass; ?>"> <?php if ($proposition->getEtat()->getCode() === Etat::EN_COURS_EXAMEN_ADMIN) : ?> <?php if ($propositionEtatCode === Etat::EN_COURS_EXAMEN_ADMIN) : ?> <p class="lead"> Pour permettre de faire avancer le dossier, veuillez vérifier que les rapports de pré-soutenance sont valides. Loading Loading @@ -325,18 +325,18 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr </a> <?php endif; ?> <?php endif; ?> <?php //elseif ($proposition->getEtat()->getCode() === Etat::EN_COURS_EXAMEN): ?> <?php //elseif ($propositionEtatCode === Etat::EN_COURS_EXAMEN): ?> <!-- <p class="lead">--> <!-- La direction de l'établissement n'a pas encore validé la proposition de soutenance--> <!-- </p>--> <?php endif; ?> <?php if ($proposition->getEtat()->getCode() === Etat::COMPLET || $proposition->getEtat()->getCode() === Etat::ETABLISSEMENT || $proposition->getEtat()->getCode() === Etat::VALIDEE) : ?> <?php if ($propositionEtatCode === Etat::COMPLET || $propositionEtatCode === Etat::ETABLISSEMENT || $propositionEtatCode === Etat::VALIDEE) : ?> <span class="badge bg-success text-white" style="margin-left: 1rem !important; font-size: unset;"> <span class="icon icon-checked"></span> Dossier complet </span> <?php elseif ($proposition->getEtat()->getCode() === Etat::REJETEE): ?> <?php elseif ($propositionEtatCode === Etat::REJETEE): ?> <span class="badge bg-danger text-white" style="margin-left: 1rem !important; font-size: unset;"> <span class="icon icon-checked"></span> Dossier incomplet Loading @@ -346,7 +346,7 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr <?php echo $this->horodatagesParType($proposition, HorodatageService::TYPE_ETAT, "Dossier complet"); ?> </div> </div> <?php //endif; ?> <!-- --><?php //endif; ?> <!-- Avis de la direction de l'ED ---------------------------------------------------------------------------------> Loading @@ -367,34 +367,39 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr <?php endif; ?> <!-- Feu vert -----------------------------------------------------------------------------------------------------> <!-- Validation finale de la proposition de soutenance ---------------------------------------------------------------------------> <?php $bgcolor = "bg-danger"; $cssClass = ""; // Étape non disponible $etapeNonDisponible = (!$featureAvisEdEnabled && $propositionEtatCode !== Etat::COMPLET) || ($featureAvisEdEnabled && $propositionEtatCode !== Etat::ETABLISSEMENT); if ($propositionEtatCode === Etat::VALIDEE) { $bgcolor = "bg-success"; }elseif ($propositionEtatCode === Etat::REJETEE) { $bgcolor = "bg-danger"; if ($proposition->getEtat()->getCode() !== Etat::ETABLISSEMENT && $featureAvisEdEnabled) { }elseif ($etapeNonDisponible) { $bgcolor = "bg-dark"; $cssClass = "etape-encore-non-disponible"; } elseif ($proposition->getEtat()->getCode() === Etat::VALIDEE) { $bgcolor = "bg-success"; } $bgcolor = $tousLesAvisSontDefavorables ? "bg-danger" : $bgcolor; $cssClass = $tousLesAvisSontDefavorables ? "" : $cssClass; // NB : la présidence de l'établissement peut passer outre les avis défavorables donc // laisser la possibilité de générer l'avis de soutenance dans le cas où tous les avis sont défavorables $canGenererAvisSoutenance = false; $messageGenererAvisSoutenance = null; if (($proposition->getEtat()->getCode() === Etat::COMPLET || $proposition->getEtat()->getCode() === Etat::ETABLISSEMENT) && $tousLesAvisSontDefavorables) { if (($propositionEtatCode === Etat::COMPLET || $propositionEtatCode === Etat::ETABLISSEMENT) && $tousLesAvisSontDefavorables) { $canGenererAvisSoutenance = true; $messageGenererAvisSoutenance = "Vous avez la possibilité de générer l'avis de soutenance dans le cas où la présidence de l'établissement veut passer outre tous les avis défavorables."; } if (($proposition->getEtat()->getCode() === Etat::COMPLET && !$featureAvisEdEnabled) || $proposition->getEtat()->getCode() === Etat::ETABLISSEMENT) { if (($propositionEtatCode === Etat::COMPLET && !$featureAvisEdEnabled) || $propositionEtatCode === Etat::ETABLISSEMENT) { $canGenererAvisSoutenance = true; } $canFeuVert = ($justificatifsOk === true AND $this->isAllowed($these, PresoutenancePrivileges::PRESOUTENANCE_DONNER_FEU_VERT)); $canGenererDocument = $canFeuVert; ?> <div class="box card"> Loading Loading @@ -427,9 +432,9 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr <?php endif; ?> <?php if ($canFeuVert) : ?> <?php if ($proposition->getEtat()->getCode() === Etat::ETABLISSEMENT || ($proposition->getEtat()->getCode() === Etat::COMPLET && !$featureAvisEdEnabled) || ($tousLesAvisSontDefavorables && !($proposition->getEtat()->getCode() === Etat::VALIDEE || $proposition->getEtat()->getCode() === Etat::REJETEE))) :?> <?php if ($propositionEtatCode === Etat::ETABLISSEMENT || ($propositionEtatCode === Etat::COMPLET && !$featureAvisEdEnabled) || ($tousLesAvisSontDefavorables && !($propositionEtatCode === Etat::VALIDEE || $propositionEtatCode === Etat::REJETEE))) :?> <?php /** @see PresoutenanceController::presoutenanceAction() */ ?> <?php $redirect = urlencode($this->url("soutenance_{$typeProposition}/presoutenance", ['id' => $these->getId()], [], true) . '#feu-vert'); ?> <?php /** @see \Soutenance\Controller\PresoutenanceController::feuVertAction() */ ?> Loading Loading @@ -457,10 +462,10 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr [HorodatageService::TYPE_ETAT, "Feu vert pour la soutenance"], ]); ?> <?php if ($proposition->getEtat()->getCode() === Etat::VALIDEE) : ?> <?php if ($propositionEtatCode === Etat::VALIDEE) : ?> <div class="bg-success text-white" style="padding-left:1rem; font-size: x-large; "> Soutenance autorisée </div> <?php endif; ?> <?php if ($proposition->getEtat()->getCode() === Etat::REJETEE) : ?> <?php if ($propositionEtatCode === Etat::REJETEE) : ?> <div class="bg-danger text-white" style="padding-left:1rem; font-size: x-large; "> Soutenance rejetée </div> <?php endif; ?> </div> Loading @@ -473,7 +478,7 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr 'proposition' => $proposition, 'urlFichier' => $urlFichierThese, 'typeProposition' => $typeProposition, 'canGenererDocument' => $canGenererDocument, 'canGenererDocument' => $canFeuVert, 'tousLesAvisSontDefavorables' => $tousLesAvisSontDefavorables, ] ); ?> Loading @@ -482,7 +487,7 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr //Délibération dans l'application, seulement si celle-ci a été saisie dans celle-ci if(!$these->getSource()->getImportable()): $cssClass = null; if($proposition->getEtat()->getCode() === Etat::ETABLISSEMENT || $proposition->getEtat()->getCode() === Etat::COMPLET || $proposition->getEtat()->getCode() === Etat::REJETEE) { if($propositionEtatCode === Etat::ETABLISSEMENT || $propositionEtatCode === Etat::COMPLET || $propositionEtatCode === Etat::REJETEE) { $bgcolor = "bg-dark"; $cssClass = "etape-encore-non-disponible"; }else { Loading