Loading module/Enseignement/src/Controller/EnseignementController.php +9 −2 Original line number Diff line number Diff line Loading @@ -165,6 +165,8 @@ class EnseignementController extends AbstractController $form = $this->getFormServiceEnseignementSaisie(); $form->setTypeVolumeHoraire($typeVolumeHoraire); $form->setIntervenant($intervenant); $form->initPeriodes(); $form->bind($service); if ($service->getId()) { Loading Loading @@ -247,8 +249,6 @@ class EnseignementController extends AbstractController $typeVolumeHoraire = $this->getServiceTypeVolumehoraire()->get($typeVolumeHoraire); } $service = $this->getServiceService(); $form = $this->getFormServiceEnseignementSaisie(); $form->setTypeVolumeHoraire($typeVolumeHoraire); $element = $this->context()->elementPedagogiqueFromPost('element'); $etablissement = $this->context()->etablissementFromPost(); Loading @@ -261,6 +261,13 @@ class EnseignementController extends AbstractController $entity->setTypeVolumeHoraire($typeVolumeHoraire); $entity->setEtablissement($etablissement); $entity->setElementPedagogique($element); //Lorsque le service n'existe pas encore on est obligé de récupérer l'intervenant via le localContext... $intervenant = $this->getServiceLocalContext()->getIntervenant(); $form = $this->getFormServiceEnseignementSaisie(); $form->setIntervenant($intervenant); $form->setTypeVolumeHoraire($typeVolumeHoraire); $form->initPeriodes(); $form->bind($entity); if (!$serviceId) $form->initFromContext(); Loading module/Enseignement/src/Controller/VolumeHoraireController.php +2 −1 Original line number Diff line number Diff line Loading @@ -55,10 +55,11 @@ class VolumeHoraireController extends AbstractController $service->setTypeVolumeHoraire($typeVolumeHoraire); $intervenant = $service->getIntervenant(); $readOnly = 1 == (int)$this->params()->fromQuery('read-only', 0); $volumeHoraireListe = $service->getVolumeHoraireListe()->setTypeVolumehoraire($typeVolumeHoraire); $semestriel = $this->getServiceContext()->isModaliteServicesSemestriel($typeVolumeHoraire); $semestriel = $intervenant->getStatut()->isModeEnseignementSemestriel($typeVolumeHoraire); return compact('volumeHoraireListe', 'readOnly', 'semestriel'); } Loading module/Enseignement/src/Entity/VolumeHoraireListe.php +5 −2 Original line number Diff line number Diff line Loading @@ -241,6 +241,8 @@ class VolumeHoraireListe */ public function match(VolumeHoraire $volumeHoraire): bool { $intervenant = $volumeHoraire->getService()->getIntervenant(); if ($volumeHoraire->getRemove()) { // Si le volume horaire est en cours de suppression return false; } Loading Loading @@ -283,8 +285,9 @@ class VolumeHoraireListe if ($typeIntervention !== $this->typeIntervention) return false; } } //Uniquement en mode semestriel car en mode calendaire on ne doit pas être sur des mêmes horaires de début et de fin if (false !== $this->motifNonPaiement && $this->getServiceContext()->isModaliteServicesSemestriel($volumeHoraire->getTypeVolumeHoraire())) { if (false !== $this->motifNonPaiement && $intervenant->getStatut()->isModeEnseignementSemestriel($volumeHoraire->getTypeVolumeHoraire())) { $motifNonPaiement = $volumeHoraire->getMotifNonPaiement(); if (true === $this->motifNonPaiement) { if (null === $motifNonPaiement) return false; Loading @@ -293,7 +296,7 @@ class VolumeHoraireListe } } //Uniquement en mode semestriel car en mode calendaire on ne doit pas être sur des mêmes horaires de début et de fin if (false !== $this->tag && $this->getServiceContext()->isModaliteServicesSemestriel($volumeHoraire->getTypeVolumeHoraire())) { if (false !== $this->tag && $intervenant->getStatut()->isModeEnseignementSemestriel($volumeHoraire->getTypeVolumeHoraire())) { $tag = $volumeHoraire->getTag(); if (true === $this->tag) { if (null === $tag) return false; Loading module/Enseignement/src/Form/EnseignementSaisieForm.php +17 −8 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ namespace Enseignement\Form; use Application\Entity\Db\Periode; use Application\Entity\Db\Traits\IntervenantAwareTrait; use Application\Service\Traits\LocalContextServiceAwareTrait; use Enseignement\Entity\Db\Service; use Laminas\Form\FormInterface; Loading @@ -29,6 +30,7 @@ class EnseignementSaisieForm extends AbstractForm use LocalContextServiceAwareTrait; use EnseignementSaisieFieldsetAwareTrait; use VolumeHoraireSaisieMultipleFieldsetAwareTrait; use IntervenantAwareTrait; /** Loading Loading @@ -75,14 +77,7 @@ class EnseignementSaisieForm extends AbstractForm $this->add($this->getFieldsetEnseignementSaisie()); // Product Fieldset if ($this->getServiceContext()->isModaliteServicesSemestriel($this->getTypeVolumeHoraire())) { foreach ($this->getPeriodes() as $periode) { $pf = $this->getFieldsetVolumeHoraireSaisieMultiple(); $pf->setName($periode->getCode()); $this->add($pf); } } $this->add(new Hidden('intervenant')); $this->add([ Loading Loading @@ -117,6 +112,20 @@ class EnseignementSaisieForm extends AbstractForm { return []; } public function initPeriodes() { // Product Fieldset if ($this->getIntervenant()->getStatut()->isModeEnseignementSemestriel($this->getTypeVolumeHoraire())) { foreach ($this->getPeriodes() as $periode) { $pf = $this->getFieldsetVolumeHoraireSaisieMultiple(); $pf->setName($periode->getCode()); $this->add($pf); } } } } Loading module/Enseignement/src/View/Helper/EnseignementSaisieFormViewHelper.php +2 −2 Original line number Diff line number Diff line Loading @@ -184,8 +184,8 @@ class EnseignementSaisieFormViewHelper extends AbstractViewHelper public function renderVolumesHoraires() { if (!$this->getServiceContext()->isModaliteServicesSemestriel($this->form->getTypeVolumeHoraire())) { $intervenant = $this->form->getIntervenant(); if (!$intervenant->getStatut()->isModeEnseignementSemestriel($this->form->getTypeVolumeHoraire())) { return null; } Loading Loading
module/Enseignement/src/Controller/EnseignementController.php +9 −2 Original line number Diff line number Diff line Loading @@ -165,6 +165,8 @@ class EnseignementController extends AbstractController $form = $this->getFormServiceEnseignementSaisie(); $form->setTypeVolumeHoraire($typeVolumeHoraire); $form->setIntervenant($intervenant); $form->initPeriodes(); $form->bind($service); if ($service->getId()) { Loading Loading @@ -247,8 +249,6 @@ class EnseignementController extends AbstractController $typeVolumeHoraire = $this->getServiceTypeVolumehoraire()->get($typeVolumeHoraire); } $service = $this->getServiceService(); $form = $this->getFormServiceEnseignementSaisie(); $form->setTypeVolumeHoraire($typeVolumeHoraire); $element = $this->context()->elementPedagogiqueFromPost('element'); $etablissement = $this->context()->etablissementFromPost(); Loading @@ -261,6 +261,13 @@ class EnseignementController extends AbstractController $entity->setTypeVolumeHoraire($typeVolumeHoraire); $entity->setEtablissement($etablissement); $entity->setElementPedagogique($element); //Lorsque le service n'existe pas encore on est obligé de récupérer l'intervenant via le localContext... $intervenant = $this->getServiceLocalContext()->getIntervenant(); $form = $this->getFormServiceEnseignementSaisie(); $form->setIntervenant($intervenant); $form->setTypeVolumeHoraire($typeVolumeHoraire); $form->initPeriodes(); $form->bind($entity); if (!$serviceId) $form->initFromContext(); Loading
module/Enseignement/src/Controller/VolumeHoraireController.php +2 −1 Original line number Diff line number Diff line Loading @@ -55,10 +55,11 @@ class VolumeHoraireController extends AbstractController $service->setTypeVolumeHoraire($typeVolumeHoraire); $intervenant = $service->getIntervenant(); $readOnly = 1 == (int)$this->params()->fromQuery('read-only', 0); $volumeHoraireListe = $service->getVolumeHoraireListe()->setTypeVolumehoraire($typeVolumeHoraire); $semestriel = $this->getServiceContext()->isModaliteServicesSemestriel($typeVolumeHoraire); $semestriel = $intervenant->getStatut()->isModeEnseignementSemestriel($typeVolumeHoraire); return compact('volumeHoraireListe', 'readOnly', 'semestriel'); } Loading
module/Enseignement/src/Entity/VolumeHoraireListe.php +5 −2 Original line number Diff line number Diff line Loading @@ -241,6 +241,8 @@ class VolumeHoraireListe */ public function match(VolumeHoraire $volumeHoraire): bool { $intervenant = $volumeHoraire->getService()->getIntervenant(); if ($volumeHoraire->getRemove()) { // Si le volume horaire est en cours de suppression return false; } Loading Loading @@ -283,8 +285,9 @@ class VolumeHoraireListe if ($typeIntervention !== $this->typeIntervention) return false; } } //Uniquement en mode semestriel car en mode calendaire on ne doit pas être sur des mêmes horaires de début et de fin if (false !== $this->motifNonPaiement && $this->getServiceContext()->isModaliteServicesSemestriel($volumeHoraire->getTypeVolumeHoraire())) { if (false !== $this->motifNonPaiement && $intervenant->getStatut()->isModeEnseignementSemestriel($volumeHoraire->getTypeVolumeHoraire())) { $motifNonPaiement = $volumeHoraire->getMotifNonPaiement(); if (true === $this->motifNonPaiement) { if (null === $motifNonPaiement) return false; Loading @@ -293,7 +296,7 @@ class VolumeHoraireListe } } //Uniquement en mode semestriel car en mode calendaire on ne doit pas être sur des mêmes horaires de début et de fin if (false !== $this->tag && $this->getServiceContext()->isModaliteServicesSemestriel($volumeHoraire->getTypeVolumeHoraire())) { if (false !== $this->tag && $intervenant->getStatut()->isModeEnseignementSemestriel($volumeHoraire->getTypeVolumeHoraire())) { $tag = $volumeHoraire->getTag(); if (true === $this->tag) { if (null === $tag) return false; Loading
module/Enseignement/src/Form/EnseignementSaisieForm.php +17 −8 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ namespace Enseignement\Form; use Application\Entity\Db\Periode; use Application\Entity\Db\Traits\IntervenantAwareTrait; use Application\Service\Traits\LocalContextServiceAwareTrait; use Enseignement\Entity\Db\Service; use Laminas\Form\FormInterface; Loading @@ -29,6 +30,7 @@ class EnseignementSaisieForm extends AbstractForm use LocalContextServiceAwareTrait; use EnseignementSaisieFieldsetAwareTrait; use VolumeHoraireSaisieMultipleFieldsetAwareTrait; use IntervenantAwareTrait; /** Loading Loading @@ -75,14 +77,7 @@ class EnseignementSaisieForm extends AbstractForm $this->add($this->getFieldsetEnseignementSaisie()); // Product Fieldset if ($this->getServiceContext()->isModaliteServicesSemestriel($this->getTypeVolumeHoraire())) { foreach ($this->getPeriodes() as $periode) { $pf = $this->getFieldsetVolumeHoraireSaisieMultiple(); $pf->setName($periode->getCode()); $this->add($pf); } } $this->add(new Hidden('intervenant')); $this->add([ Loading Loading @@ -117,6 +112,20 @@ class EnseignementSaisieForm extends AbstractForm { return []; } public function initPeriodes() { // Product Fieldset if ($this->getIntervenant()->getStatut()->isModeEnseignementSemestriel($this->getTypeVolumeHoraire())) { foreach ($this->getPeriodes() as $periode) { $pf = $this->getFieldsetVolumeHoraireSaisieMultiple(); $pf->setName($periode->getCode()); $this->add($pf); } } } } Loading
module/Enseignement/src/View/Helper/EnseignementSaisieFormViewHelper.php +2 −2 Original line number Diff line number Diff line Loading @@ -184,8 +184,8 @@ class EnseignementSaisieFormViewHelper extends AbstractViewHelper public function renderVolumesHoraires() { if (!$this->getServiceContext()->isModaliteServicesSemestriel($this->form->getTypeVolumeHoraire())) { $intervenant = $this->form->getIntervenant(); if (!$intervenant->getStatut()->isModeEnseignementSemestriel($this->form->getTypeVolumeHoraire())) { return null; } Loading