Commit dc1df3c5 authored by Antony Le Courtes's avatar Antony Le Courtes
Browse files

Amélioration UX pour l'utilisateur. Finalisation.

parent 79b18a9d
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -238,16 +238,15 @@ class OffreFormationController extends AbstractController
                    }
                }
                $result = $this->getProcessusReconduction()->reconduireCCFormation($etapesReconduitesCc);
                $etapesReconduites = $this->getServiceEtape()->getEtapeReconduit($structure);

                $this->flashMessenger()->addSuccessMessage("Les centres de coûts des éléments pédagogiques des étapes sélectionnées ont bien été reconduit (<b>uniquement dans le cas où ils n'avaient pas encore de centre de coût paramétré pour l'année prochaine</b>). $result 
                élément(s) pédagogique(s) ont été mis à jour");
                $this->flashMessenger()->addSuccessMessage("$result centre(s) de coût(s) ont été reconduit pour l'année prochaine. ");


            } catch (\Exception $e) {
                $this->flashMessenger()->addErrorMessage($e->getMessage());
            }


        }

        if(empty($etapesReconduites) && !empty($structure))
@@ -295,8 +294,10 @@ class OffreFormationController extends AbstractController
                }
                $result = $this->getProcessusReconduction()->reconduireModulateurFormation($etapesReconduitesCc);

                    $this->flashMessenger()->addSuccessMessage("Les modulateurs des éléments pédagogiques des étapes sélectionnées ont bien été reconduit (<b>uniquement dans le cas où ils n'avaient pas encore de modulateur paramétré pour l'année prochaine</b>). $result 
                élément(s) pédagogique(s) ont été mis à jour");
                    $this->flashMessenger()->addSuccessMessage("$result modulateur(s) ont été reconduit pour l'année prochaine. ");

                $etapesReconduites = $this->getServiceEtape()->getEtapeReconduit($structure);


            } catch (\Exception $e) {
                $this->flashMessenger()->addErrorMessage($e->getMessage());
+8 −16
Original line number Diff line number Diff line
@@ -213,8 +213,7 @@ class ReconductionProcessus extends AbstractProcessus
        $connection = $this->getEntityManager()->getConnection();
        $stmt = $connection->executeQuery($sql, [ $this->getServiceContext()->getAnnee()->getId(), $etapes_codes], [ParameterType::INTEGER, Connection::PARAM_STR_ARRAY]);
        $ccepN = $stmt->fetchAll();
        $listEp = [];
        $nbInsertedEp = 0;
        $nbCCReconduit = 0;
        foreach ($ccepN as $key => $value) {
            if(empty($value['NEW_CENTRE_COUT_EP_ID']))
            {
@@ -232,11 +231,8 @@ class ReconductionProcessus extends AbstractProcessus
                         'histo_modificateur_id' => $this->getServiceContext()->getUtilisateur()->getId()
                        ]);

                    if(!in_array($value['NEW_ELEMENT_PEDAGOGIQUE_ID'], $listEp))
                    {
                        $listEp[] = $value['NEW_ELEMENT_PEDAGOGIQUE_ID'];
                        $nbInsertedEp++;
                    }
                    $nbCCReconduit++;

                }catch(\Exception $e)
                {
                    continue;
@@ -244,7 +240,7 @@ class ReconductionProcessus extends AbstractProcessus
            }

        }
        return $nbInsertedEp;
        return $nbCCReconduit;
    }


@@ -265,8 +261,7 @@ class ReconductionProcessus extends AbstractProcessus
        $connection = $this->getEntityManager()->getConnection();
        $stmt = $connection->executeQuery($sql, [ $this->getServiceContext()->getAnnee()->getId(), $etapes_codes], [ParameterType::INTEGER, Connection::PARAM_STR_ARRAY]);
        $mepN = $stmt->fetchAll();
        $listEp = [];
        $nbInsertedEp = 0;
        $nbMReconduit = 0;
        foreach ($mepN as $key => $value) {
            if(empty($value['NEW_ELEMENT_MODULATEUR_ID']))
            {
@@ -280,12 +275,9 @@ class ReconductionProcessus extends AbstractProcessus
                         'histo_createur_id' => $this->getServiceContext()->getUtilisateur()->getId(),
                         'histo_modificateur_id' => $this->getServiceContext()->getUtilisateur()->getId()
                        ]);
                    $nbMReconduit++;


                    if(!in_array($value['NEW_ELEMENT_PEDAGOGIQUE_ID'], $listEp))
                    {
                        $listEp[] = $value['NEW_ELEMENT_PEDAGOGIQUE_ID'];
                        $nbInsertedEp++;
                    }
                }catch(\Exception $e)
                {
                    continue;
@@ -293,7 +285,7 @@ class ReconductionProcessus extends AbstractProcessus
            }

        }
        return $nbInsertedEp;
        return $nbMReconduit;
    }

    public function getNextSequence($sequenceName = '')
