Commit 6299d1fc authored by Jean-Baptiste Oellers's avatar Jean-Baptiste Oellers
Browse files

Ajout convention création suppression

parent ce342156
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -614,6 +614,14 @@ return array(
                    ],
                    'roles' => ['user']
                ],

                [
                    'controller' => 'ConventionAdministration',
                    'action' => [
                        'conventions'
                    ],
                    'roles' => ['user']
                ],
            ]
        ],
    ],
@@ -656,6 +664,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\DocumentFormatterService::class => \Oscar\Service\DocumentFormatterServiceFactory::class,
            \Oscar\Service\Fixture\FixtureService::class => \Oscar\Service\Fixture\FixtureServiceFactory::class,
            \Oscar\Service\GearmanJobLauncherService::class => \Oscar\Service\GearmanJobLauncherServiceFactory::class,
@@ -721,6 +730,7 @@ return array(
            'CheminDecisionnelAdministration' => \Oscar\Controller\CheminDecisionnelAdministrationControllerFactory::class,
            'Codenaf' => \Oscar\Controller\CodenafControllerFactory::class,
            'Connector' => \Oscar\Controller\ConnectorControllerFactory::class,
            'ConventionAdministration' => \Oscar\Controller\ConventionAdministrationControllerFactory::class,
            'DateType' => \Oscar\Controller\DateTypeControllerFactory::class,
            'Depense' => \Oscar\Controller\DepenseControllerFactory::class,
            \Oscar\Controller\EnrollController::class => \Oscar\Controller\EnrollControllerFactory::class,
+9 −0
Original line number Diff line number Diff line
@@ -2079,6 +2079,15 @@ administration:
                defaults:
                  action: formulaire

    conventions:
      type: segment
      may_terminate: true
      options:
        route: /conventions
        defaults:
          controller: ConventionAdministration
          action: conventions

    # Gestion et chargement du référenciel des pays
    logs:
      type: segment
+25 −0
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') == "convention_creer") {
            $this->conventionService->creerNouvelle($this->params()->fromPost('nom'), $this->getCurrentPerson());
        } else if ($this->params()->fromPost('action') == "convention_supprimer") {
            $this->conventionService->supprimer($this->params()->fromPost('nom'), $this->getCurrentPerson());
        }

        return $this->redirect()->toRoute('administration/conventions');
    }
}
+20 −0
Original line number Diff line number Diff line
<?php

namespace Oscar\Controller;

use Doctrine\ORM\EntityManager;
use Interop\Container\ContainerInterface;
use Laminas\ServiceManager\Factory\FactoryInterface;
use Oscar\Service\OscarUserContext;

class ConventionAdministrationControllerFactory implements FactoryInterface
{
    public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
    {
        $c = new ConventionAdministrationController();
        $c->setEntityManager($container->get(EntityManager::class));
        $c->setOscarUserContextService($container->get(OscarUserContext::class));
        $c->conventionService = $container->get(\Oscar\Service\ConventionService::class);
        return $c;
    }
}
+59 −0
Original line number Diff line number Diff line
<?php

namespace Oscar\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Class Convention
 * @package Oscar\Entity
 * @ORM\Entity
 */
class Convention
{
    /**
     * @var string
     * @ORM\Id
     * @ORM\Column(type="text")
     */
    public $nom;

    /**
     * @var \DateTime
     * @ORM\Column(type="datetime", nullable=false)
     */
    public $dateCreated;

    /**
     * @var Person
     * @ORM\ManyToOne(targetEntity="Person")
     */
    public $createdBy;

        /**
     * @var \DateTime
     * @ORM\Column(type="datetime", nullable=true)
     */
    public $dateUpdated;

    /**
     * @var Person
     * @ORM\ManyToOne(targetEntity="Person")
     */
    public $updatedBy;

    public function __construct()
    {
        $this->dateCreated = new \DateTime();
    }

    public function __toString()
    {
        return (string) $this->nom;
    }

    public function getResourceId()
    {
        return self::class;
    }
}
Loading