Loading module/Application/config/merged/application.config.php +37 −1 Changes for module/Application/config/merged/application.config.php: 37 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -21,9 +21,9 @@ use Application\Form\SelectionApplication\SelectionApplicationFormFactory; use Application\Form\SelectionApplication\SelectionApplicationHydrator; use Application\Provider\Privilege\ApplicationPrivileges; use Application\Service\Application\ApplicationGroupeService; use Application\Service\Application\ApplicationGroupeServiceFactory; use Application\Service\Application\ApplicationService; use Application\Service\Application\ApplicationServiceFactory; use Application\Service\Application\ApplicationGroupeServiceFactory; use Application\Service\ApplicationElement\ApplicationElementService; use Application\Service\ApplicationElement\ApplicationElementServiceFactory; use Application\Service\HasApplicationCollection\HasApplicationCollectionService; Loading Loading @@ -51,6 +51,7 @@ return [ 'action' => [ 'afficher', 'afficher-groupe', 'afficher-application-element', ], 'privileges' => [ ApplicationPrivileges::APPLICATION_AFFICHER, Loading @@ -64,6 +65,7 @@ return [ 'modifier-groupe', 'historiser-groupe', 'restaurer-groupe', 'changer-niveau', ], 'privileges' => [ ApplicationPrivileges::APPLICATION_EDITER, Loading @@ -74,6 +76,7 @@ return [ 'action' => [ 'creer', 'ajouter-groupe', 'ajouter-application-element', ], 'privileges' => [ ApplicationPrivileges::APPLICATION_AJOUTER, Loading Loading @@ -125,6 +128,17 @@ return [ ], 'may_terminate' => true, 'child_routes' => [ 'changer-niveau' => [ 'type' => Segment::class, 'options' => [ 'route' => '/changer-niveau/:application-element', 'defaults' => [ 'controller' => ApplicationController::class, 'action' => 'changer-niveau', ], ], 'may_terminate' => true, ], 'groupe' => [ 'type' => Literal::class, 'may_terminate' => false, Loading Loading @@ -207,6 +221,28 @@ return [ ], ], ], 'afficher-application-element' => [ 'type' => Segment::class, 'options' => [ 'route' => '/afficher-application-element/:application-element', 'defaults' => [ 'controller' => ApplicationController::class, 'action' => 'afficher-application-element', ], ], 'may_terminate' => true, ], 'ajouter-application-element' => [ 'type' => Segment::class, 'options' => [ 'route' => '/ajouter-application-element/:type/:id', 'defaults' => [ 'controller' => ApplicationController::class, 'action' => 'ajouter-application-element', ], ], 'may_terminate' => true, ], 'changer-status' => [ 'type' => Segment::class, 'options' => [ Loading module/Application/src/Application/Controller/ApplicationController.php +96 −0 Changes for module/Application/src/Application/Controller/ApplicationController.php: 96 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -2,13 +2,22 @@ namespace Application\Controller; use Application\Entity\Db\Agent; use Application\Entity\Db\Application; use Application\Entity\Db\ApplicationElement; use Application\Entity\Db\ApplicationGroupe; use Application\Entity\Db\FicheMetier; use Application\Form\Application\ApplicationForm; use Application\Form\Application\ApplicationFormAwareTrait; use Application\Form\ApplicationElement\ApplicationElementFormAwareTrait; use Application\Form\ApplicationGroupe\ApplicationGroupeFormAwareTrait; use Application\Form\ModifierNiveau\ModifierNiveauFormAwareTrait; use Application\Form\SelectionCompetenceMaitrise\SelectionCompetenceMaitriseFormAwareTrait; use Application\Service\Agent\AgentServiceAwareTrait; use Application\Service\Application\ApplicationServiceAwareTrait; use Application\Service\Application\ApplicationGroupeServiceAwareTrait; use Application\Service\ApplicationElement\ApplicationElementServiceAwareTrait; use Application\Service\FicheMetier\FicheMetierServiceAwareTrait; use Zend\Http\Request; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\ViewModel; Loading @@ -16,8 +25,13 @@ use Zend\View\Model\ViewModel; class ApplicationController extends AbstractActionController { use ApplicationServiceAwareTrait; use ApplicationGroupeServiceAwareTrait; use ApplicationElementServiceAwareTrait; use AgentServiceAwareTrait; use FicheMetierServiceAwareTrait; use ApplicationFormAwareTrait; use ApplicationElementFormAwareTrait; use ApplicationGroupeFormAwareTrait; use SelectionCompetenceMaitriseFormAwareTrait; /** APPLICATION ***************************************************************************************************/ Loading Loading @@ -254,4 +268,86 @@ class ApplicationController extends AbstractActionController { } return $vm; } /** GESTION DES COMPETENCES ELEMENTS ==> Faire CONTROLLER ? *******************************************************/ public function afficherApplicationElementAction() { $element = $this->getApplicationElementService()->getRequestedApplicationElement($this); return new ViewModel([ 'title' => "Affichage de l'application [".$element->getApplication()->getLibelle()."]", 'applicationElement' => $element, ]); } public function ajouterApplicationElementAction() { $type = $this->params()->fromRoute('type'); $hasApplicationElement = null; switch($type) { case Agent::class : $hasApplicationElement = $this->getAgentService()->getRequestedAgent($this, 'id'); break; case FicheMetier::class : $hasApplicationElement = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'id'); break; } if ($hasApplicationElement !== null) { $element = new ApplicationElement(); $form = $this->getApplicationElementForm(); $form->setAttribute('action', $this->url()->fromRoute('application/ajouter-application-element', ['type' => $type, 'id' => $hasApplicationElement->getId()], [], true)); $form->bind($element); $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getApplicationElementService()->create($element); $hasApplicationElement->addApplicationElement($element); switch($type) { case Agent::class : $this->getAgentService()->update($hasApplicationElement); break; case FicheMetier::class : $this->getFicheMetierService()->update($hasApplicationElement); break; } } } $vm = new ViewModel([ 'title' => "Ajout d'une application", 'form' => $form, ]); $vm->setTemplate('application/default/default-form'); return $vm; } exit(); } /** Niveau de maitrise d'un */ public function changerNiveauAction() { $element = $this->getApplicationElementService()->getRequestedApplicationElement($this); $form = $this->getSelectionCompetenceMaitriseForm(); $form->setAttribute('action', $this->url()->fromRoute('application/changer-niveau', ['application-element' => $element->getId()], [], true)); $form->bind($element); $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getApplicationElementService()->update($element); } } $vm = new ViewModel([ 'title' => "Changer le niveau de maîtrise", 'form' => $form, ]); $vm->setTemplate('application/default/default-form'); return $vm; } } No newline at end of file module/Application/src/Application/Controller/ApplicationControllerFactory.php +20 −0 Changes for module/Application/src/Application/Controller/ApplicationControllerFactory.php: 20 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -3,9 +3,14 @@ namespace Application\Controller; use Application\Form\Application\ApplicationForm; use Application\Form\ApplicationElement\ApplicationElementForm; use Application\Form\ApplicationGroupe\ApplicationGroupeForm; use Application\Form\SelectionCompetenceMaitrise\SelectionCompetenceMaitriseForm; use Application\Service\Agent\AgentService; use Application\Service\Application\ApplicationGroupeService; use Application\Service\Application\ApplicationService; use Application\Service\ApplicationElement\ApplicationElementService; use Application\Service\FicheMetier\FicheMetierService; use Interop\Container\ContainerInterface; class ApplicationControllerFactory { Loading @@ -15,23 +20,38 @@ class ApplicationControllerFactory { /** * @var ApplicationService $applicationService * @var ApplicationGroupeService $applicationGroupeService * @var ApplicationElementService $applicationElementService * @var AgentService $agentService * @var FicheMetierService $ficheMetierService */ $applicationService = $container->get(ApplicationService::class); $applicationGroupeService = $container->get(ApplicationGroupeService::class); $applicationElementService = $container->get(ApplicationElementService::class); $agentService = $container->get(AgentService::class); $ficheMetierService = $container->get(FicheMetierService::class); /** * @var ApplicationForm $applicationForm * @var ApplicationGroupeForm $applicationGroupeForm * @var SelectionCompetenceMaitriseForm $selectionMaitriseForm * @var ApplicationElementForm $applicationElementForm */ $applicationForm = $container->get('FormElementManager')->get(ApplicationForm::class); $applicationGroupeForm = $container->get('FormElementManager')->get(ApplicationGroupeForm::class); $selectionMaitriseForm = $container->get('FormElementManager')->get(SelectionCompetenceMaitriseForm::class); $applicationElementForm = $container->get('FormElementManager')->get(ApplicationElementForm::class); /** @var ApplicationController $controller */ $controller = new ApplicationController(); $controller->setApplicationService($applicationService); $controller->setApplicationGroupeService($applicationGroupeService); $controller->setApplicationElementService($applicationElementService); $controller->setAgentService($agentService); $controller->setFicheMetierService($ficheMetierService); $controller->setApplicationForm($applicationForm); $controller->setApplicationGroupeForm($applicationGroupeForm); $controller->setSelectionCompetenceMaitriseForm($selectionMaitriseForm); $controller->setApplicationElementForm($applicationElementForm); return $controller; } } No newline at end of file module/Application/src/Application/Controller/CompetenceController.php +1 −1 Changes for module/Application/src/Application/Controller/CompetenceController.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -535,7 +535,7 @@ class CompetenceController extends AbstractActionController $vm->setTemplate('application/default/default-form'); return $vm; } exit(); } public function supprimerCompetenceElementAction() Loading module/Application/src/Application/Controller/FicheMetierController.php +1 −1 Changes for module/Application/src/Application/Controller/FicheMetierController.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -145,7 +145,7 @@ class FicheMetierController extends AbstractActionController $fiche = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'id', false); if ($fiche === null) $fiche = $this->getFicheMetierService()->getLastFicheMetier(); $parcours = $this->getParcoursDeFormationService()->generateParcoursArrayFromFicheMetier($fiche); $applications = $this->getFicheMetierService()->getApplicationsDictionnaires($fiche); $applications = $this->getFicheMetierService()->getApplicationsDictionnaires($fiche, true); $competences = $this->getFicheMetierService()->getCompetencesDictionnaires($fiche, true); return new ViewModel([ Loading Loading
module/Application/config/merged/application.config.php +37 −1 Changes for module/Application/config/merged/application.config.php: 37 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -21,9 +21,9 @@ use Application\Form\SelectionApplication\SelectionApplicationFormFactory; use Application\Form\SelectionApplication\SelectionApplicationHydrator; use Application\Provider\Privilege\ApplicationPrivileges; use Application\Service\Application\ApplicationGroupeService; use Application\Service\Application\ApplicationGroupeServiceFactory; use Application\Service\Application\ApplicationService; use Application\Service\Application\ApplicationServiceFactory; use Application\Service\Application\ApplicationGroupeServiceFactory; use Application\Service\ApplicationElement\ApplicationElementService; use Application\Service\ApplicationElement\ApplicationElementServiceFactory; use Application\Service\HasApplicationCollection\HasApplicationCollectionService; Loading Loading @@ -51,6 +51,7 @@ return [ 'action' => [ 'afficher', 'afficher-groupe', 'afficher-application-element', ], 'privileges' => [ ApplicationPrivileges::APPLICATION_AFFICHER, Loading @@ -64,6 +65,7 @@ return [ 'modifier-groupe', 'historiser-groupe', 'restaurer-groupe', 'changer-niveau', ], 'privileges' => [ ApplicationPrivileges::APPLICATION_EDITER, Loading @@ -74,6 +76,7 @@ return [ 'action' => [ 'creer', 'ajouter-groupe', 'ajouter-application-element', ], 'privileges' => [ ApplicationPrivileges::APPLICATION_AJOUTER, Loading Loading @@ -125,6 +128,17 @@ return [ ], 'may_terminate' => true, 'child_routes' => [ 'changer-niveau' => [ 'type' => Segment::class, 'options' => [ 'route' => '/changer-niveau/:application-element', 'defaults' => [ 'controller' => ApplicationController::class, 'action' => 'changer-niveau', ], ], 'may_terminate' => true, ], 'groupe' => [ 'type' => Literal::class, 'may_terminate' => false, Loading Loading @@ -207,6 +221,28 @@ return [ ], ], ], 'afficher-application-element' => [ 'type' => Segment::class, 'options' => [ 'route' => '/afficher-application-element/:application-element', 'defaults' => [ 'controller' => ApplicationController::class, 'action' => 'afficher-application-element', ], ], 'may_terminate' => true, ], 'ajouter-application-element' => [ 'type' => Segment::class, 'options' => [ 'route' => '/ajouter-application-element/:type/:id', 'defaults' => [ 'controller' => ApplicationController::class, 'action' => 'ajouter-application-element', ], ], 'may_terminate' => true, ], 'changer-status' => [ 'type' => Segment::class, 'options' => [ Loading
module/Application/src/Application/Controller/ApplicationController.php +96 −0 Changes for module/Application/src/Application/Controller/ApplicationController.php: 96 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -2,13 +2,22 @@ namespace Application\Controller; use Application\Entity\Db\Agent; use Application\Entity\Db\Application; use Application\Entity\Db\ApplicationElement; use Application\Entity\Db\ApplicationGroupe; use Application\Entity\Db\FicheMetier; use Application\Form\Application\ApplicationForm; use Application\Form\Application\ApplicationFormAwareTrait; use Application\Form\ApplicationElement\ApplicationElementFormAwareTrait; use Application\Form\ApplicationGroupe\ApplicationGroupeFormAwareTrait; use Application\Form\ModifierNiveau\ModifierNiveauFormAwareTrait; use Application\Form\SelectionCompetenceMaitrise\SelectionCompetenceMaitriseFormAwareTrait; use Application\Service\Agent\AgentServiceAwareTrait; use Application\Service\Application\ApplicationServiceAwareTrait; use Application\Service\Application\ApplicationGroupeServiceAwareTrait; use Application\Service\ApplicationElement\ApplicationElementServiceAwareTrait; use Application\Service\FicheMetier\FicheMetierServiceAwareTrait; use Zend\Http\Request; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\ViewModel; Loading @@ -16,8 +25,13 @@ use Zend\View\Model\ViewModel; class ApplicationController extends AbstractActionController { use ApplicationServiceAwareTrait; use ApplicationGroupeServiceAwareTrait; use ApplicationElementServiceAwareTrait; use AgentServiceAwareTrait; use FicheMetierServiceAwareTrait; use ApplicationFormAwareTrait; use ApplicationElementFormAwareTrait; use ApplicationGroupeFormAwareTrait; use SelectionCompetenceMaitriseFormAwareTrait; /** APPLICATION ***************************************************************************************************/ Loading Loading @@ -254,4 +268,86 @@ class ApplicationController extends AbstractActionController { } return $vm; } /** GESTION DES COMPETENCES ELEMENTS ==> Faire CONTROLLER ? *******************************************************/ public function afficherApplicationElementAction() { $element = $this->getApplicationElementService()->getRequestedApplicationElement($this); return new ViewModel([ 'title' => "Affichage de l'application [".$element->getApplication()->getLibelle()."]", 'applicationElement' => $element, ]); } public function ajouterApplicationElementAction() { $type = $this->params()->fromRoute('type'); $hasApplicationElement = null; switch($type) { case Agent::class : $hasApplicationElement = $this->getAgentService()->getRequestedAgent($this, 'id'); break; case FicheMetier::class : $hasApplicationElement = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'id'); break; } if ($hasApplicationElement !== null) { $element = new ApplicationElement(); $form = $this->getApplicationElementForm(); $form->setAttribute('action', $this->url()->fromRoute('application/ajouter-application-element', ['type' => $type, 'id' => $hasApplicationElement->getId()], [], true)); $form->bind($element); $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getApplicationElementService()->create($element); $hasApplicationElement->addApplicationElement($element); switch($type) { case Agent::class : $this->getAgentService()->update($hasApplicationElement); break; case FicheMetier::class : $this->getFicheMetierService()->update($hasApplicationElement); break; } } } $vm = new ViewModel([ 'title' => "Ajout d'une application", 'form' => $form, ]); $vm->setTemplate('application/default/default-form'); return $vm; } exit(); } /** Niveau de maitrise d'un */ public function changerNiveauAction() { $element = $this->getApplicationElementService()->getRequestedApplicationElement($this); $form = $this->getSelectionCompetenceMaitriseForm(); $form->setAttribute('action', $this->url()->fromRoute('application/changer-niveau', ['application-element' => $element->getId()], [], true)); $form->bind($element); $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getApplicationElementService()->update($element); } } $vm = new ViewModel([ 'title' => "Changer le niveau de maîtrise", 'form' => $form, ]); $vm->setTemplate('application/default/default-form'); return $vm; } } No newline at end of file
module/Application/src/Application/Controller/ApplicationControllerFactory.php +20 −0 Changes for module/Application/src/Application/Controller/ApplicationControllerFactory.php: 20 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -3,9 +3,14 @@ namespace Application\Controller; use Application\Form\Application\ApplicationForm; use Application\Form\ApplicationElement\ApplicationElementForm; use Application\Form\ApplicationGroupe\ApplicationGroupeForm; use Application\Form\SelectionCompetenceMaitrise\SelectionCompetenceMaitriseForm; use Application\Service\Agent\AgentService; use Application\Service\Application\ApplicationGroupeService; use Application\Service\Application\ApplicationService; use Application\Service\ApplicationElement\ApplicationElementService; use Application\Service\FicheMetier\FicheMetierService; use Interop\Container\ContainerInterface; class ApplicationControllerFactory { Loading @@ -15,23 +20,38 @@ class ApplicationControllerFactory { /** * @var ApplicationService $applicationService * @var ApplicationGroupeService $applicationGroupeService * @var ApplicationElementService $applicationElementService * @var AgentService $agentService * @var FicheMetierService $ficheMetierService */ $applicationService = $container->get(ApplicationService::class); $applicationGroupeService = $container->get(ApplicationGroupeService::class); $applicationElementService = $container->get(ApplicationElementService::class); $agentService = $container->get(AgentService::class); $ficheMetierService = $container->get(FicheMetierService::class); /** * @var ApplicationForm $applicationForm * @var ApplicationGroupeForm $applicationGroupeForm * @var SelectionCompetenceMaitriseForm $selectionMaitriseForm * @var ApplicationElementForm $applicationElementForm */ $applicationForm = $container->get('FormElementManager')->get(ApplicationForm::class); $applicationGroupeForm = $container->get('FormElementManager')->get(ApplicationGroupeForm::class); $selectionMaitriseForm = $container->get('FormElementManager')->get(SelectionCompetenceMaitriseForm::class); $applicationElementForm = $container->get('FormElementManager')->get(ApplicationElementForm::class); /** @var ApplicationController $controller */ $controller = new ApplicationController(); $controller->setApplicationService($applicationService); $controller->setApplicationGroupeService($applicationGroupeService); $controller->setApplicationElementService($applicationElementService); $controller->setAgentService($agentService); $controller->setFicheMetierService($ficheMetierService); $controller->setApplicationForm($applicationForm); $controller->setApplicationGroupeForm($applicationGroupeForm); $controller->setSelectionCompetenceMaitriseForm($selectionMaitriseForm); $controller->setApplicationElementForm($applicationElementForm); return $controller; } } No newline at end of file
module/Application/src/Application/Controller/CompetenceController.php +1 −1 Changes for module/Application/src/Application/Controller/CompetenceController.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -535,7 +535,7 @@ class CompetenceController extends AbstractActionController $vm->setTemplate('application/default/default-form'); return $vm; } exit(); } public function supprimerCompetenceElementAction() Loading
module/Application/src/Application/Controller/FicheMetierController.php +1 −1 Changes for module/Application/src/Application/Controller/FicheMetierController.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -145,7 +145,7 @@ class FicheMetierController extends AbstractActionController $fiche = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'id', false); if ($fiche === null) $fiche = $this->getFicheMetierService()->getLastFicheMetier(); $parcours = $this->getParcoursDeFormationService()->generateParcoursArrayFromFicheMetier($fiche); $applications = $this->getFicheMetierService()->getApplicationsDictionnaires($fiche); $applications = $this->getFicheMetierService()->getApplicationsDictionnaires($fiche, true); $competences = $this->getFicheMetierService()->getCompetencesDictionnaires($fiche, true); return new ViewModel([ Loading