From 5a536177b696e517a01b0293bfdc0618c552c9b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20L=C3=A9cluse?= <laurent.lecluse@unicaen.fr> Date: Thu, 5 May 2022 11:48:09 +0200 Subject: [PATCH] =?UTF-8?q?Correction=20de=20bug=20d'affichage=20de=20d?= =?UTF-8?q?=C3=A9tail=20des=20heures=20Certains=20volumes=20horaires=20n'?= =?UTF-8?q?=C3=A9taient=20pas=20affich=C3=A9s=20dans=20le=20d=C3=A9tail=20?= =?UTF-8?q?des=20services?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/View/Helper/VolumeHoraire/Liste.php | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/module/Application/src/View/Helper/VolumeHoraire/Liste.php b/module/Application/src/View/Helper/VolumeHoraire/Liste.php index 38b2d0f91f..8c12ef1b79 100755 --- a/module/Application/src/View/Helper/VolumeHoraire/Liste.php +++ b/module/Application/src/View/Helper/VolumeHoraire/Liste.php @@ -158,7 +158,15 @@ class Liste extends AbstractViewHelper $out .= "</tr>\n"; $periodes = $this->getPeriodes(); foreach ($periodes as $periode) { - $vhl = $this->getVolumeHoraireListe()->setPeriode($periode)->setTypeIntervention(false); + $vhl = $this->getVolumeHoraireListe()->createChild()->setPeriode($periode)->setTypeIntervention(false); + + /* Gestion des mauvaises périodes */ + $forbiddenPeriode = $vhl->getService()?->getElementPedagogique()?->getPeriode() ?? $periode !== $periode; + if ($forbiddenPeriode) { + $this->hasForbiddenPeriodes = true; + } + + /*Listage des motifs de non paiement */ $motifsNonPaiement = []; if ($canViewMNP) { // découpage par motif de non paiement $motifsNonPaiement = $vhl->getMotifsNonPaiement(); @@ -169,18 +177,13 @@ class Liste extends AbstractViewHelper if (empty($motifsNonPaiement)) { $motifsNonPaiement = [0 => false]; } + + /* Affichage par motif de non paiement */ foreach ($motifsNonPaiement as $motifNonPaiement) { - $readOnly = $motifNonPaiement instanceof MotifNonPaiement && !$canEditMNP; - $forbiddenPeriode = false; - if ( - $this->getVolumeHoraireListe()->getService() - && $this->getVolumeHoraireListe()->getService()->getElementPedagogique() - && $this->getVolumeHoraireListe()->getService()->getElementPedagogique()->getPeriode() - && $this->getVolumeHoraireListe()->getService()->getElementPedagogique()->getPeriode() !== $periode - ) { - $forbiddenPeriode = true; - $this->hasForbiddenPeriodes = true; - } + $vhl->setMotifNonPaiement($motifNonPaiement); + if ($vhl->getHeures() == 0) continue; // rien à afficher + + $readOnly = $motifNonPaiement instanceof MotifNonPaiement && !$canEditMNP; if ($forbiddenPeriode) { $out .= '<tr class="bg-danger">'; $out .= "<td><abbr title=\"La période n'est pas conforme à l'enseignement\">" . $this->renderPeriode($periode) . "</abbr></td>\n"; @@ -190,8 +193,7 @@ class Liste extends AbstractViewHelper } foreach ($this->typesIntervention as $typeIntervention) { - $vhl->setMotifNonPaiement($motifNonPaiement) - ->setTypeIntervention($typeIntervention); + $vhl->setTypeIntervention($typeIntervention); if ($vhl->getHeures() == 0) { $class = "heures-empty"; } else { -- GitLab