+4 −1
Original line number Diff line number Diff line
@@ -77,6 +77,8 @@ class EtapeService extends AbstractEntityService
            etape_id,
            etape_libelle,
            etape_code,
            count(element_pedagogique_id) AS nb_ep_type_heure,
            count(DISTINCT element_modulateur_id) as nb_m,
            count(DISTINCT element_pedagogique_id) AS nb_ep,
            count(DISTINCT new_centre_cout_ep_id) AS nb_cc_ep,
            count(DISTINCT new_element_modulateur_id) AS nb_m_ep
@@ -87,7 +89,8 @@ class EtapeService extends AbstractEntityService
        GROUP BY 
            etape_id,
            etape_libelle,
            etape_code';
            etape_code
        ORDER BY etape_id ASC';
        $stmt = $this->getEntityManager()->getConnection()->prepare($sql);
        $stmt->bindParam(':annee', $annee);
        $stmt->execute();
+5 −11
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@ $this->headScript()->offsetSetFile(100, '/js/reconduction-centre-cout.js');
<h3>Veuillez sélectionner les formations pour reconduire les centres de coûts :</h3>
<br/>
<?php
echo $this->messenger()->addCurrentMessagesFromFlashMessenger();
echo $this->messenger()->addCurrentMessagesFromFlashMessenger()->addMessagesFromFlashMessenger();
?>

<?php if (empty($etapesReconduites)): ?>
@@ -61,31 +61,25 @@ echo $this->messenger()->addCurrentMessagesFromFlashMessenger();
    <form action="<?= $this->url('aof/reconduction-centre-cout', [], ['query' => ['structure' => $structure->getId()]]) ?>"
          method="POST" id="form-reconduction">

        <p style="text-align:right;"><strong>EP</strong> = Elément pédagogique / <strong>CC</strong> = Centre de coût</p>
        <table class="reconduction-offre table table-bordered table-condensed table-hover table-sort">
            <thead>
            <tr>
                <th><input class="checkbox-element" type="checkbox" value="" id="check-all"></th>
                <th>Code</th>
                <th>Libellé</th>
                <th>Nb Elements pédagogiques avec un centre de coût</th>
                <th>Nombre de <abbr title="Le comptage se fait uniquement sur les éléments pédagogiques/types heures n'ayant pas encore de centre de coût pour l'année prochaine">CC à reconduire</abbr></th>

            </tr>

            </thead>
            <tbody>
            <?php foreach ($etapesReconduites as $er): ?>
                <tr>
                    <td>
                        <?php if ($er['NB_CC_EP'] > 0): ?>
                            <span style="color:#ae0000;font-size:16px;" class="glyphicon glyphicon-alert" aria-hidden="true"
                                  title="Attention des centres de coût sont déjà positionnés sur les éléments pédagogiques de la prochaine année universitaire, ils ne seront pas écrasés par ceux de cette année."></span>
                        <?php endif; ?>
                        <input class="checkbox-element" type="checkbox" name="etapes[]" value="<?= $er['ETAPE_CODE']; ?>">
                        <?= ($er['NB_EP']-$er['NB_CC_EP'] == 0)?'<input disabled="disabled" title="Aucun centre de coût à reconduire" class="checkbox-element" type="checkbox" name="etapes[]" value="'.$er['ETAPE_CODE'].'">':'<input class="checkbox-element" type="checkbox" name="etapes[]" value="'.$er['ETAPE_CODE'].'">'; ?>
                    </td>
                    <td><?= $er['ETAPE_CODE']; ?></td>
                    <td><?= $er['ETAPE_LIBELLE']; ?></td>
                    <td><?= $er['NB_EP']; ?></td>
                    <td><?= ($er['NB_EP_TYPE_HEURE']-$er['NB_CC_EP'] == 0)?'Aucun centre de coût à reconduire':$er['NB_EP']-$er['NB_CC_EP']; ?></td>
                </tr>
            <?php endforeach; ?>
            </tbody>
