Commit 1511c43a authored by Jean-Baptiste Oellers's avatar Jean-Baptiste Oellers
Browse files

Passage aux modèles de convention

parent a6374197
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -616,11 +616,11 @@ return array(
                ],

                [
                    'controller' => 'ConventionAdministration',
                    'controller' => 'ConventionModeleAdministration',
                    'action' => [
                        'conventions',
                        'conventionConfigurer',
                        'conventionConfigurerInformationsAjouter'
                        'conventionModeles',
                        'conventionModeleConfigurer',
                        'conventionModeleConfigurerInformationsAjouter'
                    ],
                    'roles' => ['user']
                ],
@@ -666,7 +666,7 @@ return array(
            \Oscar\Service\CheminDecisionnelService::class => \Oscar\Service\CheminDecisionnelServiceFactory::class,
            \Oscar\Service\ConnectorService::class => \Oscar\Service\ConnectorServiceFactory::class,
            \Oscar\Service\ContractDocumentService::class => \Oscar\Service\ContractDocumentServiceFactory::class,
            \Oscar\Service\ConventionService::class => \Oscar\Service\ConventionServiceFactory::class,
            \Oscar\Service\ConventionModeleService::class => \Oscar\Service\ConventionModeleServiceFactory::class,
            \Oscar\Service\DocumentFormatterService::class => \Oscar\Service\DocumentFormatterServiceFactory::class,
            \Oscar\Service\Fixture\FixtureService::class => \Oscar\Service\Fixture\FixtureServiceFactory::class,
            \Oscar\Service\GearmanJobLauncherService::class => \Oscar\Service\GearmanJobLauncherServiceFactory::class,
@@ -732,7 +732,7 @@ return array(
            'CheminDecisionnelAdministration' => \Oscar\Controller\CheminDecisionnelAdministrationControllerFactory::class,
            'Codenaf' => \Oscar\Controller\CodenafControllerFactory::class,
            'Connector' => \Oscar\Controller\ConnectorControllerFactory::class,
            'ConventionAdministration' => \Oscar\Controller\ConventionAdministrationControllerFactory::class,
            'ConventionModeleAdministration' => \Oscar\Controller\ConventionModeleAdministrationControllerFactory::class,
            'DateType' => \Oscar\Controller\DateTypeControllerFactory::class,
            'Depense' => \Oscar\Controller\DepenseControllerFactory::class,
            \Oscar\Controller\EnrollController::class => \Oscar\Controller\EnrollControllerFactory::class,
+6 −6
Original line number Diff line number Diff line
@@ -2079,14 +2079,14 @@ administration:
                defaults:
                  action: formulaire

    conventions:
    conventionModeles:
      type: segment
      may_terminate: true
      options:
        route: /conventions
        route: /convention-modeles
        defaults:
          controller: ConventionAdministration
          action: conventions
          controller: ConventionModeleAdministration
          action: conventionModeles
      child_routes:
        configurer:
          type: segment
@@ -2094,7 +2094,7 @@ administration:
          options:
            route: /:id
            defaults:
              action: conventionConfigurer
              action: conventionModeleConfigurer
          child_routes:
            informations:
              type: segment
@@ -2108,7 +2108,7 @@ administration:
                  options:
                    route: /ajouter
                    defaults:
                      action: conventionConfigurerInformationsAjouter
                      action: conventionModeleConfigurerInformationsAjouter

    # Gestion et chargement du référenciel des pays
    logs:
+0 −57
Original line number Diff line number Diff line
<?php

namespace Oscar\Controller;

class ConventionAdministrationController extends AbstractOscarController
{

    /** @var \Oscar\Service\ConventionService */
    public $conventionService;

    public function conventionsAction()
    {
        if (!$this->getRequest()->isPost()) {
            $conventions = $this->getEntityManager()->getRepository(\Oscar\Entity\Convention::class)->findAll();
            return ['conventions' => $conventions];
        }

        if ($this->params()->fromPost('action') == "créer") {
            $this->conventionService->créerNouvelle($this->params()->fromPost('nom'), $this->getCurrentPerson());
        }

        return $this->redirect()->toRoute('administration/conventions');
    }

    public function conventionConfigurerAction()
    {
        /** @var \Oscar\Entity\Convention $convention */
        $convention = $this->getEntityManager()->find(\Oscar\Entity\Convention::class, $this->params('id'));
        if (!$convention) {
            return $this->getResponseNotFound("La convention n'a pas été trouvée.");
        }

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

        if ($this->params()->fromPost('action') == "supprimer") {
            $this->conventionService->supprimer($convention, $this->getCurrentPerson());
            return $this->redirect()->toRoute('administration/conventions');
        } else if ($this->params()->fromPost('action') == "modifier_nom") {
            $this->conventionService->modifierNom($convention, $this->params()->fromPost('nom'), $this->getCurrentPerson());
        }

        return $this->redirect()->toRoute('administration/conventions/configurer', ['id' => $convention->id]);
    }

    public function conventionConfigurerInformationsAjouterAction()
    {
        /** @var \Oscar\Entity\Convention $convention */
        $convention = $this->getEntityManager()->find(\Oscar\Entity\Convention::class, $this->params('id'));
        if (!$convention) {
            return $this->getResponseNotFound("La convention n'a pas été trouvée.");
        }
        
        return ['convention' => $convention];
    }
}
+57 −0
Original line number Diff line number Diff line
<?php

namespace Oscar\Controller;

class ConventionModeleAdministrationController extends AbstractOscarController
{

    /** @var \Oscar\Service\ConventionModeleService */
    public $conventionModeleService;

    public function conventionModelesAction()
    {
        if (!$this->getRequest()->isPost()) {
            $conventionModeles = $this->getEntityManager()->getRepository(\Oscar\Entity\ConventionModele::class)->findAll();
            return ['conventionModeles' => $conventionModeles];
        }

        if ($this->params()->fromPost('action') == "créer") {
            $this->conventionModeleService->créerNouvelle($this->params()->fromPost('nom'), $this->getCurrentPerson());
        }

        return $this->redirect()->toRoute('administration/conventionModeles');
    }

    public function conventionModeleConfigurerAction()
    {
        /** @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') == "supprimer") {
            $this->conventionModeleService->supprimer($conventionModele, $this->getCurrentPerson());
            return $this->redirect()->toRoute('administration/conventionModeles');
        } else if ($this->params()->fromPost('action') == "modifier_nom") {
            $this->conventionModeleService->modifierNom($conventionModele, $this->params()->fromPost('nom'), $this->getCurrentPerson());
        }

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

    public function conventionModeleConfigurerInformationsAjouterAction()
    {
        /** @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é.");
        }
        
        return ['conventionModele' => $conventionModele];
    }
}
+3 −3
Original line number Diff line number Diff line
@@ -7,14 +7,14 @@ use Interop\Container\ContainerInterface;
use Laminas\ServiceManager\Factory\FactoryInterface;
use Oscar\Service\OscarUserContext;

class ConventionAdministrationControllerFactory implements FactoryInterface
class ConventionModeleAdministrationControllerFactory implements FactoryInterface
{
    public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
    {
        $c = new ConventionAdministrationController();
        $c = new ConventionModeleAdministrationController();
        $c->setEntityManager($container->get(EntityManager::class));
        $c->setOscarUserContextService($container->get(OscarUserContext::class));
        $c->conventionService = $container->get(\Oscar\Service\ConventionService::class);
        $c->conventionModeleService = $container->get(\Oscar\Service\ConventionModeleService::class);
        return $c;
    }
}
Loading