Skip to content
Snippets Groups Projects
Commit ac083826 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Refactoring HasMetier : interface, trait et form

parent aebac72d
No related branches found
No related tags found
No related merge requests found
Showing
with 411 additions and 138 deletions
...@@ -4,10 +4,6 @@ namespace Application; ...@@ -4,10 +4,6 @@ namespace Application;
use Application\Controller\FicheMetierController; use Application\Controller\FicheMetierController;
use Application\Controller\FicheMetierControllerFactory; use Application\Controller\FicheMetierControllerFactory;
use Application\Form\FicheMetier\LibelleForm;
use Application\Form\FicheMetier\LibelleFormFactory;
use Application\Form\FicheMetier\LibelleHydrator;
use Application\Form\FicheMetier\LibelleHydratorFactory;
use Application\Form\FicheMetierImportation\FicheMetierImportationForm; use Application\Form\FicheMetierImportation\FicheMetierImportationForm;
use Application\Form\FicheMetierImportation\FicheMetierImportationFormFactory; use Application\Form\FicheMetierImportation\FicheMetierImportationFormFactory;
use Application\Form\FicheMetierImportation\FichierMetierImportationHydrator; use Application\Form\FicheMetierImportation\FichierMetierImportationHydrator;
...@@ -24,9 +20,9 @@ use Application\Service\FicheMetier\FicheMetierServiceFactory; ...@@ -24,9 +20,9 @@ use Application\Service\FicheMetier\FicheMetierServiceFactory;
use Application\View\Helper\FicheMetierExterneViewHelper; use Application\View\Helper\FicheMetierExterneViewHelper;
use Application\View\Helper\RaisonsViewHelper; use Application\View\Helper\RaisonsViewHelper;
use Application\View\Helper\SpecificitePosteViewHelper; use Application\View\Helper\SpecificitePosteViewHelper;
use UnicaenPrivilege\Guard\PrivilegeController;
use Laminas\Router\Http\Literal; use Laminas\Router\Http\Literal;
use Laminas\Router\Http\Segment; use Laminas\Router\Http\Segment;
use UnicaenPrivilege\Guard\PrivilegeController;
return [ return [
'bjyauthorize' => [ 'bjyauthorize' => [
...@@ -538,7 +534,6 @@ return [ ...@@ -538,7 +534,6 @@ return [
], ],
'form_elements' => [ 'form_elements' => [
'factories' => [ 'factories' => [
LibelleForm::class => LibelleFormFactory::class,
SelectionFicheMetierForm::class => SelectionFicheMetierFormFactory::class, SelectionFicheMetierForm::class => SelectionFicheMetierFormFactory::class,
FicheMetierImportationForm::class => FicheMetierImportationFormFactory::class, FicheMetierImportationForm::class => FicheMetierImportationFormFactory::class,
RaisonForm::class => RaisonFormFactory::class, RaisonForm::class => RaisonFormFactory::class,
...@@ -546,7 +541,6 @@ return [ ...@@ -546,7 +541,6 @@ return [
], ],
'hydrators' => [ 'hydrators' => [
'factories' => [ 'factories' => [
LibelleHydrator::class => LibelleHydratorFactory::class,
FichierMetierImportationHydrator::class => FichierMetierImportationHydratorFactory::class, FichierMetierImportationHydrator::class => FichierMetierImportationHydratorFactory::class,
RaisonHydrator::class => RaisonHydratorFactory::class, RaisonHydrator::class => RaisonHydratorFactory::class,
], ],
......
...@@ -7,8 +7,6 @@ use Application\Entity\Db\FicheMetier; ...@@ -7,8 +7,6 @@ use Application\Entity\Db\FicheMetier;
use Application\Entity\Db\ParcoursDeFormation; use Application\Entity\Db\ParcoursDeFormation;
use Application\Form\Activite\ActiviteForm; use Application\Form\Activite\ActiviteForm;
use Application\Form\Activite\ActiviteFormAwareTrait; use Application\Form\Activite\ActiviteFormAwareTrait;
use Application\Form\FicheMetier\LibelleForm;
use Application\Form\FicheMetier\LibelleFormAwareTrait;
use Application\Form\FicheMetierImportation\FicheMetierImportationFormAwareTrait; use Application\Form\FicheMetierImportation\FicheMetierImportationFormAwareTrait;
use Application\Form\Raison\RaisonFormAwareTrait; use Application\Form\Raison\RaisonFormAwareTrait;
use Application\Form\SelectionFicheMetier\SelectionFicheMetierFormAwareTrait; use Application\Form\SelectionFicheMetier\SelectionFicheMetierFormAwareTrait;
...@@ -35,6 +33,7 @@ use Laminas\Http\Response; ...@@ -35,6 +33,7 @@ use Laminas\Http\Response;
use Laminas\Mvc\Controller\AbstractActionController; use Laminas\Mvc\Controller\AbstractActionController;
use Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger; use Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger;
use Laminas\View\Model\ViewModel; use Laminas\View\Model\ViewModel;
use Metier\Form\SelectionnerMetier\SelectionnerMetierFormAwareTrait;
use Metier\Service\Domaine\DomaineServiceAwareTrait; use Metier\Service\Domaine\DomaineServiceAwareTrait;
use Metier\Service\Metier\MetierServiceAwareTrait; use Metier\Service\Metier\MetierServiceAwareTrait;
use Mpdf\MpdfException; use Mpdf\MpdfException;
...@@ -66,7 +65,6 @@ class FicheMetierController extends AbstractActionController ...@@ -66,7 +65,6 @@ class FicheMetierController extends AbstractActionController
/** Traits associés aux formulaires */ /** Traits associés aux formulaires */
use ActiviteFormAwareTrait; use ActiviteFormAwareTrait;
use LibelleFormAwareTrait;
use FicheMetierImportationFormAwareTrait; use FicheMetierImportationFormAwareTrait;
use RaisonFormAwareTrait; use RaisonFormAwareTrait;
use SelectionApplicationFormAwareTrait; use SelectionApplicationFormAwareTrait;
...@@ -74,6 +72,7 @@ class FicheMetierController extends AbstractActionController ...@@ -74,6 +72,7 @@ class FicheMetierController extends AbstractActionController
use SelectionEtatFormAwareTrait; use SelectionEtatFormAwareTrait;
use SelectionFicheMetierFormAwareTrait; use SelectionFicheMetierFormAwareTrait;
use SelectionFormationFormAwareTrait; use SelectionFormationFormAwareTrait;
use SelectionnerMetierFormAwareTrait;
const REFERENS_SEP = "|"; const REFERENS_SEP = "|";
...@@ -125,8 +124,7 @@ class FicheMetierController extends AbstractActionController ...@@ -125,8 +124,7 @@ class FicheMetierController extends AbstractActionController
$fiche = new FicheMetier(); $fiche = new FicheMetier();
$fiche->setEtat($this->getEtatService()->getEtatByCode(FicheMetierEtats::ETAT_REDACTION)); $fiche->setEtat($this->getEtatService()->getEtatByCode(FicheMetierEtats::ETAT_REDACTION));
/** @var LibelleForm $form */ $form = $this->getSelectionnerMetierForm();
$form = $this->getLibelleForm();
$form->setAttribute('action', $this->url()->fromRoute('fiche-metier-type/ajouter', [], [], true)); $form->setAttribute('action', $this->url()->fromRoute('fiche-metier-type/ajouter', [], [], true));
$form->bind($fiche); $form->bind($fiche);
...@@ -150,7 +148,7 @@ class FicheMetierController extends AbstractActionController ...@@ -150,7 +148,7 @@ class FicheMetierController extends AbstractActionController
$vm = new ViewModel(); $vm = new ViewModel();
$vm->setTemplate('application/default/default-form'); $vm->setTemplate('application/default/default-form');
$vm->setVariables([ $vm->setVariables([
'title' => 'Ajout d\'une fiche metier', 'title' => "Ajout d'une fiche metier",
'form' => $form, 'form' => $form,
]); ]);
return $vm; return $vm;
...@@ -281,8 +279,7 @@ class FicheMetierController extends AbstractActionController ...@@ -281,8 +279,7 @@ class FicheMetierController extends AbstractActionController
{ {
$fiche = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'id', true); $fiche = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'id', true);
/** @var LibelleForm $form */ $form = $this->getSelectionnerMetierForm();
$form = $this->getLibelleForm();
$form->setAttribute('action', $this->url()->fromRoute('fiche-metier-type/editer-libelle', ['id' => $fiche->getId()], [], true)); $form->setAttribute('action', $this->url()->fromRoute('fiche-metier-type/editer-libelle', ['id' => $fiche->getId()], [], true));
$form->bind($fiche); $form->bind($fiche);
......
...@@ -3,22 +3,22 @@ ...@@ -3,22 +3,22 @@
namespace Application\Controller; namespace Application\Controller;
use Application\Form\Activite\ActiviteForm; use Application\Form\Activite\ActiviteForm;
use Application\Form\FicheMetier\LibelleForm;
use Application\Form\FicheMetierImportation\FicheMetierImportationForm; use Application\Form\FicheMetierImportation\FicheMetierImportationForm;
use Application\Form\Raison\RaisonForm; use Application\Form\Raison\RaisonForm;
use Application\Service\ActiviteDescription\ActiviteDescriptionService;
use Element\Form\SelectionApplication\SelectionApplicationForm;
use Element\Form\SelectionCompetence\SelectionCompetenceForm;
use Application\Form\SelectionFicheMetier\SelectionFicheMetierForm; use Application\Form\SelectionFicheMetier\SelectionFicheMetierForm;
use Application\Service\Activite\ActiviteService; use Application\Service\Activite\ActiviteService;
use Application\Service\ActiviteDescription\ActiviteDescriptionService;
use Application\Service\Agent\AgentService; use Application\Service\Agent\AgentService;
use Application\Service\Configuration\ConfigurationService; use Application\Service\Configuration\ConfigurationService;
use Application\Service\FicheMetier\FicheMetierService; use Application\Service\FicheMetier\FicheMetierService;
use Application\Service\ParcoursDeFormation\ParcoursDeFormationService;
use Element\Form\SelectionApplication\SelectionApplicationForm;
use Element\Form\SelectionCompetence\SelectionCompetenceForm;
use Element\Service\HasApplicationCollection\HasApplicationCollectionService; use Element\Service\HasApplicationCollection\HasApplicationCollectionService;
use Element\Service\HasCompetenceCollection\HasCompetenceCollectionService; use Element\Service\HasCompetenceCollection\HasCompetenceCollectionService;
use Application\Service\ParcoursDeFormation\ParcoursDeFormationService;
use Formation\Form\SelectionFormation\SelectionFormationForm; use Formation\Form\SelectionFormation\SelectionFormationForm;
use Interop\Container\ContainerInterface; use Interop\Container\ContainerInterface;
use Metier\Form\SelectionnerMetier\SelectionnerMetierForm;
use Metier\Service\Domaine\DomaineService; use Metier\Service\Domaine\DomaineService;
use Metier\Service\Metier\MetierService; use Metier\Service\Metier\MetierService;
use Psr\Container\ContainerExceptionInterface; use Psr\Container\ContainerExceptionInterface;
...@@ -69,7 +69,6 @@ class FicheMetierControllerFactory ...@@ -69,7 +69,6 @@ class FicheMetierControllerFactory
$parcoursService = $container->get(ParcoursDeFormationService::class); $parcoursService = $container->get(ParcoursDeFormationService::class);
/** /**
* @var LibelleForm $libelleForm
* @var FicheMetierImportationForm $ficheMetierImportationForm * @var FicheMetierImportationForm $ficheMetierImportationForm
* @var ActiviteForm $activiteForm * @var ActiviteForm $activiteForm
* @var RaisonForm $raisonForm * @var RaisonForm $raisonForm
...@@ -78,8 +77,8 @@ class FicheMetierControllerFactory ...@@ -78,8 +77,8 @@ class FicheMetierControllerFactory
* @var SelectionFormationForm $selectionFormationForm * @var SelectionFormationForm $selectionFormationForm
* @var SelectionEtatForm $selectionEtatForm * @var SelectionEtatForm $selectionEtatForm
* @var SelectionFicheMetierForm $selectionFicheMetierForm * @var SelectionFicheMetierForm $selectionFicheMetierForm
* @var SelectionnerMetierForm $selectionnerMetierForm
*/ */
$libelleForm = $container->get('FormElementManager')->get(LibelleForm::class);
$activiteForm = $container->get('FormElementManager')->get(ActiviteForm::class); $activiteForm = $container->get('FormElementManager')->get(ActiviteForm::class);
$raisonForm = $container->get('FormElementManager')->get(RaisonForm::class); $raisonForm = $container->get('FormElementManager')->get(RaisonForm::class);
$selectionApplicationForm = $container->get('FormElementManager')->get(SelectionApplicationForm::class); $selectionApplicationForm = $container->get('FormElementManager')->get(SelectionApplicationForm::class);
...@@ -88,6 +87,7 @@ class FicheMetierControllerFactory ...@@ -88,6 +87,7 @@ class FicheMetierControllerFactory
$selectionEtatForm = $container->get('FormElementManager')->get(SelectionEtatForm::class); $selectionEtatForm = $container->get('FormElementManager')->get(SelectionEtatForm::class);
$selectionFicheMetierForm = $container->get('FormElementManager')->get(SelectionFicheMetierForm::class); $selectionFicheMetierForm = $container->get('FormElementManager')->get(SelectionFicheMetierForm::class);
$ficheMetierImportationForm = $container->get('FormElementManager')->get(FicheMetierImportationForm::class); $ficheMetierImportationForm = $container->get('FormElementManager')->get(FicheMetierImportationForm::class);
$selectionnerMetierForm = $container->get('FormElementManager')->get(SelectionnerMetierForm::class);
/** @var FicheMetierController $controller */ /** @var FicheMetierController $controller */
$controller = new FicheMetierController(); $controller = new FicheMetierController();
...@@ -106,7 +106,6 @@ class FicheMetierControllerFactory ...@@ -106,7 +106,6 @@ class FicheMetierControllerFactory
$controller->setMetierService($metierService); $controller->setMetierService($metierService);
$controller->setParcoursDeFormationService($parcoursService); $controller->setParcoursDeFormationService($parcoursService);
$controller->setLibelleForm($libelleForm);
$controller->setActiviteForm($activiteForm); $controller->setActiviteForm($activiteForm);
$controller->setRaisonForm($raisonForm); $controller->setRaisonForm($raisonForm);
$controller->setSelectionApplicationForm($selectionApplicationForm); $controller->setSelectionApplicationForm($selectionApplicationForm);
...@@ -115,6 +114,7 @@ class FicheMetierControllerFactory ...@@ -115,6 +114,7 @@ class FicheMetierControllerFactory
$controller->setSelectionEtatForm($selectionEtatForm); $controller->setSelectionEtatForm($selectionEtatForm);
$controller->setSelectionFicheMetierForm($selectionFicheMetierForm); $controller->setSelectionFicheMetierForm($selectionFicheMetierForm);
$controller->setFicheMetierImportationForm($ficheMetierImportationForm); $controller->setFicheMetierImportationForm($ficheMetierImportationForm);
$controller->setSelectionnerMetierForm($selectionnerMetierForm);
return $controller; return $controller;
} }
......
...@@ -4,13 +4,15 @@ namespace Application\Entity\Db; ...@@ -4,13 +4,15 @@ namespace Application\Entity\Db;
use Application\Entity\Db\Interfaces\HasPeriodeInterface; use Application\Entity\Db\Interfaces\HasPeriodeInterface;
use Application\Entity\Db\Traits\HasPeriodeTrait; use Application\Entity\Db\Traits\HasPeriodeTrait;
use Metier\Entity\Db\Metier; use Metier\Entity\HasMetierInterface;
use Metier\Entity\HasMetierTrait;
use Structure\Entity\Db\Structure; use Structure\Entity\Db\Structure;
use UnicaenEtat\Entity\Db\Etat; use UnicaenEtat\Entity\Db\Etat;
use UnicaenUtilisateur\Entity\Db\HistoriqueAwareInterface; use UnicaenUtilisateur\Entity\Db\HistoriqueAwareInterface;
use UnicaenUtilisateur\Entity\Db\HistoriqueAwareTrait; use UnicaenUtilisateur\Entity\Db\HistoriqueAwareTrait;
class AgentStageObservation implements HistoriqueAwareInterface, HasPeriodeInterface { class AgentStageObservation implements HistoriqueAwareInterface, HasMetierInterface, HasPeriodeInterface {
use HasMetierTrait;
use HasPeriodeTrait; use HasPeriodeTrait;
use HistoriqueAwareTrait; use HistoriqueAwareTrait;
...@@ -20,8 +22,6 @@ class AgentStageObservation implements HistoriqueAwareInterface, HasPeriodeInter ...@@ -20,8 +22,6 @@ class AgentStageObservation implements HistoriqueAwareInterface, HasPeriodeInter
private $agent; private $agent;
/** @var Structure|null */ /** @var Structure|null */
private $structure; private $structure;
/** @var Metier|null */
private $metier;
/** @var string|null */ /** @var string|null */
private $complement; private $complement;
/** @var Etat|null */ /** @var Etat|null */
...@@ -71,24 +71,6 @@ class AgentStageObservation implements HistoriqueAwareInterface, HasPeriodeInter ...@@ -71,24 +71,6 @@ class AgentStageObservation implements HistoriqueAwareInterface, HasPeriodeInter
return $this; return $this;
} }
/**
* @return Metier|null
*/
public function getMetier(): ?Metier
{
return $this->metier;
}
/**
* @param Metier|null $metier
* @return AgentStageObservation
*/
public function setMetier(?Metier $metier): AgentStageObservation
{
$this->metier = $metier;
return $this;
}
/** /**
* @return string|null * @return string|null
*/ */
......
...@@ -5,11 +5,14 @@ namespace Application\Entity\Db; ...@@ -5,11 +5,14 @@ namespace Application\Entity\Db;
use Application\Entity\Db\Interfaces\HasPeriodeInterface; use Application\Entity\Db\Interfaces\HasPeriodeInterface;
use Application\Entity\Db\Traits\HasPeriodeTrait; use Application\Entity\Db\Traits\HasPeriodeTrait;
use Metier\Entity\Db\Metier; use Metier\Entity\Db\Metier;
use Metier\Entity\HasMetierInterface;
use Metier\Entity\HasMetierTrait;
use UnicaenEtat\Entity\Db\Etat; use UnicaenEtat\Entity\Db\Etat;
use UnicaenUtilisateur\Entity\Db\HistoriqueAwareInterface; use UnicaenUtilisateur\Entity\Db\HistoriqueAwareInterface;
use UnicaenUtilisateur\Entity\Db\HistoriqueAwareTrait; use UnicaenUtilisateur\Entity\Db\HistoriqueAwareTrait;
class AgentTutorat implements HistoriqueAwareInterface, HasPeriodeInterface { class AgentTutorat implements HistoriqueAwareInterface, HasMetierInterface, HasPeriodeInterface {
use HasMetierTrait;
use HasPeriodeTrait; use HasPeriodeTrait;
use HistoriqueAwareTrait; use HistoriqueAwareTrait;
...@@ -19,8 +22,6 @@ class AgentTutorat implements HistoriqueAwareInterface, HasPeriodeInterface { ...@@ -19,8 +22,6 @@ class AgentTutorat implements HistoriqueAwareInterface, HasPeriodeInterface {
private $agent; private $agent;
/** @var Agent|null */ /** @var Agent|null */
private $cible; private $cible;
/** @var Metier|null */
private $metier;
/** @var string|null */ /** @var string|null */
private $complement; private $complement;
/** @var bool|null */ /** @var bool|null */
...@@ -72,24 +73,6 @@ class AgentTutorat implements HistoriqueAwareInterface, HasPeriodeInterface { ...@@ -72,24 +73,6 @@ class AgentTutorat implements HistoriqueAwareInterface, HasPeriodeInterface {
return $this; return $this;
} }
/**
* @return Metier|null
*/
public function getMetier(): ?Metier
{
return $this->metier;
}
/**
* @param Metier|null $metier
* @return AgentTutorat
*/
public function setMetier(?Metier $metier): AgentTutorat
{
$this->metier = $metier;
return $this;
}
/** /**
* @return string|null * @return string|null
*/ */
......
...@@ -13,20 +13,22 @@ use Element\Entity\Db\Traits\HasApplicationCollectionTrait; ...@@ -13,20 +13,22 @@ use Element\Entity\Db\Traits\HasApplicationCollectionTrait;
use Element\Entity\Db\Traits\HasCompetenceCollectionTrait; use Element\Entity\Db\Traits\HasCompetenceCollectionTrait;
use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\ArrayCollection;
use Metier\Entity\Db\Metier; use Metier\Entity\Db\Metier;
use Metier\Entity\HasMetierInterface;
use Metier\Entity\HasMetierTrait;
use UnicaenEtat\Entity\Db\HasEtatInterface; use UnicaenEtat\Entity\Db\HasEtatInterface;
use UnicaenEtat\Entity\Db\HasEtatTrait; use UnicaenEtat\Entity\Db\HasEtatTrait;
use UnicaenUtilisateur\Entity\Db\HistoriqueAwareInterface; use UnicaenUtilisateur\Entity\Db\HistoriqueAwareInterface;
use UnicaenUtilisateur\Entity\Db\HistoriqueAwareTrait; use UnicaenUtilisateur\Entity\Db\HistoriqueAwareTrait;
class FicheMetier implements HistoriqueAwareInterface, HasEtatInterface, class FicheMetier implements HistoriqueAwareInterface, HasEtatInterface, HasMetierInterface,
HasApplicationCollectionInterface, HasCompetenceCollectionInterface { HasApplicationCollectionInterface, HasCompetenceCollectionInterface {
use HistoriqueAwareTrait; use HistoriqueAwareTrait;
use HasMetierTrait;
use HasEtatTrait; use HasEtatTrait;
use HasApplicationCollectionTrait; use HasApplicationCollectionTrait;
use HasCompetenceCollectionTrait; use HasCompetenceCollectionTrait;
private ?int $id = -1; private ?int $id = -1;
private ?Metier $metier = null;
private ?bool $hasExpertise = false; private ?bool $hasExpertise = false;
private ?string $raison = null; private ?string $raison = null;
...@@ -47,24 +49,6 @@ class FicheMetier implements HistoriqueAwareInterface, HasEtatInterface, ...@@ -47,24 +49,6 @@ class FicheMetier implements HistoriqueAwareInterface, HasEtatInterface,
return $this->id; return $this->id;
} }
/**
* @return Metier|null
*/
public function getMetier() : ?Metier
{
return $this->metier;
}
/**
* @param Metier|null $metier
* @return FicheMetier
*/
public function setMetier(?Metier $metier) : FicheMetier
{
$this->metier = $metier;
return $this;
}
/** /**
* @return bool|null * @return bool|null
*/ */
......
<?php
namespace Application\Form\FicheMetier;
trait LibelleFormAwareTrait {
/** @var LibelleForm $libelleForm */
private $libelleForm;
/**
* @return LibelleForm
*/
public function getLibelleForm()
{
return $this->libelleForm;
}
/**
* @param LibelleForm $libelleForm
* @return LibelleForm
*/
public function setLibelleForm($libelleForm)
{
$this->libelleForm = $libelleForm;
return $this->libelleForm;
}
}
\ No newline at end of file
<?php
namespace FicheMetier;
use Laminas\Mvc\ModuleRouteListener;
use Laminas\Mvc\MvcEvent;
use Laminas\Config\Factory as ConfigFactory;
use Laminas\Stdlib\ArrayUtils;
use Laminas\Stdlib\Glob;
class Module
{
public function onBootstrap(MvcEvent $e)
{
$eventManager = $e->getApplication()->getEventManager();
$moduleRouteListener = new ModuleRouteListener();
$moduleRouteListener->attach($eventManager);
}
public function getConfig()
{
$configInit = [
__DIR__ . '/config/module.config.php'
];
$configFiles = ArrayUtils::merge(
$configInit,
Glob::glob(__DIR__ . '/config/merged/{,*.}{config}.php', Glob::GLOB_BRACE)
);
return ConfigFactory::fromFiles($configFiles);
}
public function getAutoloaderConfig()
{
return array(
'Laminas\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
),
);
}
}
<?php
namespace FichePoste;
use UnicaenPrivilege\Guard\PrivilegeController;
use Laminas\Router\Http\Literal;
use Laminas\Router\Http\Segment;
return [
'bjyauthorize' => [
'guards' => [
PrivilegeController::class => [
],
],
],
'router' => [
'routes' => [
],
],
'service_manager' => [
'factories' => [],
],
'controllers' => [
'factories' => [],
],
'form_elements' => [
'factories' => [],
],
'hydrators' => [
'factories' => [],
]
];
\ No newline at end of file
<?php
namespace FicheMetier;
Use Doctrine\Persistence\Mapping\Driver\MappingDriverChain;
use Doctrine\ORM\Mapping\Driver\XmlDriver;
use UnicaenPrivilege\Guard\PrivilegeController;
return [
'bjyauthorize' => [
'guards' => [
PrivilegeController::class => [
],
],
],
'doctrine' => [
'driver' => [
'orm_default' => [
'class' => MappingDriverChain::class,
'drivers' => [
'FicheMetier\Entity\Db' => 'orm_default_xml_driver',
],
],
'orm_default_xml_driver' => [
'class' => XmlDriver::class,
'cache' => 'apc',
'paths' => [
__DIR__ . '/../src/FicheMetier/Entity/Db/Mapping',
],
],
],
'cache' => [
'apc' => [
'namespace' => 'PREECOG__FicheMetier__' . __NAMESPACE__,
],
],
],
'service_manager' => [
'factories' => [
],
],
'controllers' => [
'factories' => [
]
],
'form_elements' => [
'factories' => [
],
],
'hydrators' => [
'factories' => [
],
],
'view_helpers' => [
'invokables' => [
],
],
'view_manager' => [
'template_path_stack' => [
__DIR__ . '/../view',
],
],
];
<?php
namespace FichePoste;
use Laminas\Mvc\ModuleRouteListener;
use Laminas\Mvc\MvcEvent;
use Laminas\Config\Factory as ConfigFactory;
use Laminas\Stdlib\ArrayUtils;
use Laminas\Stdlib\Glob;
class Module
{
public function onBootstrap(MvcEvent $e)
{
$eventManager = $e->getApplication()->getEventManager();
$moduleRouteListener = new ModuleRouteListener();
$moduleRouteListener->attach($eventManager);
}
public function getConfig()
{
$configInit = [
__DIR__ . '/config/module.config.php'
];
$configFiles = ArrayUtils::merge(
$configInit,
Glob::glob(__DIR__ . '/config/merged/{,*.}{config}.php', Glob::GLOB_BRACE)
);
return ConfigFactory::fromFiles($configFiles);
}
public function getAutoloaderConfig()
{
return array(
'Laminas\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
),
);
}
}
<?php
namespace FichePoste;
use UnicaenPrivilege\Guard\PrivilegeController;
use Laminas\Router\Http\Literal;
use Laminas\Router\Http\Segment;
return [
'bjyauthorize' => [
'guards' => [
PrivilegeController::class => [
],
],
],
'router' => [
'routes' => [
],
],
'service_manager' => [
'factories' => [],
],
'controllers' => [
'factories' => [],
],
'form_elements' => [
'factories' => [],
],
'hydrators' => [
'factories' => [],
]
];
\ No newline at end of file
<?php
namespace FichePoste;
use Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain;
use Doctrine\ORM\Mapping\Driver\XmlDriver;
use UnicaenPrivilege\Guard\PrivilegeController;
return [
'bjyauthorize' => [
'guards' => [
PrivilegeController::class => [
],
],
],
'doctrine' => [
'driver' => [
'orm_default' => [
'class' => MappingDriverChain::class,
'drivers' => [
'Metier\Entity\Db' => 'orm_default_xml_driver',
],
],
'orm_default_xml_driver' => [
'class' => XmlDriver::class,
'cache' => 'apc',
'paths' => [
__DIR__ . '/../src/Metier/Entity/Db/Mapping',
],
],
],
'cache' => [
'apc' => [
'namespace' => 'PREECOG__Metier__' . __NAMESPACE__,
],
],
],
'service_manager' => [
'factories' => [
],
],
'controllers' => [
'factories' => [
]
],
'form_elements' => [
'factories' => [
],
],
'hydrators' => [
'factories' => [
],
],
'view_helpers' => [
'invokables' => [
],
],
'view_manager' => [
'template_path_stack' => [
__DIR__ . '/../view',
],
],
];
...@@ -13,6 +13,10 @@ use Metier\Form\Metier\MetierForm; ...@@ -13,6 +13,10 @@ use Metier\Form\Metier\MetierForm;
use Metier\Form\Metier\MetierFormFactory; use Metier\Form\Metier\MetierFormFactory;
use Metier\Form\Metier\MetierHydrator; use Metier\Form\Metier\MetierHydrator;
use Metier\Form\Metier\MetierHydratorFactory; use Metier\Form\Metier\MetierHydratorFactory;
use Metier\Form\SelectionnerMetier\SelectionnerMetierForm;
use Metier\Form\SelectionnerMetier\SelectionnerMetierFormFactory;
use Metier\Form\SelectionnerMetier\SelectionnerMetierHydrator;
use Metier\Form\SelectionnerMetier\SelectionnerMetierHydratorFactory;
use Metier\Provider\Privilege\MetierPrivileges; use Metier\Provider\Privilege\MetierPrivileges;
use Metier\Service\Metier\MetierService; use Metier\Service\Metier\MetierService;
use Metier\Service\Metier\MetierServiceFactory; use Metier\Service\Metier\MetierServiceFactory;
...@@ -276,11 +280,13 @@ return [ ...@@ -276,11 +280,13 @@ return [
'form_elements' => [ 'form_elements' => [
'factories' => [ 'factories' => [
MetierForm::class => MetierFormFactory::class, MetierForm::class => MetierFormFactory::class,
SelectionnerMetierForm::class => SelectionnerMetierFormFactory::class,
], ],
], ],
'hydrators' => [ 'hydrators' => [
'factories' => [ 'factories' => [
MetierHydrator::class => MetierHydratorFactory::class, MetierHydrator::class => MetierHydratorFactory::class,
SelectionnerMetierHydrator::class => SelectionnerMetierHydratorFactory::class,
], ],
], ],
'view_helpers' => [ 'view_helpers' => [
......
...@@ -2,16 +2,17 @@ ...@@ -2,16 +2,17 @@
namespace Metier\Entity\Db; namespace Metier\Entity\Db;
use Metier\Entity\HasMetierInterface;
use Metier\Entity\HasMetierTrait;
use UnicaenUtilisateur\Entity\Db\HistoriqueAwareInterface; use UnicaenUtilisateur\Entity\Db\HistoriqueAwareInterface;
use UnicaenUtilisateur\Entity\Db\HistoriqueAwareTrait; use UnicaenUtilisateur\Entity\Db\HistoriqueAwareTrait;
class Reference implements HistoriqueAwareInterface { class Reference implements HistoriqueAwareInterface, HasMetierInterface {
use HistoriqueAwareTrait; use HistoriqueAwareTrait;
use HasMetierTrait;
/** @var integer */ /** @var integer */
private $id; private $id;
/** @var Metier */
private $metier;
/** @var Referentiel */ /** @var Referentiel */
private $referentiel; private $referentiel;
/** @var string */ /** @var string */
...@@ -29,24 +30,6 @@ class Reference implements HistoriqueAwareInterface { ...@@ -29,24 +30,6 @@ class Reference implements HistoriqueAwareInterface {
return $this->id; return $this->id;
} }
/**
* @return Metier
*/
public function getMetier()
{
return $this->metier;
}
/**
* @param Metier $metier
* @return Reference
*/
public function setMetier(Metier $metier)
{
$this->metier = $metier;
return $this;
}
/** /**
* @return Referentiel * @return Referentiel
*/ */
......
<?php
namespace Metier\Entity;
use Metier\Entity\Db\Metier;
interface HasMetierInterface
{
public function getMetier() : ?Metier;
public function setMetier(?Metier $metier) : void;
}
\ No newline at end of file
<?php
namespace Metier\Entity;
use Metier\Entity\Db\Metier;
trait HasMetierTrait
{
private ?Metier $metier = null;
public function getMetier() : ?Metier
{
return $this->metier;
}
public function setMetier(?Metier $metier) : void
{
$this->metier = $metier;
}
}
\ No newline at end of file
<?php <?php
namespace Application\Form\FicheMetier; namespace Metier\Form\SelectionnerMetier;
use Metier\Service\Metier\MetierServiceAwareTrait; use Metier\Service\Metier\MetierServiceAwareTrait;
use Laminas\Form\Element\Button; use Laminas\Form\Element\Button;
use Laminas\Form\Element\Select; use Laminas\Form\Element\Select;
use Laminas\Form\Form; use Laminas\Form\Form;
class LibelleForm extends Form class SelectionnerMetierForm extends Form
{ {
use MetierServiceAwareTrait; use MetierServiceAwareTrait;
......
<?php
namespace Metier\Form\SelectionnerMetier;
trait SelectionnerMetierFormAwareTrait {
private SelectionnerMetierForm $selectionnerMetierForm;
public function getSelectionnerMetierForm() : SelectionnerMetierForm
{
return $this->selectionnerMetierForm;
}
public function setSelectionnerMetierForm(SelectionnerMetierForm $selectionnerMetierForm) : void
{
$this->selectionnerMetierForm = $selectionnerMetierForm;
}
}
\ No newline at end of file
<?php <?php
namespace Application\Form\FicheMetier; namespace Metier\Form\SelectionnerMetier;
use Metier\Service\Metier\MetierService; use Metier\Service\Metier\MetierService;
use Interop\Container\ContainerInterface; use Interop\Container\ContainerInterface;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
class LibelleFormFactory { class SelectionnerMetierFormFactory {
public function __invoke(ContainerInterface $container) /**
* @param ContainerInterface $container
* @return SelectionnerMetierForm
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
*/
public function __invoke(ContainerInterface $container) : SelectionnerMetierForm
{ {
/** @var LibelleHydrator $hydrator */ /** @var SelectionnerMetierHydrator $hydrator */
$hydrator = $container->get('HydratorManager')->get(LibelleHydrator::class); $hydrator = $container->get('HydratorManager')->get(SelectionnerMetierHydrator::class);
/** /**
* @var MetierService $metierService * @var MetierService $metierService
*/ */
$metierService = $container->get(MetierService::class); $metierService = $container->get(MetierService::class);
$form = new LibelleForm(); $form = new SelectionnerMetierForm();
$form->setMetierService($metierService); $form->setMetierService($metierService);
$form->init(); $form->init();
$form->setHydrator($hydrator); $form->setHydrator($hydrator);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment