Commit 591f6546 authored by Thomas Hamel's avatar Thomas Hamel
Browse files

ajout du type et des présences dans l'export des sessions, modif ui fiche session

parent 262e4a53
Loading
Loading
Loading
Loading
+27 −2
Changes for module/Formation/src/Formation/Controller/SessionController.php: 27 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -579,11 +579,11 @@ class SessionController extends AbstractController
        $qb = $this->sessionSearchService->getQueryBuilder();
        $listing = $qb->getQuery()->getResult();
        //export
        $headers = ['Module', 'Formation', 'Établissement organisateur',
        $headers = ['Module', 'Formation', 'Type de formation', 'Établissement organisateur',
            'Responsable de la formation', 'Formateur(s)', 'État de la session',
            'Structures valides pour l\'inscription', 'Modalité', 'Nombre d\'heures',
            'Séance(s)', 'Effectif Liste principale', 'Effectif Liste complémentaire', 'Nombre d\'inscrits',
            'Nombre d\'inscrits sur liste principale', 'Inscrits sur liste principale'];
            'Nombre d\'inscrits sur liste principale', 'Effectif présents d\'après la liste d\'émargement', 'Inscrits sur liste principale'];
        $records = [];
        /** @var Session $session */
        foreach ($listing as $session) {
@@ -614,9 +614,33 @@ class SessionController extends AbstractController
                return $inscritPrincipale->getDoctorant()->getIndividu();
            }, $inscritsPrincipale);

            if ($session->getEtat()->getCode() !== Etat::CODE_IMMINENT and $session->getEtat()->getCode() !== Etat::CODE_FERME and $session->getEtat()->getCode() !== Etat::CODE_CLOTURER) {
                $presences = "Les présences ne peuvent pas être affichées.";
            } else {
                $presences = $this->getPresenceService()->getRepository()->findPresencesBySession($session);
                $dictionnaire = [];
                foreach ($presences as $presence) {
                    if($presence->isPresent()) $dictionnaire[$presence->getSeance()->getId()][] = $presence;
                }
                $presences = $dictionnaire;

                $presencesStrings = array_map(function ($seance) use ($presences, $session) {
                    $nbPresencesParSeances = "";
                    $seanceDate = $seance->getDebut()->format('d/m/Y H:i');
                    $seanceId = $seance->getId();

                    if (isset($presences[$seanceId])) {
                        $nbPresencesParSeances = count($presences[$seanceId]);
                    }
                    return $nbPresencesParSeances ? $seanceDate . ' : ' . $nbPresencesParSeances : null;
                }, $seances);
                $presences = $presencesStrings ? implode(' ; ', $presencesStrings) : null;
            }

            $entry = [];
            $entry['Module'] = $formation && $formation->getModule() ? $formation->getModule()->getLibelle() : null;
            $entry['Formation'] = $formation ? $formation->getLibelle() : null;
            $entry['Type de formation'] = $formation ? $formation->getType() : null;
            $entry['Établissement organisateur'] = $session->getSite() ? $session->getSite()->getStructure()->getLibelle() : null;
            $entry['Responsable de la formation'] = $session->getResponsable() ? $session->getResponsable() : null;
            $entry['Formateur(s)'] = implode("/", $formateursStrings);;
@@ -629,6 +653,7 @@ class SessionController extends AbstractController
            $entry['Effectif Liste complémentaire'] = $session->getTailleListeComplementaire();
            $entry['Nombre d\'inscrits'] = $nbInscrits;
            $entry['Nombre d\'inscrits sur liste principale'] = $nbInscritsListePrincipale;
            $entry['Effectif présents d\'après la liste d\'émargement'] = $presences;
            $entry['Inscrits sur liste principale'] = implode(' / ', $inscritsPrincipaleStrings);;

            $records[] = $entry;
