Loading module/Application/config/merged/fiche-metier.config.php +71 −1 Changes for module/Application/config/merged/fiche-metier.config.php: 71 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -4,6 +4,10 @@ namespace Application; use Application\Controller\FicheMetier\FicheMetierController; use Application\Controller\FicheMetier\FicheMetierControllerFactory; use Application\Form\FicheMetier\FicheMetierCreationForm; use Application\Form\FicheMetier\FicheMetierCreationFormFactory; use Application\Form\FicheMetier\FicheMetierCreationHydrator; use Application\Form\FicheMetier\FicheMetierCreationHydratorFactory; use Application\Provider\Privilege\FicheMetierPrivileges; use Application\Service\FicheMetier\FicheMetierService; use Application\Service\FicheMetier\FicheMetierServiceFactory; Loading Loading @@ -42,6 +46,16 @@ return [ FicheMetierPrivileges::HISTORISER, ], ], [ 'controller' => FicheMetierController::class, 'action' => [ 'editer', 'creer', ], 'privileges' => [ FicheMetierPrivileges::EDITER, ], ], ], ], ], Loading Loading @@ -90,6 +104,51 @@ return [ ], ], ], 'editer' => [ 'type' => Segment::class, 'options' => [ 'route' => '/editer/:id/:section', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'editer', ], ], ], 'creer' => [ 'type' => Literal::class, 'options' => [ 'route' => '/creer', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'creer', ], ], ] ], ], ], ], 'navigation' => [ 'default' => [ 'home' => [ 'pages' => [ 'fiche-metier' => [ 'order' => -10, 'label' => 'Fiche métier', 'title' => "Fiche métier", 'route' => 'fiche-metier', 'roles' => [], //PrivilegeController::getResourceId(__NAMESPACE__ . '\Controller\Administration', 'index'), 'pages' => [ // [ // 'label' => "Droits et privilèges", // 'route' => 'droits', // 'roles' => [],//'resource' => PrivilegeController::getResourceId('UnicaenAuth\Controller\Droits', 'index'), // 'dropdown-header' => true, // 'icon' => 'fas fa-user', // ], ], ], ], ], ], Loading @@ -105,6 +164,17 @@ return [ 'controllers' => [ 'factories' => [ FicheMetierController::class => FicheMetierControllerFactory::class, ] ], ], 'form_elements' => [ 'factories' => [ FicheMetierCreationForm::class => FicheMetierCreationFormFactory::class, ], ], 'hydrators' => [ 'factories' => [ FicheMetierCreationHydrator::class => FicheMetierCreationHydratorFactory::class, ] ] ]; No newline at end of file module/Application/config/module.config.php +3 −0 Changes for module/Application/config/module.config.php: 3 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -2,6 +2,8 @@ namespace Application; use Application\Service\Affectation\AffectationService; use Application\Service\Affectation\AffectationServiceFactory; use Application\Service\MailService\MailService; use Application\Service\MailService\MailServiceFactory; use Application\Service\Role\RoleService; Loading Loading @@ -62,6 +64,7 @@ return [ 'factories' => [ MailService::class => MailServiceFactory::class, RoleService::class => RoleServiceFactory::class, AffectationService::class => AffectationServiceFactory::class, ], ], 'controllers' => [ Loading module/Application/src/Application/Controller/FicheMetier/FicheMetierController.php +44 −1 Changes for module/Application/src/Application/Controller/FicheMetier/FicheMetierController.php: 44 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -2,8 +2,11 @@ namespace Application\Controller\FicheMetier; use Application\Entity\Db\FicheMetier; use Application\Form\FicheMetier\FicheMetierCreationForm; use Application\Service\FicheMetier\FicheMetierServiceAwareTrait; use UnicaenApp\Exception\RuntimeException; use Zend\Http\Request; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\ViewModel; Loading @@ -21,7 +24,15 @@ class FicheMetierController extends AbstractActionController } public function afficherAction() { return new ViewModel(); $ficheId = $this->params()->fromRoute('id'); $fiche = $this->getFicheMetierService()->getFicheMetier($ficheId); if ($fiche === null) throw new RuntimeException("Aucune fiche ne porte l'identifiant [".$ficheId."]"); return new ViewModel([ 'fiche' => $fiche, ]); } public function historiserAction() Loading @@ -45,4 +56,36 @@ class FicheMetierController extends AbstractActionController $this->getFicheMetierService()->restaurer($fiche); $this->redirect()->toRoute('fiche-metier',[], [], true); } public function editerAction() { $libelle = 'Environnement du poste de travail dans l\'organisation'; return new ViewModel([ 'title' => "Édition de <em>".$libelle."</em>", ]); } public function creerAction() { /** @var FicheMetierCreationForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(FicheMetierCreationForm::class); $fiche = new FicheMetier(); $form->bind($fiche); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $fiche = $this->getFicheMetierService()->creer($fiche); $this->redirect()->toRoute('fiche-metier/afficher', ['id' => $fiche->getId()], [], true); } } return new ViewModel([ 'form' => $form, ]); } } No newline at end of file module/Application/src/Application/Entity/Db/Affectation.php 0 → 100644 +44 −0 Changes for module/Application/src/Application/Entity/Db/Affectation.php: 44 added lines, 0 removed lines. Original line number Diff line number Diff line <?php namespace Application\Entity\Db; class Affectation { /** @var int */ private $id; /** @var string */ private $libelle; /** * @return int */ public function getId() { return $this->id; } /** * @return string */ public function getLibelle() { return $this->libelle; } /** * @param string $libelle * @return Affectation */ public function setLibelle($libelle) { $this->libelle = $libelle; return $this; } public function __toString() { return $this->libelle; } } No newline at end of file module/Application/src/Application/Entity/Db/FicheMetier.php +43 −0 Changes for module/Application/src/Application/Entity/Db/FicheMetier.php: 43 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -12,6 +12,10 @@ class FicheMetier private $id; /** @var string */ private $libelle; /** @var Affectation */ private $affectation; /** @var string */ private $environnement; public function getId() { Loading @@ -36,5 +40,44 @@ class FicheMetier return $this; } /** * @return Affectation */ public function getAffectation() { return $this->affectation; } /** * @param Affectation $affectation * @return FicheMetier */ public function setAffectation($affectation) { $this->affectation = $affectation; return $this; } /** * @return string */ public function getEnvironnement() { return $this->environnement; } /** * @param string $environnement * @return FicheMetier */ public function setEnvironnement($environnement) { $this->environnement = $environnement; return $this; } } No newline at end of file Loading
module/Application/config/merged/fiche-metier.config.php +71 −1 Changes for module/Application/config/merged/fiche-metier.config.php: 71 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -4,6 +4,10 @@ namespace Application; use Application\Controller\FicheMetier\FicheMetierController; use Application\Controller\FicheMetier\FicheMetierControllerFactory; use Application\Form\FicheMetier\FicheMetierCreationForm; use Application\Form\FicheMetier\FicheMetierCreationFormFactory; use Application\Form\FicheMetier\FicheMetierCreationHydrator; use Application\Form\FicheMetier\FicheMetierCreationHydratorFactory; use Application\Provider\Privilege\FicheMetierPrivileges; use Application\Service\FicheMetier\FicheMetierService; use Application\Service\FicheMetier\FicheMetierServiceFactory; Loading Loading @@ -42,6 +46,16 @@ return [ FicheMetierPrivileges::HISTORISER, ], ], [ 'controller' => FicheMetierController::class, 'action' => [ 'editer', 'creer', ], 'privileges' => [ FicheMetierPrivileges::EDITER, ], ], ], ], ], Loading Loading @@ -90,6 +104,51 @@ return [ ], ], ], 'editer' => [ 'type' => Segment::class, 'options' => [ 'route' => '/editer/:id/:section', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'editer', ], ], ], 'creer' => [ 'type' => Literal::class, 'options' => [ 'route' => '/creer', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'creer', ], ], ] ], ], ], ], 'navigation' => [ 'default' => [ 'home' => [ 'pages' => [ 'fiche-metier' => [ 'order' => -10, 'label' => 'Fiche métier', 'title' => "Fiche métier", 'route' => 'fiche-metier', 'roles' => [], //PrivilegeController::getResourceId(__NAMESPACE__ . '\Controller\Administration', 'index'), 'pages' => [ // [ // 'label' => "Droits et privilèges", // 'route' => 'droits', // 'roles' => [],//'resource' => PrivilegeController::getResourceId('UnicaenAuth\Controller\Droits', 'index'), // 'dropdown-header' => true, // 'icon' => 'fas fa-user', // ], ], ], ], ], ], Loading @@ -105,6 +164,17 @@ return [ 'controllers' => [ 'factories' => [ FicheMetierController::class => FicheMetierControllerFactory::class, ] ], ], 'form_elements' => [ 'factories' => [ FicheMetierCreationForm::class => FicheMetierCreationFormFactory::class, ], ], 'hydrators' => [ 'factories' => [ FicheMetierCreationHydrator::class => FicheMetierCreationHydratorFactory::class, ] ] ]; No newline at end of file
module/Application/config/module.config.php +3 −0 Changes for module/Application/config/module.config.php: 3 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -2,6 +2,8 @@ namespace Application; use Application\Service\Affectation\AffectationService; use Application\Service\Affectation\AffectationServiceFactory; use Application\Service\MailService\MailService; use Application\Service\MailService\MailServiceFactory; use Application\Service\Role\RoleService; Loading Loading @@ -62,6 +64,7 @@ return [ 'factories' => [ MailService::class => MailServiceFactory::class, RoleService::class => RoleServiceFactory::class, AffectationService::class => AffectationServiceFactory::class, ], ], 'controllers' => [ Loading
module/Application/src/Application/Controller/FicheMetier/FicheMetierController.php +44 −1 Changes for module/Application/src/Application/Controller/FicheMetier/FicheMetierController.php: 44 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -2,8 +2,11 @@ namespace Application\Controller\FicheMetier; use Application\Entity\Db\FicheMetier; use Application\Form\FicheMetier\FicheMetierCreationForm; use Application\Service\FicheMetier\FicheMetierServiceAwareTrait; use UnicaenApp\Exception\RuntimeException; use Zend\Http\Request; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\ViewModel; Loading @@ -21,7 +24,15 @@ class FicheMetierController extends AbstractActionController } public function afficherAction() { return new ViewModel(); $ficheId = $this->params()->fromRoute('id'); $fiche = $this->getFicheMetierService()->getFicheMetier($ficheId); if ($fiche === null) throw new RuntimeException("Aucune fiche ne porte l'identifiant [".$ficheId."]"); return new ViewModel([ 'fiche' => $fiche, ]); } public function historiserAction() Loading @@ -45,4 +56,36 @@ class FicheMetierController extends AbstractActionController $this->getFicheMetierService()->restaurer($fiche); $this->redirect()->toRoute('fiche-metier',[], [], true); } public function editerAction() { $libelle = 'Environnement du poste de travail dans l\'organisation'; return new ViewModel([ 'title' => "Édition de <em>".$libelle."</em>", ]); } public function creerAction() { /** @var FicheMetierCreationForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(FicheMetierCreationForm::class); $fiche = new FicheMetier(); $form->bind($fiche); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $fiche = $this->getFicheMetierService()->creer($fiche); $this->redirect()->toRoute('fiche-metier/afficher', ['id' => $fiche->getId()], [], true); } } return new ViewModel([ 'form' => $form, ]); } } No newline at end of file
module/Application/src/Application/Entity/Db/Affectation.php 0 → 100644 +44 −0 Changes for module/Application/src/Application/Entity/Db/Affectation.php: 44 added lines, 0 removed lines. Original line number Diff line number Diff line <?php namespace Application\Entity\Db; class Affectation { /** @var int */ private $id; /** @var string */ private $libelle; /** * @return int */ public function getId() { return $this->id; } /** * @return string */ public function getLibelle() { return $this->libelle; } /** * @param string $libelle * @return Affectation */ public function setLibelle($libelle) { $this->libelle = $libelle; return $this; } public function __toString() { return $this->libelle; } } No newline at end of file
module/Application/src/Application/Entity/Db/FicheMetier.php +43 −0 Changes for module/Application/src/Application/Entity/Db/FicheMetier.php: 43 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -12,6 +12,10 @@ class FicheMetier private $id; /** @var string */ private $libelle; /** @var Affectation */ private $affectation; /** @var string */ private $environnement; public function getId() { Loading @@ -36,5 +40,44 @@ class FicheMetier return $this; } /** * @return Affectation */ public function getAffectation() { return $this->affectation; } /** * @param Affectation $affectation * @return FicheMetier */ public function setAffectation($affectation) { $this->affectation = $affectation; return $this; } /** * @return string */ public function getEnvironnement() { return $this->environnement; } /** * @param string $environnement * @return FicheMetier */ public function setEnvironnement($environnement) { $this->environnement = $environnement; return $this; } } No newline at end of file