Loading module/Depot/src/Depot/Controller/DepotController.php +4 −0 Changes for module/Depot/src/Depot/Controller/DepotController.php: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -1427,6 +1427,10 @@ class DepotController extends AbstractController if ($this->getRequest()->isPost()) { /** @var ParametersInterface $post */ $post = $this->getRequest()->getPost(); //Permet de gérer le cas où aucune sélection n'est effectuée (afin de passer dans l'hydrateur) if (!isset($post['domaineHal'])) { $post['domaineHal'] = array("domaineHal" => array("")); } $form->setData($post); if ($form->isValid()) { /** @var MetadonneeThese $metadonnee */ Loading module/These/src/These/Controller/DomaineHalSaisieController.php +5 −1 Changes for module/These/src/These/Controller/DomaineHalSaisieController.php: 5 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -39,6 +39,10 @@ class DomaineHalSaisieController extends AbstractActionController if ($request->isPost()) { $data = $request->getPost(); //Permet de gérer le cas où aucune sélection n'est effectuée (afin de passer dans l'hydrateur) if (!isset($data['domaineHalFieldset'])) { $data['domaineHalFieldset'] = array("domaineHal" => array("")); } $form->setData($data); if ($form->isValid()) { Loading @@ -47,7 +51,7 @@ class DomaineHalSaisieController extends AbstractActionController } else { $this->getTheseService()->update($these); } return $this->redirect()->toRoute('these/identite', ['these' => $these->getId()], [], true); // return $this->redirect()->toRoute('these/identite', ['these' => $these->getId()], [], true); } } Loading module/These/src/These/Controller/TheseSaisieController.php +4 −0 Changes for module/These/src/These/Controller/TheseSaisieController.php: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -61,6 +61,10 @@ class TheseSaisieController extends AbstractController { $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); //Permet de gérer le cas où aucune sélection n'est effectuée (afin de passer dans l'hydrateur) if (!isset($data['domaineHal'])) { $data['domaineHal'] = array("domaineHal" => array("")); } $form->setData($data); if ($form->isValid()) { Loading module/These/src/These/Form/DomaineHalSaisie/Fieldset/DomaineHalFieldset.php +5 −4 Changes for module/These/src/These/Form/DomaineHalSaisie/Fieldset/DomaineHalFieldset.php: 5 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -4,15 +4,15 @@ namespace These\Form\DomaineHalSaisie\Fieldset; use Laminas\Form\Fieldset; use Laminas\Form\Element\Select; use Laminas\InputFilter\InputFilterProviderInterface; class DomaineHalFieldset extends Fieldset class DomaineHalFieldset extends Fieldset implements InputFilterProviderInterface { private ?array $domainesHal = null; public function setDomainesHal($domainesHal): void { $this->domainesHal = $domainesHal; $this->get('domaineHal')->setEmptyOption('Sélectionnez une option'); $this->get('domaineHal')->setValueOptions($this->domainesHal); } Loading @@ -26,7 +26,6 @@ class DomaineHalFieldset extends Fieldset 'class' => 'selectpicker show-tick form-control', 'data-live-search' => 'true', 'id' => 'domaineHal', 'placeholder' => "Entrez les deux premières lettres...", 'multiple' => 'true' ]); $this->add($domaineHal); Loading @@ -38,7 +37,9 @@ class DomaineHalFieldset extends Fieldset public function getInputFilterSpecification(): array { return [ 'domaineHal' => ['required' => false], 'domaineHal' => [ 'required' => false, ], ]; } } No newline at end of file module/These/src/These/Form/DomaineHalSaisie/Fieldset/DomaineHalHydrator.php +7 −0 Changes for module/These/src/These/Form/DomaineHalSaisie/Fieldset/DomaineHalHydrator.php: 7 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -33,6 +33,13 @@ class DomaineHalHydrator extends DoctrineObject public function hydrate(array $data, object $object): object { if(isset($data["domaineHal"]) && is_array($data["domaineHal"])){ //Si aucun domaine n'est sélectionné, on retire les potentiels domaines déjà enregistrés if(count($data["domaineHal"]) === 1 && $data["domaineHal"][0] === ""){ foreach ($object->getDomainesHal() as $domaineHal) { $object->removeDomainesHal($domaineHal); } return parent::hydrate($data, $object); } foreach ($data["domaineHal"] as $idDomaineHal) { // Vérifier si le domaine est déjà associé à la thèse $domaineHalExistant = $object->getDomainesHal()->filter(function ($domaineHal) use ($idDomaineHal) { Loading Loading
module/Depot/src/Depot/Controller/DepotController.php +4 −0 Changes for module/Depot/src/Depot/Controller/DepotController.php: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -1427,6 +1427,10 @@ class DepotController extends AbstractController if ($this->getRequest()->isPost()) { /** @var ParametersInterface $post */ $post = $this->getRequest()->getPost(); //Permet de gérer le cas où aucune sélection n'est effectuée (afin de passer dans l'hydrateur) if (!isset($post['domaineHal'])) { $post['domaineHal'] = array("domaineHal" => array("")); } $form->setData($post); if ($form->isValid()) { /** @var MetadonneeThese $metadonnee */ Loading
module/These/src/These/Controller/DomaineHalSaisieController.php +5 −1 Changes for module/These/src/These/Controller/DomaineHalSaisieController.php: 5 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -39,6 +39,10 @@ class DomaineHalSaisieController extends AbstractActionController if ($request->isPost()) { $data = $request->getPost(); //Permet de gérer le cas où aucune sélection n'est effectuée (afin de passer dans l'hydrateur) if (!isset($data['domaineHalFieldset'])) { $data['domaineHalFieldset'] = array("domaineHal" => array("")); } $form->setData($data); if ($form->isValid()) { Loading @@ -47,7 +51,7 @@ class DomaineHalSaisieController extends AbstractActionController } else { $this->getTheseService()->update($these); } return $this->redirect()->toRoute('these/identite', ['these' => $these->getId()], [], true); // return $this->redirect()->toRoute('these/identite', ['these' => $these->getId()], [], true); } } Loading
module/These/src/These/Controller/TheseSaisieController.php +4 −0 Changes for module/These/src/These/Controller/TheseSaisieController.php: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -61,6 +61,10 @@ class TheseSaisieController extends AbstractController { $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); //Permet de gérer le cas où aucune sélection n'est effectuée (afin de passer dans l'hydrateur) if (!isset($data['domaineHal'])) { $data['domaineHal'] = array("domaineHal" => array("")); } $form->setData($data); if ($form->isValid()) { Loading
module/These/src/These/Form/DomaineHalSaisie/Fieldset/DomaineHalFieldset.php +5 −4 Changes for module/These/src/These/Form/DomaineHalSaisie/Fieldset/DomaineHalFieldset.php: 5 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -4,15 +4,15 @@ namespace These\Form\DomaineHalSaisie\Fieldset; use Laminas\Form\Fieldset; use Laminas\Form\Element\Select; use Laminas\InputFilter\InputFilterProviderInterface; class DomaineHalFieldset extends Fieldset class DomaineHalFieldset extends Fieldset implements InputFilterProviderInterface { private ?array $domainesHal = null; public function setDomainesHal($domainesHal): void { $this->domainesHal = $domainesHal; $this->get('domaineHal')->setEmptyOption('Sélectionnez une option'); $this->get('domaineHal')->setValueOptions($this->domainesHal); } Loading @@ -26,7 +26,6 @@ class DomaineHalFieldset extends Fieldset 'class' => 'selectpicker show-tick form-control', 'data-live-search' => 'true', 'id' => 'domaineHal', 'placeholder' => "Entrez les deux premières lettres...", 'multiple' => 'true' ]); $this->add($domaineHal); Loading @@ -38,7 +37,9 @@ class DomaineHalFieldset extends Fieldset public function getInputFilterSpecification(): array { return [ 'domaineHal' => ['required' => false], 'domaineHal' => [ 'required' => false, ], ]; } } No newline at end of file
module/These/src/These/Form/DomaineHalSaisie/Fieldset/DomaineHalHydrator.php +7 −0 Changes for module/These/src/These/Form/DomaineHalSaisie/Fieldset/DomaineHalHydrator.php: 7 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -33,6 +33,13 @@ class DomaineHalHydrator extends DoctrineObject public function hydrate(array $data, object $object): object { if(isset($data["domaineHal"]) && is_array($data["domaineHal"])){ //Si aucun domaine n'est sélectionné, on retire les potentiels domaines déjà enregistrés if(count($data["domaineHal"]) === 1 && $data["domaineHal"][0] === ""){ foreach ($object->getDomainesHal() as $domaineHal) { $object->removeDomainesHal($domaineHal); } return parent::hydrate($data, $object); } foreach ($data["domaineHal"] as $idDomaineHal) { // Vérifier si le domaine est déjà associé à la thèse $domaineHalExistant = $object->getDomainesHal()->filter(function ($domaineHal) use ($idDomaineHal) { Loading