Commit 40efeb3a authored by Jean-Baptiste Oellers's avatar Jean-Baptiste Oellers
Browse files

Ajout modification étape avec nom et titre

parent 96443a32
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -621,7 +621,15 @@ return array(
                        'conventionModeles',
                        'conventionModeleConfigurer',
                        'conventionModeleConfigurerInformationsAjouter',
                        'conventionModeleConfigurerEtapesAjouter'
                    ],
                    'roles' => ['user']
                ],

                [
                    'controller' => 'ConventionModeleEtapeAdministration',
                    'action' => [
                        'ajouter',
                        'configurer'
                    ],
                    'roles' => ['user']
                ],
@@ -735,6 +743,7 @@ return array(
            'Codenaf' => \Oscar\Controller\CodenafControllerFactory::class,
            'Connector' => \Oscar\Controller\ConnectorControllerFactory::class,
            'ConventionModeleAdministration' => \Oscar\Controller\ConventionModeleAdministrationControllerFactory::class,
            'ConventionModeleEtapeAdministration' => \Oscar\Controller\ConventionModeleEtapeAdministrationControllerFactory::class,
            'DateType' => \Oscar\Controller\DateTypeControllerFactory::class,
            'Depense' => \Oscar\Controller\DepenseControllerFactory::class,
            \Oscar\Controller\EnrollController::class => \Oscar\Controller\EnrollControllerFactory::class,
+7 −4
Original line number Diff line number Diff line
@@ -2111,17 +2111,20 @@ administration:
                      action: conventionModeleConfigurerInformationsAjouter
            etapes:
              type: segment
              may_terminate: false
              may_terminate: true
              options:
                route: /etapes
                defaults:
                  controller: ConventionModeleEtapeAdministration
                  action: ajouter
              child_routes:
                ajouter:
                configurer:
                  type: segment
                  may_terminate: true
                  options:
                    route: /ajouter
                    route: /:idEtape
                    defaults:
                      action: conventionModeleConfigurerEtapesAjouter
                      action: configurer

    # Gestion et chargement du référenciel des pays
    logs:
+0 −23
Original line number Diff line number Diff line
@@ -8,9 +8,6 @@ class ConventionModeleAdministrationController extends AbstractOscarController
    /** @var \Oscar\Service\ConventionModeleService */
    public $conventionModeleService;

    /** @var \Oscar\Service\ConventionModeleEtapeService */
    public $conventionModeleEtapeService;

    public function conventionModelesAction()
    {
        if (!$this->getRequest()->isPost()) {
@@ -61,24 +58,4 @@ class ConventionModeleAdministrationController extends AbstractOscarController
        
        return ['conventionModele' => $conventionModele];
    }

    public function conventionModeleConfigurerEtapesAjouterAction()
    {
        /** @var \Oscar\Entity\ConventionModele $conventionModele */
        $conventionModele = $this->getEntityManager()->find(\Oscar\Entity\ConventionModele::class, $this->params('id'));
        if (!$conventionModele) {
            return $this->getResponseNotFound("Le modèle de convention n'a pas été trouvé.");
        }

        if (!$this->getRequest()->isPost()) {
            return ['conventionModele' => $conventionModele];
        }

        if ($this->params()->fromPost('action') == "creer") {
            $this->conventionModeleEtapeService->creer($conventionModele, $this->params()->fromPost('titre'), $this->getCurrentPerson());
            return $this->redirect()->toRoute('administration/conventionModeles');
        }

        return $this->redirect()->toRoute('administration/conventionModeles/configurer/etapes/ajouter', ['id' => $conventionModele->id]);
    }
}
+0 −1
Original line number Diff line number Diff line
@@ -15,7 +15,6 @@ class ConventionModeleAdministrationControllerFactory implements FactoryInterfac
        $c->setEntityManager($container->get(EntityManager::class));
        $c->setOscarUserContextService($container->get(OscarUserContext::class));
        $c->conventionModeleService = $container->get(\Oscar\Service\ConventionModeleService::class);
        $c->conventionModeleEtapeService = $container->get(\Oscar\Service\ConventionModeleEtapeService::class);
        return $c;
    }
}
+56 −0
Original line number Diff line number Diff line
<?php

namespace Oscar\Controller;

class ConventionModeleEtapeAdministrationController extends AbstractOscarController
{

    /** @var \Oscar\Service\ConventionModeleEtapeService */
    public $conventionModeleEtapeService;

    public function ajouterAction()
    {
        if (!$this->getRequest()->isPost()) {
            return $this->getResponseNotFound("405 Method not allowed.");
        }

        /** @var \Oscar\Entity\ConventionModele $conventionModele */
        $conventionModele = $this->getEntityManager()->find(\Oscar\Entity\ConventionModele::class, $this->params('id'));
        if (!$conventionModele) {
            return $this->getResponseNotFound("Le modèle de convention n'a pas été trouvé.");
        }

        $etape = $this->conventionModeleEtapeService->creer($conventionModele, $this->params()->fromPost('nom'), $this->getCurrentPerson());

        return $this->redirect()->toRoute('administration/conventionModeles/configurer/etapes/configurer', ['id' => $conventionModele->id, 'idEtape' => $etape->id]);
    }

    public function configurerAction()
    {
        /** @var \Oscar\Entity\ConventionModele $conventionModele */
        $conventionModele = $this->getEntityManager()->find(\Oscar\Entity\ConventionModele::class, $this->params('id'));
        if (!$conventionModele) {
            return $this->getResponseNotFound("Le modèle de convention n'a pas été trouvé.");
        }

        /** @var \Oscar\Entity\ConventionModeleEtape $conventionModeleEtape */
        $conventionModeleEtape = $this->getEntityManager()->find(\Oscar\Entity\ConventionModeleEtape::class, $this->params('idEtape'));
        if (!$conventionModeleEtape) {
            return $this->getResponseNotFound("L'étape de saisie du modèle de convention n'a pas été trouvée.");
        }

        if (!$this->getRequest()->isPost()) {
            return ['conventionModele' => $conventionModele, 'conventionModeleEtape' => $conventionModeleEtape];
        }

        if ($this->params()->fromPost('action') == "modifier") {
            $this->conventionModeleEtapeService->modifier($conventionModeleEtape,
             $this->params()->fromPost('nom'), $this->params()->fromPost('titre'), $this->getCurrentPerson());
        } else if ($this->params()->fromPost('action') == "supprimer") {
            $this->conventionModeleEtapeService->supprimer($conventionModeleEtape, $this->getCurrentPerson());
            return $this->redirect()->toRoute('administration/conventionModeles/configurer', ['id' => $conventionModele->id]);
        }

        return $this->redirect()->toRoute('administration/conventionModeles/configurer/etapes/configurer', ['id' => $conventionModele->id, 'idEtape' => $conventionModeleEtape->id]);
    }
}
Loading