From 2df89819a83e9f661545cbf2ecf67ce83029fedd Mon Sep 17 00:00:00 2001 From: "florian.joriot@unicaen.fr" <florian.joriot@unicaen.fr> Date: Mon, 17 Apr 2023 11:17:41 +0200 Subject: [PATCH] Correction bug ajout de typeFormation bug --- .../OffreFormation/config/module.config.php | 9 ++++- .../Controller/TypeFormationController.php | 33 ++++++++++++++++--- .../type-formation/ajout.phtml | 7 ++++ .../type-formation/index.phtml | 2 +- 4 files changed, 45 insertions(+), 6 deletions(-) create mode 100755 module/OffreFormation/view/offre-formation/type-formation/ajout.phtml diff --git a/module/OffreFormation/config/module.config.php b/module/OffreFormation/config/module.config.php index ced0b64dde..0e5ca9cda6 100755 --- a/module/OffreFormation/config/module.config.php +++ b/module/OffreFormation/config/module.config.php @@ -308,6 +308,13 @@ return [ ], 'action' => 'saisie', ], + 'ajout' => [ + 'route' => '/ajout/:groupeTypeFormation', + 'constraints' => [ + 'typeFormation' => '[0-9]*', + ], + 'action' => 'ajout', + ], 'supprimer' => [ 'route' => '/supprimer/:typeFormation', 'constraints' => [ @@ -550,7 +557,7 @@ return [ ], [ 'controller' => TypeFormationController::class, - 'action' => ['saisie', 'supprimer', 'saisieGroupe', 'supprimerGroupe', "trier"], + 'action' => ['saisie', 'ajout', 'supprimer', 'saisieGroupe', 'supprimerGroupe', "trier"], 'privileges' => [Privileges::ODF_TYPE_FORMATION_EDITION], ], ], diff --git a/module/OffreFormation/src/Controller/TypeFormationController.php b/module/OffreFormation/src/Controller/TypeFormationController.php index 7bbb50c304..998d6a3aeb 100644 --- a/module/OffreFormation/src/Controller/TypeFormationController.php +++ b/module/OffreFormation/src/Controller/TypeFormationController.php @@ -56,13 +56,12 @@ class TypeFormationController extends AbstractController ]); $typeFormation = $this->getEvent()->getParam('typeFormation'); - - $form = $this->getFormTypeFormationTypeFormationSaisie(); + $form = $this->getFormTypeFormationTypeFormationSaisie(); if (empty($typeFormation)) { - $title = "Création d'un nouveau type de formation"; + $title = "Création d'un nouveau type de formation"; /** @var TypeFormation $typeFormation */ - $typeFormation = $this->getServiceTypeFormation()->newEntity(); + $typeFormation = $this->getServiceTypeFormation()->newEntity(); $groupeTypeFormation = $this->getEvent()->getParam('groupeTypeFormation'); $typeFormation->setGroupe($groupeTypeFormation); } else { @@ -82,6 +81,32 @@ class TypeFormationController extends AbstractController + public function ajoutAction() + { + $this->em()->getFilters()->enable('historique')->init([ + GroupeTypeFormation::class, + ]); + + $form = $this->getFormTypeFormationTypeFormationSaisie(); + $title = "Création d'un nouveau type de formation"; + /** @var TypeFormation $typeFormation */ + $typeFormation = $this->getServiceTypeFormation()->newEntity(); + $groupeTypeFormation = $this->getEvent()->getParam('groupeTypeFormation'); + $typeFormation->setGroupe($groupeTypeFormation); + + $form->bindRequestSave($typeFormation, $this->getRequest(), function () use ($typeFormation, $form) { + + $this->getServiceTypeFormation()->save($typeFormation); + $this->flashMessenger()->addSuccessMessage( + "Ajout réussi" + ); + }); + + return compact('form', 'title'); + } + + + public function saisieGroupeAction() { $groupeTypeFormation = $this->getEvent()->getParam('groupeTypeFormation'); diff --git a/module/OffreFormation/view/offre-formation/type-formation/ajout.phtml b/module/OffreFormation/view/offre-formation/type-formation/ajout.phtml new file mode 100755 index 0000000000..ac28762d2c --- /dev/null +++ b/module/OffreFormation/view/offre-formation/type-formation/ajout.phtml @@ -0,0 +1,7 @@ +<?php +/** + * @var $this \Application\View\Renderer\PhpRenderer + */ + +echo $this->messenger()->addCurrentMessagesFromFlashMessenger(); +echo $this->form($form); diff --git a/module/OffreFormation/view/offre-formation/type-formation/index.phtml b/module/OffreFormation/view/offre-formation/type-formation/index.phtml index 38b071c75d..15df23feeb 100755 --- a/module/OffreFormation/view/offre-formation/type-formation/index.phtml +++ b/module/OffreFormation/view/offre-formation/type-formation/index.phtml @@ -86,7 +86,7 @@ echo $this->messenger()->addCurrentMessagesFromFlashMessenger(); <?php if ($canEdit): ?> <tr class="champ-triable"> <a class="btn btn-primary ajax-modal " data-event="type-formation-edition" - href="<?= $this->url('type-formation/saisie', ['typeFormation' => '', 'groupeTypeFormation' => $groupeTypeFormation->getId()]); ?>"><i + href="<?= $this->url('type-formation/ajout', ['groupeTypeFormation' => $groupeTypeFormation->getId()]); ?>"><i class="fas fa-plus"></i> Ajout d'un nouveau type de formation</a> </tr> -- GitLab