diff --git a/module/OffreFormation/config/module.config.php b/module/OffreFormation/config/module.config.php index ced0b64dde330558cb3ec18b73f8b5fcaebdb69d..0e5ca9cda69479f8c166fa35329c53c913e08f7f 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 7bbb50c304335fb0c01ab18385097d9741d001f4..998d6a3aeb3707adf73b6c0febeee3fbd9348c4a 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 0000000000000000000000000000000000000000..ac28762d2c392f055cf83ceaa86f7de06e74155e --- /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 38b071c75d0b0cbd08e5ac1f9970ad25285492e5..15df23feebff053332b708cb6f9d329e065f120a 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>