Commit 5a536177 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Correction de bug d'affichage de détail des heures

Certains volumes horaires n'étaient pas affichés dans le détail des services
parent cd7599a2
Loading
Loading
Loading
Loading
+15 −13
Changes for module/Application/src/View/Helper/VolumeHoraire/Liste.php: 15 added lines, 13 removed lines.
Original line number Diff line number Diff line
@@ -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) {
                $vhl->setMotifNonPaiement($motifNonPaiement);
                if ($vhl->getHeures() == 0) continue; // rien à afficher

                $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;
                }
                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 {