Loading module/Application/config/merged/fiche-metier.config.php +37 −1 Changes for module/Application/config/merged/fiche-metier.config.php: 37 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -6,6 +6,9 @@ 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\FicheMetier\FicheMetierCreationForm; use Application\Form\FicheMetier\FicheMetierCreationFormFactory; use Application\Form\FicheMetier\FicheMetierCreationHydrator; Loading @@ -20,6 +23,8 @@ 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 UnicaenAuth\Guard\PrivilegeController; Loading @@ -42,6 +47,8 @@ return [ 'controller' => FicheMetierController::class, 'action' => [ 'afficher', 'afficher-agent', 'saisie-manuelle-agent', ], 'privileges' => [ FicheMetierPrivileges::AFFICHER, Loading Loading @@ -157,7 +164,30 @@ return [ 'action' => 'creer', ], ], ] ], '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, ], ], ], 'fiche-metier-type' => [ Loading Loading @@ -258,6 +288,7 @@ return [ ], 'factories' => [ FicheMetierService::class => FicheMetierServiceFactory::class, AgentService::class => AgentServiceFactory::class, ], ], 'controllers' => [ Loading @@ -267,16 +298,21 @@ return [ ], ], 'form_elements' => [ 'invokables' => [ ], 'factories' => [ ActiviteExistanteForm::class => ActiviteExistanteFormFactory::class, FicheMetierCreationForm::class => FicheMetierCreationFormFactory::class, LibelleForm::class => LibelleFormFactory::class, MissionsPrincipalesForm::class => MissionsPrincipalesFormFactory::class, AgentForm::class => AgentFormFactory::class, ], ], 'hydrators' => [ 'invokables' => [ MissionsPrincipalesHydrator::class => MissionsPrincipalesHydrator::class, AgentHydrator::class => AgentHydrator::class, ], 'factories' => [ FicheMetierCreationHydrator::class => FicheMetierCreationHydratorFactory::class, Loading module/Application/src/Application/Controller/FicheMetier/FicheMetierController.php +44 −0 Changes for module/Application/src/Application/Controller/FicheMetier/FicheMetierController.php: 44 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -2,8 +2,11 @@ namespace Application\Controller\FicheMetier; use Application\Entity\Db\Agent; use Application\Entity\Db\FicheMetier; use Application\Form\Agent\AgentForm; use Application\Form\FicheMetier\FicheMetierCreationForm; use Application\Service\Agent\AgentServiceAwareTrait; use Application\Service\FicheMetier\FicheMetierServiceAwareTrait; use UnicaenApp\Exception\RuntimeException; use Zend\Http\Request; Loading @@ -13,6 +16,7 @@ use Zend\View\Model\ViewModel; class FicheMetierController extends AbstractActionController { use FicheMetierServiceAwareTrait; use AgentServiceAwareTrait; public function indexAction() { Loading Loading @@ -88,4 +92,44 @@ class FicheMetierController extends AbstractActionController 'form' => $form, ]); } /** 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, ]); } } No newline at end of file module/Application/src/Application/Controller/FicheMetier/FicheMetierControllerFactory.php +4 −0 Changes for module/Application/src/Application/Controller/FicheMetier/FicheMetierControllerFactory.php: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ namespace Application\Controller\FicheMetier; use Application\Service\Agent\AgentService; use Application\Service\FicheMetier\FicheMetierService; use Zend\Mvc\Controller\ControllerManager; Loading @@ -11,12 +12,15 @@ class FicheMetierControllerFactory { { /** * @var FicheMetierService $ficheMetierService * @var AgentService $agentService */ $ficheMetierService = $controllerManager->getServiceLocator()->get(FicheMetierService::class); $agentService = $controllerManager->getServiceLocator()->get(AgentService::class); /** @var FicheMetierController $controller */ $controller = new FicheMetierController(); $controller->setFicheMetierService($ficheMetierService); $controller->setAgentService($agentService); return $controller; } Loading module/Application/src/Application/Entity/Db/Agent.php 0 → 100644 +125 −0 Changes for module/Application/src/Application/Entity/Db/Agent.php: 125 added lines, 0 removed lines. Original line number Diff line number Diff line <?php namespace Application\Entity\Db; use DateTime; class Agent { /** @var integer */ private $id; /** @var string */ private $nom; /** @var string */ private $prenom; // categorie, corps, et grade (devrait correspondre à des infos en bases pour une meilleures structuration ... /** @var DateTime */ private $dateDebut; /** @var DateTime */ private $dateFin; /** @var integer */ private $quotite; /** * @return int */ public function getId() { return $this->id; } /** * @return string */ public function getNom() { return $this->nom; } /** * @param string $nom * @return Agent */ public function setNom($nom) { $this->nom = $nom; return $this; } /** * @return string */ public function getPrenom() { return $this->prenom; } /** * @param string $prenom * @return Agent */ public function setPrenom($prenom) { $this->prenom = $prenom; return $this; } /** * @return DateTime */ public function getDateDebut() { return $this->dateDebut; } /** * @param DateTime $dateDebut * @return Agent */ public function setDateDebut($dateDebut) { $this->dateDebut = $dateDebut; return $this; } /** * @return DateTime */ public function getDateFin() { return $this->dateFin; } /** * @param DateTime $dateFin * @return Agent */ public function setDateFin($dateFin) { $this->dateFin = $dateFin; return $this; } /** * @return int */ public function getQuotite() { return $this->quotite; } /** * @param int $quotite * @return Agent */ public function setQuotite($quotite) { $this->quotite = $quotite; return $this; } } No newline at end of file module/Application/src/Application/Entity/Db/FicheMetier.php +22 −0 Changes for module/Application/src/Application/Entity/Db/FicheMetier.php: 22 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -14,6 +14,8 @@ class FicheMetier private $libelle; /** @var Affectation */ private $affectation; /** @var Agent */ private $agent; public function getId() { Loading Loading @@ -55,4 +57,24 @@ class FicheMetier $this->affectation = $affectation; return $this; } /** * @return Agent */ public function getAgent() { return $this->agent; } /** * @param Agent $agent * @return FicheMetier */ public function setAgent($agent) { $this->agent = $agent; return $this; } } No newline at end of file Loading
module/Application/config/merged/fiche-metier.config.php +37 −1 Changes for module/Application/config/merged/fiche-metier.config.php: 37 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -6,6 +6,9 @@ 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\FicheMetier\FicheMetierCreationForm; use Application\Form\FicheMetier\FicheMetierCreationFormFactory; use Application\Form\FicheMetier\FicheMetierCreationHydrator; Loading @@ -20,6 +23,8 @@ 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 UnicaenAuth\Guard\PrivilegeController; Loading @@ -42,6 +47,8 @@ return [ 'controller' => FicheMetierController::class, 'action' => [ 'afficher', 'afficher-agent', 'saisie-manuelle-agent', ], 'privileges' => [ FicheMetierPrivileges::AFFICHER, Loading Loading @@ -157,7 +164,30 @@ return [ 'action' => 'creer', ], ], ] ], '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, ], ], ], 'fiche-metier-type' => [ Loading Loading @@ -258,6 +288,7 @@ return [ ], 'factories' => [ FicheMetierService::class => FicheMetierServiceFactory::class, AgentService::class => AgentServiceFactory::class, ], ], 'controllers' => [ Loading @@ -267,16 +298,21 @@ return [ ], ], 'form_elements' => [ 'invokables' => [ ], 'factories' => [ ActiviteExistanteForm::class => ActiviteExistanteFormFactory::class, FicheMetierCreationForm::class => FicheMetierCreationFormFactory::class, LibelleForm::class => LibelleFormFactory::class, MissionsPrincipalesForm::class => MissionsPrincipalesFormFactory::class, AgentForm::class => AgentFormFactory::class, ], ], 'hydrators' => [ 'invokables' => [ MissionsPrincipalesHydrator::class => MissionsPrincipalesHydrator::class, AgentHydrator::class => AgentHydrator::class, ], 'factories' => [ FicheMetierCreationHydrator::class => FicheMetierCreationHydratorFactory::class, Loading
module/Application/src/Application/Controller/FicheMetier/FicheMetierController.php +44 −0 Changes for module/Application/src/Application/Controller/FicheMetier/FicheMetierController.php: 44 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -2,8 +2,11 @@ namespace Application\Controller\FicheMetier; use Application\Entity\Db\Agent; use Application\Entity\Db\FicheMetier; use Application\Form\Agent\AgentForm; use Application\Form\FicheMetier\FicheMetierCreationForm; use Application\Service\Agent\AgentServiceAwareTrait; use Application\Service\FicheMetier\FicheMetierServiceAwareTrait; use UnicaenApp\Exception\RuntimeException; use Zend\Http\Request; Loading @@ -13,6 +16,7 @@ use Zend\View\Model\ViewModel; class FicheMetierController extends AbstractActionController { use FicheMetierServiceAwareTrait; use AgentServiceAwareTrait; public function indexAction() { Loading Loading @@ -88,4 +92,44 @@ class FicheMetierController extends AbstractActionController 'form' => $form, ]); } /** 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, ]); } } No newline at end of file
module/Application/src/Application/Controller/FicheMetier/FicheMetierControllerFactory.php +4 −0 Changes for module/Application/src/Application/Controller/FicheMetier/FicheMetierControllerFactory.php: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ namespace Application\Controller\FicheMetier; use Application\Service\Agent\AgentService; use Application\Service\FicheMetier\FicheMetierService; use Zend\Mvc\Controller\ControllerManager; Loading @@ -11,12 +12,15 @@ class FicheMetierControllerFactory { { /** * @var FicheMetierService $ficheMetierService * @var AgentService $agentService */ $ficheMetierService = $controllerManager->getServiceLocator()->get(FicheMetierService::class); $agentService = $controllerManager->getServiceLocator()->get(AgentService::class); /** @var FicheMetierController $controller */ $controller = new FicheMetierController(); $controller->setFicheMetierService($ficheMetierService); $controller->setAgentService($agentService); return $controller; } Loading
module/Application/src/Application/Entity/Db/Agent.php 0 → 100644 +125 −0 Changes for module/Application/src/Application/Entity/Db/Agent.php: 125 added lines, 0 removed lines. Original line number Diff line number Diff line <?php namespace Application\Entity\Db; use DateTime; class Agent { /** @var integer */ private $id; /** @var string */ private $nom; /** @var string */ private $prenom; // categorie, corps, et grade (devrait correspondre à des infos en bases pour une meilleures structuration ... /** @var DateTime */ private $dateDebut; /** @var DateTime */ private $dateFin; /** @var integer */ private $quotite; /** * @return int */ public function getId() { return $this->id; } /** * @return string */ public function getNom() { return $this->nom; } /** * @param string $nom * @return Agent */ public function setNom($nom) { $this->nom = $nom; return $this; } /** * @return string */ public function getPrenom() { return $this->prenom; } /** * @param string $prenom * @return Agent */ public function setPrenom($prenom) { $this->prenom = $prenom; return $this; } /** * @return DateTime */ public function getDateDebut() { return $this->dateDebut; } /** * @param DateTime $dateDebut * @return Agent */ public function setDateDebut($dateDebut) { $this->dateDebut = $dateDebut; return $this; } /** * @return DateTime */ public function getDateFin() { return $this->dateFin; } /** * @param DateTime $dateFin * @return Agent */ public function setDateFin($dateFin) { $this->dateFin = $dateFin; return $this; } /** * @return int */ public function getQuotite() { return $this->quotite; } /** * @param int $quotite * @return Agent */ public function setQuotite($quotite) { $this->quotite = $quotite; return $this; } } No newline at end of file
module/Application/src/Application/Entity/Db/FicheMetier.php +22 −0 Changes for module/Application/src/Application/Entity/Db/FicheMetier.php: 22 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -14,6 +14,8 @@ class FicheMetier private $libelle; /** @var Affectation */ private $affectation; /** @var Agent */ private $agent; public function getId() { Loading Loading @@ -55,4 +57,24 @@ class FicheMetier $this->affectation = $affectation; return $this; } /** * @return Agent */ public function getAgent() { return $this->agent; } /** * @param Agent $agent * @return FicheMetier */ public function setAgent($agent) { $this->agent = $agent; return $this; } } No newline at end of file