@@ -93,7 +87,7 @@ echo $this->messenger()->addCurrentMessagesFromFlashMessenger();
        <button disabled="disabled" id="reconduction-cc-button" class="btn btn-primary pop-ajax" type="button" data-content="Voulez-vous réellement reconduire ces centres de coût pour l'année prochaine ?
                <div class='alert alert-warning'>
                <button type='button' class='close' data-dismiss='alert' aria-label='Close'><span aria-hidden='true'>&times;</span></button>
                    Les centres de coûts seront reconduits dans leurs globalités pour la prochaine année universitaire sur les formations séléctionnées. Si des centres de coûts ont été renseignés manuellement pour l'année prochaine, ils seront écrasés par ceux de cette année.
                    Les centres de coûts seront reconduits uniquement sur les éléments pédagogiques / types heures non encore paramétrés. Les centres de coûts déjà positionnés ne seront pas modifiés.
                </div>
                <div style='text-align:right'>
                <button type='button' class='btn btn-default pop-ajax-hide'>Non</button>
+3 −8
Original line number Diff line number Diff line
@@ -58,14 +58,13 @@ echo $this->messenger()->addCurrentMessagesFromFlashMessenger();
    <form action="<?= $this->url('aof/reconduction-modulateur', [], ['query' => ['structure' => $structure->getId()]]) ?>"
          method="POST" id="form-reconduction">

        <p style="text-align:right;"><strong>EP</strong> = Elément pédagogique / <strong>CC</strong> = Centre de coût</p>
        <table class="reconduction-offre table table-bordered table-condensed table-hover table-sort">
            <thead>
            <tr>
                <th><input class="checkbox-element" type="checkbox" value="" id="check-all"></th>
                <th>Code</th>
                <th>Libellé</th>
                <th>Nb Elements pédagogiques avec un modulateur</th>
                <th>Nombre de  <abbr title="Le comptage se fait uniquement sur les éléments pédagogiques n'ayant pas encore de modulateur pour l'année prochaine">modulateur(s) à reconduire</abbr></th>

            </tr>

@@ -74,15 +73,11 @@ echo $this->messenger()->addCurrentMessagesFromFlashMessenger();
            <?php foreach ($etapesReconduites as $er): ?>
                <tr>
                    <td>
                        <?php if ($er['NB_M_EP'] > 0): ?>
                            <span style="color:#ae0000;font-size:16px;" class="glyphicon glyphicon-alert" aria-hidden="true"
                                  title="Attention des centres de coût sont déjà positionnés sur les éléments pédagogiques de la prochaine année universitaire, ils ne seront pas écrasés par ceux de cette année."></span>
                        <?php endif; ?>
                        <input class="checkbox-element" type="checkbox" name="etapes[]" value="<?= $er['ETAPE_CODE']; ?>">
                        <?= ($er['NB_M']-$er['NB_M_EP'] == 0)?'<input disabled="disabled" title="Aucun modulateur à reconduire" class="checkbox-element" type="checkbox" name="etapes[]" value="'.$er['ETAPE_CODE'].'">':'<input class="checkbox-element" type="checkbox" name="etapes[]" value="'.$er['ETAPE_CODE'].'">'; ?>
                    </td>
                    <td><?= $er['ETAPE_CODE']; ?></td>
                    <td><?= $er['ETAPE_LIBELLE']; ?></td>
                    <td><?= $er['NB_EP']; ?></td>
                    <td><?=($er['NB_M']-$er['NB_M_EP'] == 0)?'Aucun modulateur à reconduire':$er['NB_M']-$er['NB_M_EP']; ?> </td>
                </tr>
            <?php endforeach; ?>
            </tbody>
Loading