Loading module/Application/config/merged/agent.config.php 0 → 100644 +144 −0 Original line number Diff line number Diff line <?php namespace Application; use Application\Controller\Agent\AgentController; use Application\Controller\Agent\AgentControllerFactory; use Application\Form\Agent\AgentForm; use Application\Form\Agent\AgentFormFactory; use Application\Form\Agent\AgentHydrator; use Application\Form\Agent\AgentHydratorFactory; use Application\Provider\Privilege\AgentPrivileges; use Application\Service\Agent\AgentService; use Application\Service\Agent\AgentServiceFactory; use UnicaenAuth\Guard\PrivilegeController; use Zend\Mvc\Router\Http\Literal; use Zend\Mvc\Router\Http\Segment; return [ 'bjyauthorize' => [ 'guards' => [ PrivilegeController::class => [ [ 'controller' => AgentController::class, 'action' => [ 'index', 'afficher', ], 'privileges' => [ AgentPrivileges::AFFICHER, ], ], [ 'controller' => AgentController::class, 'action' => [ 'creer', ], 'privileges' => [ AgentPrivileges::AJOUTER, ], ], [ 'controller' => AgentController::class, 'action' => [ 'supprimer', ], 'privileges' => [ AgentPrivileges::EFFACER, ], ], [ 'controller' => AgentController::class, 'action' => [ 'modifier', ], 'privileges' => [ AgentPrivileges::EDITER, ], ], ], ], ], 'router' => [ 'routes' => [ 'agent' => [ 'type' => Literal::class, 'options' => [ 'route' => '/agent', 'defaults' => [ 'controller' => AgentController::class, 'action' => 'index', ], ], 'may_terminate' => true, 'child_routes' => [ 'afficher' => [ 'type' => Segment::class, 'options' => [ 'route' => '/afficher/:id', 'defaults' => [ 'controller' => AgentController::class, 'action' => 'afficher', ], ], ], 'modifier' => [ 'type' => Segment::class, 'options' => [ 'route' => '/modifier/:id', 'defaults' => [ 'controller' => AgentController::class, 'action' => 'editer', ], ], ], 'supprimer' => [ 'type' => Segment::class, 'options' => [ 'route' => '/supprimer/:id', 'defaults' => [ 'controller' => AgentController::class, 'action' => 'supprimer', ], ], ], 'ajouter' => [ 'type' => Literal::class, 'options' => [ 'route' => '/ajouter', 'defaults' => [ 'controller' => AgentController::class, 'action' => 'ajouter', ], ], ] ], ], ], ], 'service_manager' => [ 'invokables' => [ ], 'factories' => [ AgentService::class => AgentServiceFactory::class, ], ], 'controllers' => [ 'factories' => [ AgentController::class => AgentControllerFactory::class, ], ], 'form_elements' => [ 'factories' => [ AgentForm::class => AgentFormFactory::class, ], ], 'hydrators' => [ 'invokable' => [ AgentHydrator::class => AgentHydratorFactory::class, ] ] ]; No newline at end of file module/Application/config/merged/fiche-metier.config.php +45 −10 Original line number Diff line number Diff line Loading @@ -6,14 +6,18 @@ use Application\Controller\FicheMetier\FicheMetierController; use Application\Controller\FicheMetier\FicheMetierControllerFactory; use Application\Controller\FicheMetier\FicheMetierTypeController; use Application\Controller\FicheMetier\FicheMetierTypeControllerFactory; use Application\Form\Agent\AgentForm; use Application\Form\Agent\AgentFormFactory; use Application\Form\Agent\AgentHydrator; use Application\Form\Agent\AgentHydratorFactory; use Application\Form\Agent\MissionComplementaireForm; use Application\Form\Agent\MissionComplementaireFormFactory; use Application\Form\Agent\MissionComplementaireHydrator; use Application\Form\Agent\MissionComplementaireHydratorFactory; use Application\Form\FicheMetier\AssocierAgentForm; use Application\Form\FicheMetier\AssocierAgentFormFactory; use Application\Form\FicheMetier\AssocierAgentHydrator; use Application\Form\FicheMetier\AssocierAgentHydratorFactory; use Application\Form\FicheMetier\AssocierMetierTypeForm; use Application\Form\FicheMetier\AssocierMetierTypeFormFactory; use Application\Form\FicheMetier\AssocierMetierTypeHydrator; use Application\Form\FicheMetier\AssocierMetierTypeHydratorFactory; use Application\Form\FicheMetier\FicheMetierCreationForm; use Application\Form\FicheMetier\FicheMetierCreationFormFactory; use Application\Form\FicheMetier\FicheMetierCreationHydrator; Loading @@ -30,10 +34,10 @@ use Application\Form\FicheMetierType\MissionsPrincipalesForm; use Application\Form\FicheMetierType\MissionsPrincipalesFormFactory; use Application\Form\FicheMetierType\MissionsPrincipalesHydrator; use Application\Provider\Privilege\FicheMetierPrivileges; use Application\Service\Agent\AgentService; use Application\Service\Agent\AgentServiceFactory; use Application\Service\FicheMetier\FicheMetierService; use Application\Service\FicheMetier\FicheMetierServiceFactory; use Application\View\Helper\PosteViewHelper; use Application\View\Helper\SpecificitePosteViewHelper; use UnicaenAuth\Guard\PrivilegeController; use Zend\Mvc\Router\Http\Literal; use Zend\Mvc\Router\Http\Segment; Loading Loading @@ -61,6 +65,8 @@ return [ 'editer-mission-complementaire', 'supprimer-mission-complementaire', 'editer-specificite-poste', 'associer-metier-type', 'associer-agent' ], 'privileges' => [ FicheMetierPrivileges::AFFICHER, Loading Loading @@ -137,6 +143,28 @@ return [ ], 'may_terminate' => true, ], 'associer-agent' => [ 'type' => Segment::class, 'options' => [ 'route' => '/associer-agent/:fiche', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'associer-agent', ], ], 'may_terminate' => true, ], 'associer-metier-type' => [ 'type' => Segment::class, 'options' => [ 'route' => '/associer-metier-type/:fiche', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'associer-metier-type', ], ], 'may_terminate' => true, ], 'specificite' => [ 'type' => Segment::class, 'options' => [ Loading Loading @@ -353,7 +381,6 @@ return [ ], 'factories' => [ FicheMetierService::class => FicheMetierServiceFactory::class, AgentService::class => AgentServiceFactory::class, ], ], 'controllers' => [ Loading @@ -371,9 +398,10 @@ return [ LibelleForm::class => LibelleFormFactory::class, MissionsPrincipalesForm::class => MissionsPrincipalesFormFactory::class, AgentForm::class => AgentFormFactory::class, MissionComplementaireForm::class => MissionComplementaireFormFactory::class, SpecificitePosteForm::class => SpecificitePosteFormFactory::class, AssocierMetierTypeForm::class => AssocierMetierTypeFormFactory::class, AssocierAgentForm::class => AssocierAgentFormFactory::class, ], ], 'hydrators' => [ Loading @@ -383,9 +411,16 @@ return [ 'factories' => [ FicheMetierCreationHydrator::class => FicheMetierCreationHydratorFactory::class, LibelleHydrator::class => LibelleHydratorFactory::class, AgentHydrator::class => AgentHydratorFactory::class, MissionComplementaireHydrator::class => MissionComplementaireHydratorFactory::class, AssocierMetierTypeHydrator::class => AssocierMetierTypeHydratorFactory::class, AssocierAgentHydrator::class => AssocierAgentHydratorFactory::class, ] ] ], 'view_helpers' => [ 'invokables' => [ 'specificitePoste' => SpecificitePosteViewHelper::class, 'poste' => PosteViewHelper::class, ], ], ]; No newline at end of file module/Application/config/merged/menu.config.php +1 −1 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ return [ 'pages' => [ [ 'label' => 'Les agents', 'route' => 'fiche-metier/agent', 'route' => 'agent', 'privileges' => FicheMetierPrivileges::AFFICHER, 'dropdown-header' => true, 'icon' => 'fas fa-angle-right' Loading module/Application/src/Application/Controller/Agent/AgentController.php 0 → 100644 +30 −0 Original line number Diff line number Diff line <?php namespace Application\Controller\Agent; use Application\Service\Agent\AgentServiceAwareTrait; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\ViewModel; class AgentController extends AbstractActionController { use AgentServiceAwareTrait; public function indexAction() { $agents = $this->getAgentService()->getAgents(); return new ViewModel([ 'agents' => $agents, ]); } public function afficherAction() { $agentId = $this->params()->fromRoute('id'); $agent = $this->getAgentService()->getAgent($agentId); return new ViewModel([ 'agent' => $agent, ]); } } No newline at end of file module/Application/src/Application/Controller/Agent/AgentControllerFactory.php 0 → 100644 +20 −0 Original line number Diff line number Diff line <?php namespace Application\Controller\Agent; use Application\Service\Agent\AgentService; use Zend\Mvc\Controller\ControllerManager; class AgentControllerFactory { public function __invoke(ControllerManager $controllerManager) { /** @var AgentService $agentService */ $agentService = $controllerManager->getServiceLocator()->get(AgentService::class); /** @var AgentController $controller */ $controller = new AgentController(); $controller->setAgentService($agentService); return $controller; } } No newline at end of file Loading
module/Application/config/merged/agent.config.php 0 → 100644 +144 −0 Original line number Diff line number Diff line <?php namespace Application; use Application\Controller\Agent\AgentController; use Application\Controller\Agent\AgentControllerFactory; use Application\Form\Agent\AgentForm; use Application\Form\Agent\AgentFormFactory; use Application\Form\Agent\AgentHydrator; use Application\Form\Agent\AgentHydratorFactory; use Application\Provider\Privilege\AgentPrivileges; use Application\Service\Agent\AgentService; use Application\Service\Agent\AgentServiceFactory; use UnicaenAuth\Guard\PrivilegeController; use Zend\Mvc\Router\Http\Literal; use Zend\Mvc\Router\Http\Segment; return [ 'bjyauthorize' => [ 'guards' => [ PrivilegeController::class => [ [ 'controller' => AgentController::class, 'action' => [ 'index', 'afficher', ], 'privileges' => [ AgentPrivileges::AFFICHER, ], ], [ 'controller' => AgentController::class, 'action' => [ 'creer', ], 'privileges' => [ AgentPrivileges::AJOUTER, ], ], [ 'controller' => AgentController::class, 'action' => [ 'supprimer', ], 'privileges' => [ AgentPrivileges::EFFACER, ], ], [ 'controller' => AgentController::class, 'action' => [ 'modifier', ], 'privileges' => [ AgentPrivileges::EDITER, ], ], ], ], ], 'router' => [ 'routes' => [ 'agent' => [ 'type' => Literal::class, 'options' => [ 'route' => '/agent', 'defaults' => [ 'controller' => AgentController::class, 'action' => 'index', ], ], 'may_terminate' => true, 'child_routes' => [ 'afficher' => [ 'type' => Segment::class, 'options' => [ 'route' => '/afficher/:id', 'defaults' => [ 'controller' => AgentController::class, 'action' => 'afficher', ], ], ], 'modifier' => [ 'type' => Segment::class, 'options' => [ 'route' => '/modifier/:id', 'defaults' => [ 'controller' => AgentController::class, 'action' => 'editer', ], ], ], 'supprimer' => [ 'type' => Segment::class, 'options' => [ 'route' => '/supprimer/:id', 'defaults' => [ 'controller' => AgentController::class, 'action' => 'supprimer', ], ], ], 'ajouter' => [ 'type' => Literal::class, 'options' => [ 'route' => '/ajouter', 'defaults' => [ 'controller' => AgentController::class, 'action' => 'ajouter', ], ], ] ], ], ], ], 'service_manager' => [ 'invokables' => [ ], 'factories' => [ AgentService::class => AgentServiceFactory::class, ], ], 'controllers' => [ 'factories' => [ AgentController::class => AgentControllerFactory::class, ], ], 'form_elements' => [ 'factories' => [ AgentForm::class => AgentFormFactory::class, ], ], 'hydrators' => [ 'invokable' => [ AgentHydrator::class => AgentHydratorFactory::class, ] ] ]; No newline at end of file
module/Application/config/merged/fiche-metier.config.php +45 −10 Original line number Diff line number Diff line Loading @@ -6,14 +6,18 @@ use Application\Controller\FicheMetier\FicheMetierController; use Application\Controller\FicheMetier\FicheMetierControllerFactory; use Application\Controller\FicheMetier\FicheMetierTypeController; use Application\Controller\FicheMetier\FicheMetierTypeControllerFactory; use Application\Form\Agent\AgentForm; use Application\Form\Agent\AgentFormFactory; use Application\Form\Agent\AgentHydrator; use Application\Form\Agent\AgentHydratorFactory; use Application\Form\Agent\MissionComplementaireForm; use Application\Form\Agent\MissionComplementaireFormFactory; use Application\Form\Agent\MissionComplementaireHydrator; use Application\Form\Agent\MissionComplementaireHydratorFactory; use Application\Form\FicheMetier\AssocierAgentForm; use Application\Form\FicheMetier\AssocierAgentFormFactory; use Application\Form\FicheMetier\AssocierAgentHydrator; use Application\Form\FicheMetier\AssocierAgentHydratorFactory; use Application\Form\FicheMetier\AssocierMetierTypeForm; use Application\Form\FicheMetier\AssocierMetierTypeFormFactory; use Application\Form\FicheMetier\AssocierMetierTypeHydrator; use Application\Form\FicheMetier\AssocierMetierTypeHydratorFactory; use Application\Form\FicheMetier\FicheMetierCreationForm; use Application\Form\FicheMetier\FicheMetierCreationFormFactory; use Application\Form\FicheMetier\FicheMetierCreationHydrator; Loading @@ -30,10 +34,10 @@ use Application\Form\FicheMetierType\MissionsPrincipalesForm; use Application\Form\FicheMetierType\MissionsPrincipalesFormFactory; use Application\Form\FicheMetierType\MissionsPrincipalesHydrator; use Application\Provider\Privilege\FicheMetierPrivileges; use Application\Service\Agent\AgentService; use Application\Service\Agent\AgentServiceFactory; use Application\Service\FicheMetier\FicheMetierService; use Application\Service\FicheMetier\FicheMetierServiceFactory; use Application\View\Helper\PosteViewHelper; use Application\View\Helper\SpecificitePosteViewHelper; use UnicaenAuth\Guard\PrivilegeController; use Zend\Mvc\Router\Http\Literal; use Zend\Mvc\Router\Http\Segment; Loading Loading @@ -61,6 +65,8 @@ return [ 'editer-mission-complementaire', 'supprimer-mission-complementaire', 'editer-specificite-poste', 'associer-metier-type', 'associer-agent' ], 'privileges' => [ FicheMetierPrivileges::AFFICHER, Loading Loading @@ -137,6 +143,28 @@ return [ ], 'may_terminate' => true, ], 'associer-agent' => [ 'type' => Segment::class, 'options' => [ 'route' => '/associer-agent/:fiche', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'associer-agent', ], ], 'may_terminate' => true, ], 'associer-metier-type' => [ 'type' => Segment::class, 'options' => [ 'route' => '/associer-metier-type/:fiche', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'associer-metier-type', ], ], 'may_terminate' => true, ], 'specificite' => [ 'type' => Segment::class, 'options' => [ Loading Loading @@ -353,7 +381,6 @@ return [ ], 'factories' => [ FicheMetierService::class => FicheMetierServiceFactory::class, AgentService::class => AgentServiceFactory::class, ], ], 'controllers' => [ Loading @@ -371,9 +398,10 @@ return [ LibelleForm::class => LibelleFormFactory::class, MissionsPrincipalesForm::class => MissionsPrincipalesFormFactory::class, AgentForm::class => AgentFormFactory::class, MissionComplementaireForm::class => MissionComplementaireFormFactory::class, SpecificitePosteForm::class => SpecificitePosteFormFactory::class, AssocierMetierTypeForm::class => AssocierMetierTypeFormFactory::class, AssocierAgentForm::class => AssocierAgentFormFactory::class, ], ], 'hydrators' => [ Loading @@ -383,9 +411,16 @@ return [ 'factories' => [ FicheMetierCreationHydrator::class => FicheMetierCreationHydratorFactory::class, LibelleHydrator::class => LibelleHydratorFactory::class, AgentHydrator::class => AgentHydratorFactory::class, MissionComplementaireHydrator::class => MissionComplementaireHydratorFactory::class, AssocierMetierTypeHydrator::class => AssocierMetierTypeHydratorFactory::class, AssocierAgentHydrator::class => AssocierAgentHydratorFactory::class, ] ] ], 'view_helpers' => [ 'invokables' => [ 'specificitePoste' => SpecificitePosteViewHelper::class, 'poste' => PosteViewHelper::class, ], ], ]; No newline at end of file
module/Application/config/merged/menu.config.php +1 −1 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ return [ 'pages' => [ [ 'label' => 'Les agents', 'route' => 'fiche-metier/agent', 'route' => 'agent', 'privileges' => FicheMetierPrivileges::AFFICHER, 'dropdown-header' => true, 'icon' => 'fas fa-angle-right' Loading
module/Application/src/Application/Controller/Agent/AgentController.php 0 → 100644 +30 −0 Original line number Diff line number Diff line <?php namespace Application\Controller\Agent; use Application\Service\Agent\AgentServiceAwareTrait; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\ViewModel; class AgentController extends AbstractActionController { use AgentServiceAwareTrait; public function indexAction() { $agents = $this->getAgentService()->getAgents(); return new ViewModel([ 'agents' => $agents, ]); } public function afficherAction() { $agentId = $this->params()->fromRoute('id'); $agent = $this->getAgentService()->getAgent($agentId); return new ViewModel([ 'agent' => $agent, ]); } } No newline at end of file
module/Application/src/Application/Controller/Agent/AgentControllerFactory.php 0 → 100644 +20 −0 Original line number Diff line number Diff line <?php namespace Application\Controller\Agent; use Application\Service\Agent\AgentService; use Zend\Mvc\Controller\ControllerManager; class AgentControllerFactory { public function __invoke(ControllerManager $controllerManager) { /** @var AgentService $agentService */ $agentService = $controllerManager->getServiceLocator()->get(AgentService::class); /** @var AgentController $controller */ $controller = new AgentController(); $controller->setAgentService($agentService); return $controller; } } No newline at end of file