Commit 5d8fa7b7 authored by Thomas Hamel's avatar Thomas Hamel
Browse files

petites modifications gestion état presoutenance

parent 3ae17d80
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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";
}
?>

+31 −26
Original line number Diff line number Diff line
@@ -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">
@@ -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";
@@ -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) {
@@ -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) {
@@ -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.
@@ -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
@@ -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 --------------------------------------------------------------------------------->
@@ -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">
@@ -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() */ ?>
@@ -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>
@@ -473,7 +478,7 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr
            'proposition' => $proposition,
            'urlFichier' => $urlFichierThese,
            'typeProposition' => $typeProposition,
            'canGenererDocument' => $canGenererDocument,
            'canGenererDocument' => $canFeuVert,
            'tousLesAvisSontDefavorables' => $tousLesAvisSontDefavorables,
        ]
    ); ?>
@@ -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 {