+21 −10
Changes for module/Formation/src/Formation/View/Helper/partial/inscription.phtml: 21 added lines, 10 removed lines.
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@ $these = current($doctorant->getTheses());
    <?php

    echo $doctorant->getIndividu()->getNomComplet(); ?>
    <span class=" <?php if ($inscription->estHistorise()) echo "historisee"; ?> " title="<?php echo $inscription->getDescription(); ?>">
    <span class=" <?php if ($inscription->estHistorise()) echo "historisee"; ?> " data-bs-toggle='tooltip' data-bs-placement="right" title="<?php echo strip_tags($inscription->getDescription()); ?>">
    <?php foreach ($doctorant->getTheses() as $these) {
        if ($these->getEtatThese() === These::ETAT_EN_COURS and $these->estNonHistorise()) {
            echo "<br/>";
@@ -86,27 +86,36 @@ $these = current($doctorant->getTheses());
        <?php if (($inscription->getListe() !== null) AND $inscription->getListe()) : ?>
            <a <?php /** @see \Formation\Controller\InscriptionController::retirerListeAction() */?>
                    href="<?php echo $this->url('formation/inscription/retirer-liste', ['inscription' => $inscription->getId()], ['query' => ['retour' => $this->url('formation/session/afficher', ['session' => $session->getId()])]], true); ?>"
                    title="Retirer des liste l'inscription de  <?php echo $doctorant->getIndividu()->getNomComplet(); ?>" data-bs-toggle="tooltip" data-bs-html="true"
                    title="Mettre <?php echo $doctorant->getIndividu()->getNomComplet(); ?> dans la liste des non-classés" data-bs-toggle="tooltip" data-bs-html="true"
            >
                <strong>∅</strong></a>
        <?php endif; ?>
        <?php if ($actionHistoriser) : ?>
            <?php if ($inscription->estNonHistorise()) : ?>
                <?php /** @see \Formation\Controller\InscriptionController::historiserAction() */ ?>
                <a href="<?php echo $this->url('formation/inscription/historiser', ['inscription' => $inscription->getId()], ['query' => ['retour' => $this->url('formation/session/afficher', ['session' => $session->getId()])]], true); ?>">
                    <span class="icon icon-historiser"></span></a>
                <a href="<?php echo $this->url('formation/inscription/historiser', ['inscription' => $inscription->getId()], ['query' => ['retour' => $this->url('formation/session/afficher', ['session' => $session->getId()])]], true); ?>"
                   data-bs-toggle="tooltip"
                   title="Historiser l'inscription de <?php echo $doctorant->getIndividu()->getNomComplet(); ?> pour cette session"
                >
                    <span class="fa fa-trash"></span></a>
            <?php else : ?>
                <?php /** @see \Formation\Controller\InscriptionController::restaurerAction() */ ?>
                <a href="<?php echo $this->url('formation/inscription/restaurer', ['inscription' => $inscription->getId()], ['query' => ['retour' => $this->url('formation/session/afficher', ['session' => $session->getId()])]], true); ?>">
                    <span class="icon icon-restaurer"></span></a>
                <a href="<?php echo $this->url('formation/inscription/restaurer', ['inscription' => $inscription->getId()], ['query' => ['retour' => $this->url('formation/session/afficher', ['session' => $session->getId()])]], true); ?>"
                   data-bs-toggle="tooltip"
                   title="Restaurer l'inscription de <?php echo $doctorant->getIndividu()->getNomComplet(); ?> pour cette session"
                >
                    <span class="fa fa-trash-restore"></span>
                </a>
            <?php endif; ?>
            <?php if ($canAccorderSursis && $inscription->getSession()->getEtat()->getCode() === Etat::CODE_CLOTURER AND $inscription->getListe() == Inscription::LISTE_PRINCIPALE) : ?>
                <?php /** @see \Formation\Controller\InscriptionController::accorderSursisAction() */?>
                <a class="btn btn-primary action ajax-modal" data-event="modification"
                   title="Accorder un sursis à <?php echo $doctorant->getIndividu()->getNomComplet(); ?> pour la saisie de l'enquête"
                <a class="action ajax-modal"
                   data-event="modification"
                   href="<?php echo $this->url('formation/inscription/accorder-sursis', ['inscription' => $inscription->getId()], true); ?>"
                   data-bs-toggle="tooltip"
                   title="Accorder un sursis à <?php echo $doctorant->getIndividu()->getNomComplet(); ?> pour la saisie de l'enquête"
                >
                    Accorder un sursis
                    <span class="fa fa-clock"></span>
                </a>
            <?php endif; ?>
        <?php endif; ?>
@@ -114,8 +123,10 @@ $these = current($doctorant->getTheses());
            <?php /** @see \Formation\Controller\InscriptionController::supprimerAction() */ ?>
            <a href="<?php echo $this->url('formation/inscription/supprimer', ['inscription' => $inscription->getId()], [], true); ?>"
               class="ajax-modal" data-event="modification"
               data-bs-toggle="tooltip"
               title="Supprimer l'inscription de <?php echo $doctorant->getIndividu()->getNomComplet(); ?> pour cette session"
            >
                <span class="icon icon-detruire text-danger"></span></a>
                <span class="fa fa-bomb text-danger"></span></a>
        <?php endif; ?>
    <?php endif; ?>
</li>
+3 −3
Changes for module/Formation/view/formation/session/afficher.phtml: 3 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -314,7 +314,7 @@ echo $this->messenger()->addMessagesFromFlashMessengerWithNoNamespace();
    <?php /** @see \Formation\Controller\SessionController::genererEmargementsAction() */ ?>
    <a href="<?php echo $this->url('formation/session/generer-emargements', ['session' => $session->getId()], [] , true); ?>" target="_blank"
       class="btn btn-primary action <?php if (empty($seances)) echo " disabled "; ?>">
        <span class="fas fa-list"></span>
        <span class="icon icon-lister"></span>
        Générer les émargements
    </a>
<?php endif; ?>
@@ -379,7 +379,7 @@ echo $this->messenger()->addMessagesFromFlashMessengerWithNoNamespace();
                       class="ajax-modal" data-event="modification"
                       title="Duplication de la séance" data-bs-toggle="tooltip" data-bs-html="true"
                    >
                        <span class="icon icon-refresh"></span>
                        <span class="icon icon-cloner"></span>
                    </a>
                <?php endif; ?>
                <?php if ($canEmargementSeance) : ?>
@@ -387,7 +387,7 @@ echo $this->messenger()->addMessagesFromFlashMessengerWithNoNamespace();
                    <a href="<?php echo $this->url('formation/seance/generer-emargement', ['seance' => $seance->getId()], [], true); ?>" target="_blank"
                       title="Générer l'émargement de la séance" data-bs-toggle="tooltip" data-bs-html="true"
                    >
                        <span class="fas fa-list"></span>
                        <span class="icon icon-lister"></span>
                    </a>
                <?php endif; ?>