Loading module/Application/config/merged/agent.config.php +11 −4 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ use Application\Form\Agent\AgentHydratorFactory; use Application\Provider\Privilege\AgentPrivileges; use Application\Service\Agent\AgentService; use Application\Service\Agent\AgentServiceFactory; use Application\View\Helper\AgentViewHelper; use UnicaenAuth\Guard\PrivilegeController; use Zend\Mvc\Router\Http\Literal; use Zend\Mvc\Router\Http\Segment; Loading @@ -32,7 +33,7 @@ return [ [ 'controller' => AgentController::class, 'action' => [ 'creer', 'ajouter', ], 'privileges' => [ AgentPrivileges::AJOUTER, Loading Loading @@ -89,7 +90,7 @@ return [ 'route' => '/modifier/:id', 'defaults' => [ 'controller' => AgentController::class, 'action' => 'editer', 'action' => 'modifier', ], ], ], Loading Loading @@ -136,9 +137,15 @@ return [ ], ], 'hydrators' => [ 'invokable' => [ 'factories' => [ AgentHydrator::class => AgentHydratorFactory::class, ] ] ], 'view_helpers' => [ 'invokables' => [ 'agent' => AgentViewHelper::class, ], ], ]; No newline at end of file module/Application/config/merged/fiche-metier.config.php +0 −86 Original line number Diff line number Diff line Loading @@ -6,10 +6,6 @@ use Application\Controller\FicheMetier\FicheMetierController; use Application\Controller\FicheMetier\FicheMetierControllerFactory; use Application\Controller\FicheMetier\FicheMetierTypeController; use Application\Controller\FicheMetier\FicheMetierTypeControllerFactory; 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; Loading @@ -34,13 +30,9 @@ use Application\Form\FicheMetierType\LibelleForm; use Application\Form\FicheMetierType\LibelleFormFactory; use Application\Form\FicheMetierType\LibelleHydrator; use Application\Form\FicheMetierType\LibelleHydratorFactory; use Application\Form\FicheMetierType\MissionsPrincipalesForm; use Application\Form\FicheMetierType\MissionsPrincipalesFormFactory; use Application\Form\FicheMetierType\MissionsPrincipalesHydrator; use Application\Provider\Privilege\FicheMetierPrivileges; 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; Loading @@ -62,12 +54,6 @@ return [ 'controller' => FicheMetierController::class, 'action' => [ 'afficher', 'afficher-agent', 'saisie-manuelle-agent', 'lister-agents', 'ajouter-mission-complementaire', 'editer-mission-complementaire', 'supprimer-mission-complementaire', 'editer-specificite-poste', 'associer-metier-type', 'associer-agent', Loading Loading @@ -232,71 +218,6 @@ return [ ], ], ], 'agent' => [ 'type' => Literal::class, 'options' => [ 'route' => '/agent', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'lister-agents', ], ], ], 'afficher-agent' => [ 'type' => Segment::class, 'options' => [ 'route' => '/afficher-agent/:id', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'afficher-agent', ], ], 'may_terminate' => true, ], 'saisie-manuelle-agent' => [ 'type' => Segment::class, 'options' => [ 'route' => '/saisie-manuelle-agent/:id', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'saisie-manuelle-agent', ], ], 'may_terminate' => true, ], 'ajouter-mission-complementaire' => [ 'type' => Segment::class, 'options' => [ 'route' => '/ajouter-mission-complementaire/:agent', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'ajouter-mission-complementaire', ], ], 'may_terminate' => true, ], 'editer-mission-complementaire' => [ 'type' => Segment::class, 'options' => [ 'route' => '/editer-mission-complementaire/:id', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'editer-mission-complementaire', ], ], 'may_terminate' => true, ], 'supprimer-mission-complementaire' => [ 'type' => Segment::class, 'options' => [ 'route' => '/supprimer-mission-complementaire/:id', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'supprimer-mission-complementaire', ], ], 'may_terminate' => true, ], ], ], 'fiche-metier-type' => [ Loading Loading @@ -412,9 +333,7 @@ return [ ActiviteExistanteForm::class => ActiviteExistanteFormFactory::class, FicheMetierCreationForm::class => FicheMetierCreationFormFactory::class, LibelleForm::class => LibelleFormFactory::class, MissionsPrincipalesForm::class => MissionsPrincipalesFormFactory::class, MissionComplementaireForm::class => MissionComplementaireFormFactory::class, SpecificitePosteForm::class => SpecificitePosteFormFactory::class, AssocierMetierTypeForm::class => AssocierMetierTypeFormFactory::class, AssocierAgentForm::class => AssocierAgentFormFactory::class, Loading @@ -422,13 +341,9 @@ return [ ], ], 'hydrators' => [ 'invokables' => [ MissionsPrincipalesHydrator::class => MissionsPrincipalesHydrator::class, ], 'factories' => [ FicheMetierCreationHydrator::class => FicheMetierCreationHydratorFactory::class, LibelleHydrator::class => LibelleHydratorFactory::class, MissionComplementaireHydrator::class => MissionComplementaireHydratorFactory::class, AssocierMetierTypeHydrator::class => AssocierMetierTypeHydratorFactory::class, AssocierAgentHydrator::class => AssocierAgentHydratorFactory::class, AssocierPosteHydrator::class => AssocierPosteHydratorFactory::class, Loading @@ -437,7 +352,6 @@ return [ 'view_helpers' => [ 'invokables' => [ 'specificitePoste' => SpecificitePosteViewHelper::class, 'poste' => PosteViewHelper::class, ], ], Loading module/Application/config/merged/poste.config.php +7 −1 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ use Application\Form\Poste\PosteHydratorFactory; use Application\Provider\Privilege\PostePrivileges; use Application\Service\Poste\PosteService; use Application\Service\Poste\PosteServiceFactory; use Application\View\Helper\PosteViewHelper; use UnicaenAuth\Guard\PrivilegeController; use Zend\Mvc\Router\Http\Literal; use Zend\Mvc\Router\Http\Segment; Loading Loading @@ -139,6 +140,11 @@ return [ 'factories' => [ PosteHydrator::class => PosteHydratorFactory::class, ] ] ], 'view_helpers' => [ 'invokables' => [ 'poste' => PosteViewHelper::class, ], ], ]; No newline at end of file module/Application/src/Application/Controller/Agent/AgentController.php +74 −0 Original line number Diff line number Diff line Loading @@ -2,7 +2,10 @@ namespace Application\Controller\Agent; use Application\Entity\Db\Agent; use Application\Form\Agent\AgentForm; use Application\Service\Agent\AgentServiceAwareTrait; use Zend\Http\Request; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\ViewModel; Loading @@ -24,7 +27,78 @@ class AgentController extends AbstractActionController $agent = $this->getAgentService()->getAgent($agentId); return new ViewModel([ 'title' => 'Afficher l\'agent', 'agent' => $agent, ]); } public function ajouterAction() { /** @var Agent $agent */ $agent = new Agent(); /** @var AgentForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(AgentForm::class); $form->setAttribute('action', $this->url()->fromRoute('agent/ajouter', [], [], true)); $form->bind($agent); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getAgentService()->create($agent); } } $vm = new ViewModel(); $vm->setTemplate('application/default/default-form'); $vm->setVariables([ 'title' => 'Ajouter un agent', 'form' => $form, ]); return $vm; } public function modifierAction() { /** @var Agent $agent */ $agentId = $this->params()->fromRoute('id'); $agent = $this->getAgentService()->getAgent($agentId); /** @var AgentForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(AgentForm::class); $form->setAttribute('action', $this->url()->fromRoute('agent/modifier', ['id' => $agent->getId()], [], true)); $form->bind($agent); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getAgentService()->update($agent); } } $vm = new ViewModel(); $vm->setTemplate('application/default/default-form'); $vm->setVariables([ 'title' => 'Modifier un agent', 'form' => $form, ]); return $vm; } public function supprimerAction() { /** @var Agent $agent */ $agentId = $this->params()->fromRoute('id'); $agent = $this->getAgentService()->getAgent($agentId); $this->getAgentService()->delete($agent); $this->redirect()->toRoute('agent', [], [], true); } } No newline at end of file module/Application/src/Application/Controller/FicheMetier/FicheMetierController.php +0 −125 Original line number Diff line number Diff line Loading @@ -2,12 +2,10 @@ namespace Application\Controller\FicheMetier; use Application\Entity\Db\Agent; use Application\Entity\Db\FicheMetier; use Application\Entity\Db\MissionComplementaire; use Application\Entity\Db\SpecificitePoste; use Application\Form\Agent\AgentForm; use Application\Form\Agent\MissionComplementaireForm; use Application\Form\FicheMetier\AssocierAgentForm; use Application\Form\FicheMetier\AssocierMetierTypeForm; use Application\Form\FicheMetier\AssocierPosteForm; Loading Loading @@ -108,129 +106,6 @@ class FicheMetierController extends AbstractActionController ]); } /** ACTION ASSOCIÉES À L'AGENT ************************************************************************************/ public function afficherAgentAction() { $ficheId = $this->params()->fromRoute('id'); $fiche = $this->getFicheMetierService()->getFicheMetier($ficheId); $agent = $fiche->getAgent(); return new ViewModel([ 'agent' => $agent, ]); } public function saisieManuelleAgentAction() { $ficheId = $this->params()->fromRoute('id'); $fiche = $this->getFicheMetierService()->getFicheMetier($ficheId); $agent = $fiche->getAgent(); /** @var AgentForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(AgentForm::class); $form->bind($agent); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getAgentService()->create($agent); $this->getFicheMetierService()->update($fiche); $this->redirect()->toRoute('fiche-metier/afficher-agent', ['id' => $ficheId], [], true); } } return new ViewModel([ 'form' => $form, ]); } public function listerAgentsAction() { $agents = $this->getAgentService()->getAgents(); return new ViewModel([ 'agents' => $agents, ]); } public function ajouterMissionComplementaireAction() { $agentId = $this->params()->fromRoute('agent'); $agent = $this->getAgentService()->getAgent($agentId); $mission = new MissionComplementaire(); /** @var MissionComplementaireForm $form */ $form = $form = $this->getServiceLocator()->get('FormElementManager')->get(MissionComplementaireForm::class); $form->setAttribute('action', $this->url()->fromRoute('fiche-metier/ajouter-mission-complementaire', [], [], true)); $form->bind($mission); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $mission->setAgent($agent); $this->getAgentService()->createMissionComplementaire($mission); } } $vm = new ViewModel(); $vm->setTemplate('application/default/default-form'); $vm->setVariables([ 'title' => 'Ajouter une mission complementaire', 'form' => $form, ]); return $vm; } public function editerMissionComplementaireAction() { $missionId = $this->params()->fromRoute('id'); $mission = $this->getAgentService()->getMissionComplementaire($missionId); $agent = $mission->getAgent(); /** @var MissionComplementaireForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(MissionComplementaireForm::class); $form->setAttribute('action', $this->url()->fromRoute('fiche-metier/editer-mission-complementaire', ['id' => $mission->getId()], [], true)); $form->bind($mission); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $mission->setAgent($agent); $this->getAgentService()->updateMissionComplementaire($mission); } } $vm = new ViewModel(); $vm->setTemplate('application/default/default-form'); $vm->setVariables([ 'title' => 'Éditer une mission complementaire', 'form' => $form, ]); return $vm; } public function supprimerMissionComplementaireAction() { $missionId = $this->params()->fromRoute('id'); $mission = $this->getAgentService()->getMissionComplementaire($missionId); $this->getAgentService()->deleteMissionComplementaire($mission); $this->redirect()->toRoute('fiche-metier/afficher-agent', ['id' => $mission->getAgent()->getId()], [], true); } /** FICHE METIER TYPE *********************************************************************************************/ public function associerMetierTypeAction() Loading Loading
module/Application/config/merged/agent.config.php +11 −4 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ use Application\Form\Agent\AgentHydratorFactory; use Application\Provider\Privilege\AgentPrivileges; use Application\Service\Agent\AgentService; use Application\Service\Agent\AgentServiceFactory; use Application\View\Helper\AgentViewHelper; use UnicaenAuth\Guard\PrivilegeController; use Zend\Mvc\Router\Http\Literal; use Zend\Mvc\Router\Http\Segment; Loading @@ -32,7 +33,7 @@ return [ [ 'controller' => AgentController::class, 'action' => [ 'creer', 'ajouter', ], 'privileges' => [ AgentPrivileges::AJOUTER, Loading Loading @@ -89,7 +90,7 @@ return [ 'route' => '/modifier/:id', 'defaults' => [ 'controller' => AgentController::class, 'action' => 'editer', 'action' => 'modifier', ], ], ], Loading Loading @@ -136,9 +137,15 @@ return [ ], ], 'hydrators' => [ 'invokable' => [ 'factories' => [ AgentHydrator::class => AgentHydratorFactory::class, ] ] ], 'view_helpers' => [ 'invokables' => [ 'agent' => AgentViewHelper::class, ], ], ]; No newline at end of file
module/Application/config/merged/fiche-metier.config.php +0 −86 Original line number Diff line number Diff line Loading @@ -6,10 +6,6 @@ use Application\Controller\FicheMetier\FicheMetierController; use Application\Controller\FicheMetier\FicheMetierControllerFactory; use Application\Controller\FicheMetier\FicheMetierTypeController; use Application\Controller\FicheMetier\FicheMetierTypeControllerFactory; 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; Loading @@ -34,13 +30,9 @@ use Application\Form\FicheMetierType\LibelleForm; use Application\Form\FicheMetierType\LibelleFormFactory; use Application\Form\FicheMetierType\LibelleHydrator; use Application\Form\FicheMetierType\LibelleHydratorFactory; use Application\Form\FicheMetierType\MissionsPrincipalesForm; use Application\Form\FicheMetierType\MissionsPrincipalesFormFactory; use Application\Form\FicheMetierType\MissionsPrincipalesHydrator; use Application\Provider\Privilege\FicheMetierPrivileges; 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; Loading @@ -62,12 +54,6 @@ return [ 'controller' => FicheMetierController::class, 'action' => [ 'afficher', 'afficher-agent', 'saisie-manuelle-agent', 'lister-agents', 'ajouter-mission-complementaire', 'editer-mission-complementaire', 'supprimer-mission-complementaire', 'editer-specificite-poste', 'associer-metier-type', 'associer-agent', Loading Loading @@ -232,71 +218,6 @@ return [ ], ], ], 'agent' => [ 'type' => Literal::class, 'options' => [ 'route' => '/agent', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'lister-agents', ], ], ], 'afficher-agent' => [ 'type' => Segment::class, 'options' => [ 'route' => '/afficher-agent/:id', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'afficher-agent', ], ], 'may_terminate' => true, ], 'saisie-manuelle-agent' => [ 'type' => Segment::class, 'options' => [ 'route' => '/saisie-manuelle-agent/:id', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'saisie-manuelle-agent', ], ], 'may_terminate' => true, ], 'ajouter-mission-complementaire' => [ 'type' => Segment::class, 'options' => [ 'route' => '/ajouter-mission-complementaire/:agent', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'ajouter-mission-complementaire', ], ], 'may_terminate' => true, ], 'editer-mission-complementaire' => [ 'type' => Segment::class, 'options' => [ 'route' => '/editer-mission-complementaire/:id', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'editer-mission-complementaire', ], ], 'may_terminate' => true, ], 'supprimer-mission-complementaire' => [ 'type' => Segment::class, 'options' => [ 'route' => '/supprimer-mission-complementaire/:id', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'supprimer-mission-complementaire', ], ], 'may_terminate' => true, ], ], ], 'fiche-metier-type' => [ Loading Loading @@ -412,9 +333,7 @@ return [ ActiviteExistanteForm::class => ActiviteExistanteFormFactory::class, FicheMetierCreationForm::class => FicheMetierCreationFormFactory::class, LibelleForm::class => LibelleFormFactory::class, MissionsPrincipalesForm::class => MissionsPrincipalesFormFactory::class, MissionComplementaireForm::class => MissionComplementaireFormFactory::class, SpecificitePosteForm::class => SpecificitePosteFormFactory::class, AssocierMetierTypeForm::class => AssocierMetierTypeFormFactory::class, AssocierAgentForm::class => AssocierAgentFormFactory::class, Loading @@ -422,13 +341,9 @@ return [ ], ], 'hydrators' => [ 'invokables' => [ MissionsPrincipalesHydrator::class => MissionsPrincipalesHydrator::class, ], 'factories' => [ FicheMetierCreationHydrator::class => FicheMetierCreationHydratorFactory::class, LibelleHydrator::class => LibelleHydratorFactory::class, MissionComplementaireHydrator::class => MissionComplementaireHydratorFactory::class, AssocierMetierTypeHydrator::class => AssocierMetierTypeHydratorFactory::class, AssocierAgentHydrator::class => AssocierAgentHydratorFactory::class, AssocierPosteHydrator::class => AssocierPosteHydratorFactory::class, Loading @@ -437,7 +352,6 @@ return [ 'view_helpers' => [ 'invokables' => [ 'specificitePoste' => SpecificitePosteViewHelper::class, 'poste' => PosteViewHelper::class, ], ], Loading
module/Application/config/merged/poste.config.php +7 −1 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ use Application\Form\Poste\PosteHydratorFactory; use Application\Provider\Privilege\PostePrivileges; use Application\Service\Poste\PosteService; use Application\Service\Poste\PosteServiceFactory; use Application\View\Helper\PosteViewHelper; use UnicaenAuth\Guard\PrivilegeController; use Zend\Mvc\Router\Http\Literal; use Zend\Mvc\Router\Http\Segment; Loading Loading @@ -139,6 +140,11 @@ return [ 'factories' => [ PosteHydrator::class => PosteHydratorFactory::class, ] ] ], 'view_helpers' => [ 'invokables' => [ 'poste' => PosteViewHelper::class, ], ], ]; No newline at end of file
module/Application/src/Application/Controller/Agent/AgentController.php +74 −0 Original line number Diff line number Diff line Loading @@ -2,7 +2,10 @@ namespace Application\Controller\Agent; use Application\Entity\Db\Agent; use Application\Form\Agent\AgentForm; use Application\Service\Agent\AgentServiceAwareTrait; use Zend\Http\Request; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\ViewModel; Loading @@ -24,7 +27,78 @@ class AgentController extends AbstractActionController $agent = $this->getAgentService()->getAgent($agentId); return new ViewModel([ 'title' => 'Afficher l\'agent', 'agent' => $agent, ]); } public function ajouterAction() { /** @var Agent $agent */ $agent = new Agent(); /** @var AgentForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(AgentForm::class); $form->setAttribute('action', $this->url()->fromRoute('agent/ajouter', [], [], true)); $form->bind($agent); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getAgentService()->create($agent); } } $vm = new ViewModel(); $vm->setTemplate('application/default/default-form'); $vm->setVariables([ 'title' => 'Ajouter un agent', 'form' => $form, ]); return $vm; } public function modifierAction() { /** @var Agent $agent */ $agentId = $this->params()->fromRoute('id'); $agent = $this->getAgentService()->getAgent($agentId); /** @var AgentForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(AgentForm::class); $form->setAttribute('action', $this->url()->fromRoute('agent/modifier', ['id' => $agent->getId()], [], true)); $form->bind($agent); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getAgentService()->update($agent); } } $vm = new ViewModel(); $vm->setTemplate('application/default/default-form'); $vm->setVariables([ 'title' => 'Modifier un agent', 'form' => $form, ]); return $vm; } public function supprimerAction() { /** @var Agent $agent */ $agentId = $this->params()->fromRoute('id'); $agent = $this->getAgentService()->getAgent($agentId); $this->getAgentService()->delete($agent); $this->redirect()->toRoute('agent', [], [], true); } } No newline at end of file
module/Application/src/Application/Controller/FicheMetier/FicheMetierController.php +0 −125 Original line number Diff line number Diff line Loading @@ -2,12 +2,10 @@ namespace Application\Controller\FicheMetier; use Application\Entity\Db\Agent; use Application\Entity\Db\FicheMetier; use Application\Entity\Db\MissionComplementaire; use Application\Entity\Db\SpecificitePoste; use Application\Form\Agent\AgentForm; use Application\Form\Agent\MissionComplementaireForm; use Application\Form\FicheMetier\AssocierAgentForm; use Application\Form\FicheMetier\AssocierMetierTypeForm; use Application\Form\FicheMetier\AssocierPosteForm; Loading Loading @@ -108,129 +106,6 @@ class FicheMetierController extends AbstractActionController ]); } /** ACTION ASSOCIÉES À L'AGENT ************************************************************************************/ public function afficherAgentAction() { $ficheId = $this->params()->fromRoute('id'); $fiche = $this->getFicheMetierService()->getFicheMetier($ficheId); $agent = $fiche->getAgent(); return new ViewModel([ 'agent' => $agent, ]); } public function saisieManuelleAgentAction() { $ficheId = $this->params()->fromRoute('id'); $fiche = $this->getFicheMetierService()->getFicheMetier($ficheId); $agent = $fiche->getAgent(); /** @var AgentForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(AgentForm::class); $form->bind($agent); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getAgentService()->create($agent); $this->getFicheMetierService()->update($fiche); $this->redirect()->toRoute('fiche-metier/afficher-agent', ['id' => $ficheId], [], true); } } return new ViewModel([ 'form' => $form, ]); } public function listerAgentsAction() { $agents = $this->getAgentService()->getAgents(); return new ViewModel([ 'agents' => $agents, ]); } public function ajouterMissionComplementaireAction() { $agentId = $this->params()->fromRoute('agent'); $agent = $this->getAgentService()->getAgent($agentId); $mission = new MissionComplementaire(); /** @var MissionComplementaireForm $form */ $form = $form = $this->getServiceLocator()->get('FormElementManager')->get(MissionComplementaireForm::class); $form->setAttribute('action', $this->url()->fromRoute('fiche-metier/ajouter-mission-complementaire', [], [], true)); $form->bind($mission); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $mission->setAgent($agent); $this->getAgentService()->createMissionComplementaire($mission); } } $vm = new ViewModel(); $vm->setTemplate('application/default/default-form'); $vm->setVariables([ 'title' => 'Ajouter une mission complementaire', 'form' => $form, ]); return $vm; } public function editerMissionComplementaireAction() { $missionId = $this->params()->fromRoute('id'); $mission = $this->getAgentService()->getMissionComplementaire($missionId); $agent = $mission->getAgent(); /** @var MissionComplementaireForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(MissionComplementaireForm::class); $form->setAttribute('action', $this->url()->fromRoute('fiche-metier/editer-mission-complementaire', ['id' => $mission->getId()], [], true)); $form->bind($mission); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $mission->setAgent($agent); $this->getAgentService()->updateMissionComplementaire($mission); } } $vm = new ViewModel(); $vm->setTemplate('application/default/default-form'); $vm->setVariables([ 'title' => 'Éditer une mission complementaire', 'form' => $form, ]); return $vm; } public function supprimerMissionComplementaireAction() { $missionId = $this->params()->fromRoute('id'); $mission = $this->getAgentService()->getMissionComplementaire($missionId); $this->getAgentService()->deleteMissionComplementaire($mission); $this->redirect()->toRoute('fiche-metier/afficher-agent', ['id' => $mission->getAgent()->getId()], [], true); } /** FICHE METIER TYPE *********************************************************************************************/ public function associerMetierTypeAction() Loading