Commit 9e6be249 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Formation : Ajout d'un interval pour la date butoir dans la Session et...

Formation : Ajout d'un interval pour la date butoir dans la Session et affichage sur l'index du doctorant
parent 3e5bc2cd
Loading
Loading
Loading
Loading
+1 −0
Changes for CHANGELOG.md: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ Journal des modifications
- Masquage des membres du CSI et de leurs saisies
- Formation : Amélioration de l'affichage de la liste des inscrits (état de la session, état de la saisie de l'enquête)
- Formation : La génération du pdf d'attestion est maintenant bloquée si l'enquête est non saisie
- Formation : Ajout d'un interval pour la date butoir dans la Session et affichage sur l'index du doctorant

5.2.8
-----
+2 −0
Changes for module/Formation/src/Formation/Entity/Db/Session.php: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -38,6 +38,8 @@ class Session implements HistoriqueAwareInterface,
        self::ETAT_CLOS_FINAL => self::ETAT_CLOS_FINAL,
    ];

    const INTERVAL_ENQUETE = 'P1M';

    private int $id;
    private ?int $index = null;
    private ?Formation $formation = null;
+26 −8
Changes for module/Formation/view/formation/index/index-doctorant.phtml: 26 added lines, 8 removed lines.
Original line number Diff line number Diff line
@@ -42,8 +42,9 @@ $canSupprimerInscription = $this->isAllowed(InscriptionPrivileges::getResourceId
$canConvocationInscription = $this->isAllowed(InscriptionPrivileges::getResourceId(InscriptionPrivileges::INSCRIPTION_CONVOCATION));
$canRepondreEnquete = $this->isAllowed(EnquetePrivileges::getResourceId(EnquetePrivileges::ENQUETE_REPONSE_REPONDRE));
$canAttestationInscription = $this->isAllowed(InscriptionPrivileges::getResourceId(InscriptionPrivileges::INSCRIPTION_ATTESTATION));

$canCatalogueAfficher = $this->isAllowed(ModulePrivileges::getResourceId(ModulePrivileges::MODULE_CATALOGUE));

$now = new DateTime();
?>

<h1 class="page-header">
@@ -429,18 +430,35 @@ $canCatalogueAfficher = $this->isAllowed(ModulePrivileges::getResourceId(ModuleP
                        <br/>
                        <?php if ($inscription->computeDureePresence() > 0) : ?>
                            <?php if ($canRepondreEnquete AND $inscription->getValidationEnquete() === null) : ?>
                                <?php
                                    $dateFin = $inscription->getSession()->getDateFin();
                                    $dateButoir = $dateFin->add(new DateInterval(Session::INTERVAL_ENQUETE));
                                ?>
                                <?php if ($now <= $dateButoir) : ?>
                                    <?php /** @see \Formation\Controller\EnqueteQuestionController::repondreQuestionsAction() */?>
                                <a href="<?php echo $this->url('formation/enquete/repondre-questions', ['inscription' => $inscription->getId()], [], true); ?>">
                            <span class="icon icon-edit"
                                  title="Compléter l'enquête" data-bs-toggle="tooltip" data-bs-html="true"
                            ></span>Compléter l'enquête</a><br/>
                                    <a href="<?php echo $this->url('formation/enquete/repondre-questions', ['inscription' => $inscription->getId()], [], true); ?>"
                                       title="Compléter l'enquête (date butoir: <?php echo $dateButoir->format('d/m/Y'); ?>)" data-bs-toggle="tooltip" data-bs-html="true"
                                    >
                                        <span class="icon icon-edit"></span>
                                        Compléter l'enquête
                                    </a>
                                    <br/>
                                    <?php /** @see \Formation\Controller\EnqueteQuestionController::validerQuestionsAction() */?>
                                    <a href="<?php echo $this->url('formation/enquete/valider-questions', ['inscription' => $inscription->getId()], [], true); ?>"
                                       class="ajax-modal" data-event="modification"
                                       title="Valider l'enquête (date butoir: <?php echo $dateButoir->format('d/m/Y'); ?>)" data-bs-toggle="tooltip" data-bs-html="true"
                                    >
                            <span class="icon icon-checked"
                                  title="Valider l'enquête" data-bs-toggle="tooltip" data-bs-html="true"
                            ></span>Valider l'enquête</a>
                                        <span class="icon icon-checked"></span>
                                        Valider l'enquête
                                    </a>
                                <?php else : ?>
                                    <span class="text-danger"
                                          title="Impossible de valider l'enquête après la date butoir (date butoir: <?php echo $dateButoir->format('d/m/Y'); ?>)" data-bs-toggle="tooltip" data-bs-html="true"
                                    >
                                        <span class="icon icon-unchecked"></span>
                                        Date butoir dépassée
                                    </span>
                                <?php endif; ?>
                            <?php endif; ?>
                            <?php if ($inscription->getValidationEnquete() !== null AND $canAttestationInscription) : ?>
                                <?php /** @see \Formation\Controller\InscriptionController::genererAttestationAction() */?>
+5 −4
Changes for module/Formation/view/formation/inscription/recherche/index.phtml: 5 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ use DateInterval;
use DateTime;
use Formation\Entity\Db\Etat;
use Formation\Entity\Db\Inscription;
use Formation\Entity\Db\Session;
use Formation\Provider\Privilege\InscriptionPrivileges;
use Formation\Provider\Privilege\SessionPrivileges;
use Laminas\Paginator\Paginator as LaminasPaginator;
@@ -65,7 +66,7 @@ $now = new DateTime();
            <?php
                $session = $inscription->getSession();
                $individu = $inscription->getDoctorant()->getIndividu();
                $dateButoir = $session->getDateFin()->add(new DateInterval('P1M'));
                $dateButoir = $session->getDateFin()->add(new DateInterval(Session::INTERVAL_ENQUETE));
            ?>
            <tr>
                <td> <?php echo $inscription->getId(); ?> </td>
@@ -86,12 +87,12 @@ $now = new DateTime();
                    </span>
                    <?php if ($session->getEtat()->getCode() === Etat::CODE_CLOTURER) : ?>
                        <?php if ($inscription->getValidationEnquete()) : ?>
                            <span class="icon icon-checked text-success" title="<?echo $inscription->getValidationEnquete()->format('d/m/Y'); ?>"></span>
                            <span class="icon icon-checked text-success" title="Enquête validée le <?php echo $inscription->getValidationEnquete()->format('d/m/Y'); ?>"></span>
                        <?php else : ?>
                            <?php if ($now < $dateButoir) : ?>
                                <span class="icon icon-wait text-info" title="Enquète non validée (date butoir: <?php echo $dateButoir->format('d/m/Y'); ?>)"></span>
                                <span class="icon icon-wait text-info" title="Enquête non validée (date butoir: <?php echo $dateButoir->format('d/m/Y'); ?>)"></span>
                            <?php else : ?>
                                <span class="icon icon-unchecked text-danger" title="Enquète non saisie (date butoir: <?php echo $dateButoir->format('d/m/Y'); ?>)"></span>
                                <span class="icon icon-unchecked text-danger" title="Enquête non saisie (date butoir: <?php echo $dateButoir->format('d/m/Y'); ?>)"></span>
                            <?php endif; ?>
                        <?php endif; ?>
                    <?php endif; ?>