Loading documentation/220_DB_EMC2_FICHEPOSTE.sql +31 −1 Changes for documentation/220_DB_EMC2_FICHEPOSTE.sql: 31 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -150,6 +150,33 @@ create table ficheposte_validation constraint ficheposte_validations_pk primary key (ficheposte_id, validation_id) ); create table ficheposte_poste ( id serial constraint ficheposte_poste_pk primary key, ficheposte_id integer constraint ficheposte_poste_ficheposte_id_fk references ficheposte on delete cascade, referentiel varchar(1024), intitule_poste varchar(1024), poste_id varchar(1024), histo_creation timestamp default now() not null, histo_createur_id integer default 0 not null constraint ficheposte_poste_unicaen_utilisateur_user_id_fk references unicaen_utilisateur_user, histo_modification timestamp, histo_modificateur_id integer constraint ficheposte_poste_unicaen_utilisateur_user_id_fk2 references unicaen_utilisateur_user, histo_destruction timestamp, histo_destructeur_id integer constraint ficheposte_poste_unicaen_utilisateur_user_id_fk3 references unicaen_utilisateur_user ); ------------------------------------------------------------------------------------------------------------------------ -- PRIVILEGE ----------------------------------------------------------------------------------------------------------- Loading @@ -169,7 +196,10 @@ WITH d(code, lib, ordre) AS ( SELECT 'ficheposte_etat', 'Modifier l''état', 200 UNION SELECT 'ficheposte_valider_responsable', 'Valider en tant que responsable', 250 UNION SELECT 'ficheposte_valider_agent', 'Valider en tant qu''agent', 260 UNION SELECT 'ficheposte_graphique', 'Afficher les graphiques de compatibilité', 300 SELECT 'ficheposte_graphique', 'Afficher les graphiques de compatibilité', 300 UNION SELECT 'ficheposte_afficher_poste', 'Afficher les informations sur le poste', 100 UNION SELECT 'ficheposte_modifier_poste', 'Modifier les informations sur le poste', 110 ) SELECT cp.id, d.code, d.lib, d.ordre FROM d Loading documentation/release/3.1.4.md +26 −0 Changes for documentation/release/3.1.4.md: 26 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ * Retrait de mention UniCaen dans la fiche de poste pour des termes plus généraux * Ajout de la raison d'être sur les fiches metiers * Ajout des informations sur le poste associé à une fiche de poste * Amélioration de la récupération des corps/correspondances/gardes **Modifications de la base de donnée** Loading @@ -26,6 +27,31 @@ alter table unicaen_renderer_template add namespace varchar(1024); -- ajout des ''raison d être'' aux fiches metier alter table fichemetier add raison text; -- ajout des informations de gestion de poste (TABLE) create table ficheposte_poste ( id serial constraint ficheposte_poste_pk primary key, ficheposte_id integer constraint ficheposte_poste_ficheposte_id_fk references ficheposte on delete cascade, referentiel varchar(1024), intitule_poste varchar(1024), poste_id varchar(1024), histo_creation timestamp default now() not null, histo_createur_id integer default 0 not null constraint ficheposte_poste_unicaen_utilisateur_user_id_fk references unicaen_utilisateur_user, histo_modification timestamp, histo_modificateur_id integer constraint ficheposte_poste_unicaen_utilisateur_user_id_fk2 references unicaen_utilisateur_user, histo_destruction timestamp, histo_destructeur_id integer constraint ficheposte_poste_unicaen_utilisateur_user_id_fk3 references unicaen_utilisateur_user ); -- ajout des informations de gestion de poste (PRIVILEGES) INSERT INTO unicaen_privilege_privilege(CATEGORIE_ID, CODE, LIBELLE, ORDRE) WITH d(code, lib, ordre) AS ( SELECT 'ficheposte_afficher_poste', 'Afficher les informations sur le poste', 100 UNION SELECT 'ficheposte_modifier_poste', 'Modifier les informations sur le poste', 110 ) SELECT cp.id, d.code, d.lib, d.ordre FROM d JOIN unicaen_privilege_categorie cp ON cp.CODE = 'ficheposte'; -- modélisation concrete de la notion de plan de formation create table formation_plan_formation ( Loading module/Application/config/merged/fiche-poste.config.php +28 −0 Changes for module/Application/config/merged/fiche-poste.config.php: 28 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -22,6 +22,10 @@ use Application\Form\Expertise\ExpertiseForm; use Application\Form\Expertise\ExpertiseFormFactory; use Application\Form\Expertise\ExpertiseHydrator; use Application\Form\Expertise\ExpertiseHydratorFactory; use Application\Form\Poste\PosteForm; use Application\Form\Poste\PosteFormFactory; use Application\Form\Poste\PosteHydrator; use Application\Form\Poste\PosteHydratorFactory; use Application\Form\Rifseep\RifseepForm; use Application\Form\Rifseep\RifseepFormFactory; use Application\Form\Rifseep\RifseepHydrator; Loading @@ -40,6 +44,8 @@ use Application\Service\Expertise\ExpertiseService; use Application\Service\Expertise\ExpertiseServiceFactory; use Application\Service\FichePoste\FichePosteService; use Application\Service\FichePoste\FichePosteServiceFactory; use Application\Service\Poste\PosteService; use Application\Service\Poste\PosteServiceFactory; use Application\Service\SpecificitePoste\SpecificitePosteService; use Application\Service\SpecificitePoste\SpecificitePosteServiceFactory; use Application\View\Helper\FichePosteGraphViewHelper; Loading Loading @@ -113,6 +119,13 @@ return [ 'privileges' => FichePostePrivileges::FICHEPOSTE_AJOUTER, 'assertion' => FichePosteAssertion::class, ], [ 'controller' => FichePosteController::class, 'action' => [ 'modifier-information-poste', ], 'privileges' => FichePostePrivileges::FICHEPOSTE_MODIFIER_POSTE, ], [ 'controller' => FichePosteController::class, 'action' => [ Loading Loading @@ -381,6 +394,18 @@ return [ ], ], ], /** @see FichePosteController::modifierInformationPosteAction() */ 'modifier-information-poste' => [ 'type' => Segment::class, 'may_terminate' => true, 'options' => [ 'route' => '/modifier-information-poste/:fiche-poste', 'defaults' => [ 'controller' => FichePosteController::class, 'action' => 'modifier-information-poste', ], ], ], 'ajouter-fiche-metier' => [ 'type' => Segment::class, 'may_terminate' => true, Loading Loading @@ -571,6 +596,7 @@ return [ CompetencesRetireesService::class => CompetencesRetireesServiceFactory::class, ExpertiseService::class => ExpertiseServiceFactory::class, FichePosteService::class => FichePosteServiceFactory::class, PosteService::class => PosteServiceFactory::class, SpecificitePosteService::class => SpecificitePosteServiceFactory::class, ], ], Loading @@ -585,6 +611,7 @@ return [ AssocierPosteForm::class => AssocierPosteFormFactory::class, AssocierTitreForm::class => AssocierTitreFormFactory::class, ExpertiseForm::class => ExpertiseFormFactory::class, PosteForm::class => PosteFormFactory::class, SpecificitePosteForm::class => SpecificitePosteFormFactory::class, RifseepForm::class => RifseepFormFactory::class, ], Loading @@ -598,6 +625,7 @@ return [ AssocierPosteHydrator::class => AssocierPosteHydratorFactory::class, AssocierTitreHydrator::class => AssocierTitreHydratorFactory::class, ExpertiseHydrator::class => ExpertiseHydratorFactory::class, PosteHydrator::class => PosteHydratorFactory::class, RifseepHydrator::class => RifseepHydratorFactory::class, ], ], Loading module/Application/src/Application/Controller/FichePosteController.php +42 −0 Changes for module/Application/src/Application/Controller/FichePosteController.php: 42 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -9,11 +9,13 @@ use Application\Entity\Db\FicheMetier; use Application\Entity\Db\FichePoste; use Application\Entity\Db\FicheposteActiviteDescriptionRetiree; use Application\Entity\Db\FicheTypeExterne; use Application\Entity\Db\Poste; use Application\Entity\Db\SpecificitePoste; use Application\Form\AjouterFicheMetier\AjouterFicheMetierFormAwareTrait; use Application\Form\AssocierTitre\AssocierTitreForm; use Application\Form\AssocierTitre\AssocierTitreFormAwareTrait; use Application\Form\Expertise\ExpertiseFormAwareTrait; use Application\Form\Poste\PosteFormAwareTrait; use Application\Form\Rifseep\RifseepFormAwareTrait; use Application\Form\SpecificitePoste\SpecificitePosteForm; use Application\Form\SpecificitePoste\SpecificitePosteFormAwareTrait; Loading @@ -30,6 +32,7 @@ use Application\Service\FicheMetier\FicheMetierServiceAwareTrait; use Application\Service\FichePoste\FichePosteServiceAwareTrait; use Application\Service\Notification\NotificationServiceAwareTrait; use Application\Service\ParcoursDeFormation\ParcoursDeFormationServiceAwareTrait; use Application\Service\Poste\PosteServiceAwareTrait; use Application\Service\SpecificitePoste\SpecificitePosteServiceAwareTrait; use DateTime; use Mpdf\MpdfException; Loading Loading @@ -63,6 +66,7 @@ class FichePosteController extends AbstractActionController { use FichePosteServiceAwareTrait; use NotificationServiceAwareTrait; use ParcoursDeFormationServiceAwareTrait; use PosteServiceAwareTrait; use RenduServiceAwareTrait; use StructureServiceAwareTrait; use SpecificitePosteServiceAwareTrait; Loading @@ -72,6 +76,7 @@ class FichePosteController extends AbstractActionController { use AjouterFicheMetierFormAwareTrait; use AssocierTitreFormAwareTrait; use ExpertiseFormAwareTrait; use PosteFormAwareTrait; use RifseepFormAwareTrait; use SelectionEtatFormAwareTrait; use SpecificitePosteFormAwareTrait; Loading Loading @@ -318,6 +323,43 @@ class FichePosteController extends AbstractActionController { } } /** GESTION DES INFORMATIONS DE POSTE *****************************************************************************/ public function modifierInformationPosteAction() : ViewModel { $ficheposte = $this->getFichePosteService()->getRequestedFichePoste($this); $create = false; /** @var ?Poste $poste */ $poste = $ficheposte->getPoste(); if ($ficheposte->getPoste() === null) { $create = true; $poste = new Poste(); $poste->setFicheposte($ficheposte); } $form = $this->getPosteForm(); $form->setAttribute('action', $this->url()->fromRoute('fiche-poste/modifier-information-poste', ['fiche-poste' => $ficheposte->getId()], [], true)); $form->bind($poste); $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { if ($create) $this->getPosteService()->create($poste); else $this->getPosteService()->update($poste); } } $vm = new ViewModel([ 'title' => "Modifier les informations sur le poste", 'form' => $form, ]); $vm->setTemplate('application/default/default-form'); return $vm; } /** GESTION DES ETATS DES FICHES POSTES ***************************************************************************/ public function changerEtatAction() : ViewModel Loading module/Application/src/Application/Controller/FichePosteControllerFactory.php +17 −1 Changes for module/Application/src/Application/Controller/FichePosteControllerFactory.php: 17 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ namespace Application\Controller; use Application\Form\AjouterFicheMetier\AjouterFicheMetierForm; use Application\Form\AssocierTitre\AssocierTitreForm; use Application\Form\Expertise\ExpertiseForm; use Application\Form\Poste\PosteForm; use Application\Form\Rifseep\RifseepForm; use Application\Form\SpecificitePoste\SpecificitePosteForm; use Application\Service\Activite\ActiviteService; Loading @@ -17,8 +18,11 @@ use Application\Service\FicheMetier\FicheMetierService; use Application\Service\FichePoste\FichePosteService; use Application\Service\Notification\NotificationService; use Application\Service\ParcoursDeFormation\ParcoursDeFormationService; use Application\Service\Poste\PosteService; use Application\Service\SpecificitePoste\SpecificitePosteService; use Interop\Container\ContainerInterface; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; use Structure\Service\Structure\StructureService; use UnicaenEtat\Form\SelectionEtat\SelectionEtatForm; use UnicaenEtat\Service\Etat\EtatService; Loading @@ -27,6 +31,12 @@ use UnicaenValidation\Service\ValidationInstance\ValidationInstanceService; class FichePosteControllerFactory { /** * @param ContainerInterface $container * @return FichePosteController * @throws ContainerExceptionInterface * @throws NotFoundExceptionInterface */ public function __invoke(ContainerInterface $container) : FichePosteController { /** Loading @@ -41,8 +51,9 @@ class FichePosteControllerFactory { * @var EtatService $etatService * @var ExpertiseService $expertiseService * @var NotificationService $notificationService * @var SpecificitePosteService $specificitePosteService * @var ParcoursDeFormationService $parcoursService * @var PosteService $posteService * @var SpecificitePosteService $specificitePosteService * @var ValidationInstanceService $validationInstanceService */ $agentService = $container->get(AgentService::class); Loading @@ -57,6 +68,7 @@ class FichePosteControllerFactory { $etatService = $container->get(EtatService::class); $expertiseService = $container->get(ExpertiseService::class); $notificationService = $container->get(NotificationService::class); $posteService = $container->get(PosteService::class); $specificitePosteService = $container->get(SpecificitePosteService::class); $parcoursService = $container->get(ParcoursDeFormationService::class); $validationInstanceService = $container->get(ValidationInstanceService::class); Loading @@ -65,6 +77,7 @@ class FichePosteControllerFactory { * @var AjouterFicheMetierForm $ajouterFicheMetierForm * @var AssocierTitreForm $associerTitreForm * @var ExpertiseForm $expertiseForm * @var PosteForm $posteForm * @var RifseepForm $rifseepForm * @var SelectionEtatForm $selectionEtatForm * @var SpecificitePosteForm $specificiftePosteForm Loading @@ -72,6 +85,7 @@ class FichePosteControllerFactory { $ajouterFicheMetierForm = $container->get('FormElementManager')->get(AjouterFicheMetierForm::class); $associerTitreForm = $container->get('FormElementManager')->get(AssocierTitreForm::class); $expertiseForm = $container->get('FormElementManager')->get(ExpertiseForm::class); $posteForm = $container->get('FormElementManager')->get(PosteForm::class); $rifseepForm = $container->get('FormElementManager')->get(RifseepForm::class); $selectionEtatForm = $container->get('FormElementManager')->get(SelectionEtatForm::class); $specificiftePosteForm = $container->get('FormElementManager')->get(SpecificitePosteForm::class); Loading @@ -93,6 +107,7 @@ class FichePosteControllerFactory { $controller->setEtatService($etatService); $controller->setExpertiseService($expertiseService); $controller->setNotificationService($notificationService); $controller->setPosteService($posteService); $controller->setSpecificitePosteService($specificitePosteService); $controller->setParcoursDeFormationService($parcoursService); $controller->setValidationInstanceService($validationInstanceService); Loading @@ -100,6 +115,7 @@ class FichePosteControllerFactory { $controller->setAjouterFicheTypeForm($ajouterFicheMetierForm); $controller->setAssocierTitreForm($associerTitreForm); $controller->setExpertiseForm($expertiseForm); $controller->setPosteForm($posteForm); $controller->setRifseepForm($rifseepForm); $controller->setSelectionEtatForm($selectionEtatForm); $controller->setSpecificitePosteForm($specificiftePosteForm); Loading Loading
documentation/220_DB_EMC2_FICHEPOSTE.sql +31 −1 Changes for documentation/220_DB_EMC2_FICHEPOSTE.sql: 31 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -150,6 +150,33 @@ create table ficheposte_validation constraint ficheposte_validations_pk primary key (ficheposte_id, validation_id) ); create table ficheposte_poste ( id serial constraint ficheposte_poste_pk primary key, ficheposte_id integer constraint ficheposte_poste_ficheposte_id_fk references ficheposte on delete cascade, referentiel varchar(1024), intitule_poste varchar(1024), poste_id varchar(1024), histo_creation timestamp default now() not null, histo_createur_id integer default 0 not null constraint ficheposte_poste_unicaen_utilisateur_user_id_fk references unicaen_utilisateur_user, histo_modification timestamp, histo_modificateur_id integer constraint ficheposte_poste_unicaen_utilisateur_user_id_fk2 references unicaen_utilisateur_user, histo_destruction timestamp, histo_destructeur_id integer constraint ficheposte_poste_unicaen_utilisateur_user_id_fk3 references unicaen_utilisateur_user ); ------------------------------------------------------------------------------------------------------------------------ -- PRIVILEGE ----------------------------------------------------------------------------------------------------------- Loading @@ -169,7 +196,10 @@ WITH d(code, lib, ordre) AS ( SELECT 'ficheposte_etat', 'Modifier l''état', 200 UNION SELECT 'ficheposte_valider_responsable', 'Valider en tant que responsable', 250 UNION SELECT 'ficheposte_valider_agent', 'Valider en tant qu''agent', 260 UNION SELECT 'ficheposte_graphique', 'Afficher les graphiques de compatibilité', 300 SELECT 'ficheposte_graphique', 'Afficher les graphiques de compatibilité', 300 UNION SELECT 'ficheposte_afficher_poste', 'Afficher les informations sur le poste', 100 UNION SELECT 'ficheposte_modifier_poste', 'Modifier les informations sur le poste', 110 ) SELECT cp.id, d.code, d.lib, d.ordre FROM d Loading
documentation/release/3.1.4.md +26 −0 Changes for documentation/release/3.1.4.md: 26 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ * Retrait de mention UniCaen dans la fiche de poste pour des termes plus généraux * Ajout de la raison d'être sur les fiches metiers * Ajout des informations sur le poste associé à une fiche de poste * Amélioration de la récupération des corps/correspondances/gardes **Modifications de la base de donnée** Loading @@ -26,6 +27,31 @@ alter table unicaen_renderer_template add namespace varchar(1024); -- ajout des ''raison d être'' aux fiches metier alter table fichemetier add raison text; -- ajout des informations de gestion de poste (TABLE) create table ficheposte_poste ( id serial constraint ficheposte_poste_pk primary key, ficheposte_id integer constraint ficheposte_poste_ficheposte_id_fk references ficheposte on delete cascade, referentiel varchar(1024), intitule_poste varchar(1024), poste_id varchar(1024), histo_creation timestamp default now() not null, histo_createur_id integer default 0 not null constraint ficheposte_poste_unicaen_utilisateur_user_id_fk references unicaen_utilisateur_user, histo_modification timestamp, histo_modificateur_id integer constraint ficheposte_poste_unicaen_utilisateur_user_id_fk2 references unicaen_utilisateur_user, histo_destruction timestamp, histo_destructeur_id integer constraint ficheposte_poste_unicaen_utilisateur_user_id_fk3 references unicaen_utilisateur_user ); -- ajout des informations de gestion de poste (PRIVILEGES) INSERT INTO unicaen_privilege_privilege(CATEGORIE_ID, CODE, LIBELLE, ORDRE) WITH d(code, lib, ordre) AS ( SELECT 'ficheposte_afficher_poste', 'Afficher les informations sur le poste', 100 UNION SELECT 'ficheposte_modifier_poste', 'Modifier les informations sur le poste', 110 ) SELECT cp.id, d.code, d.lib, d.ordre FROM d JOIN unicaen_privilege_categorie cp ON cp.CODE = 'ficheposte'; -- modélisation concrete de la notion de plan de formation create table formation_plan_formation ( Loading
module/Application/config/merged/fiche-poste.config.php +28 −0 Changes for module/Application/config/merged/fiche-poste.config.php: 28 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -22,6 +22,10 @@ use Application\Form\Expertise\ExpertiseForm; use Application\Form\Expertise\ExpertiseFormFactory; use Application\Form\Expertise\ExpertiseHydrator; use Application\Form\Expertise\ExpertiseHydratorFactory; use Application\Form\Poste\PosteForm; use Application\Form\Poste\PosteFormFactory; use Application\Form\Poste\PosteHydrator; use Application\Form\Poste\PosteHydratorFactory; use Application\Form\Rifseep\RifseepForm; use Application\Form\Rifseep\RifseepFormFactory; use Application\Form\Rifseep\RifseepHydrator; Loading @@ -40,6 +44,8 @@ use Application\Service\Expertise\ExpertiseService; use Application\Service\Expertise\ExpertiseServiceFactory; use Application\Service\FichePoste\FichePosteService; use Application\Service\FichePoste\FichePosteServiceFactory; use Application\Service\Poste\PosteService; use Application\Service\Poste\PosteServiceFactory; use Application\Service\SpecificitePoste\SpecificitePosteService; use Application\Service\SpecificitePoste\SpecificitePosteServiceFactory; use Application\View\Helper\FichePosteGraphViewHelper; Loading Loading @@ -113,6 +119,13 @@ return [ 'privileges' => FichePostePrivileges::FICHEPOSTE_AJOUTER, 'assertion' => FichePosteAssertion::class, ], [ 'controller' => FichePosteController::class, 'action' => [ 'modifier-information-poste', ], 'privileges' => FichePostePrivileges::FICHEPOSTE_MODIFIER_POSTE, ], [ 'controller' => FichePosteController::class, 'action' => [ Loading Loading @@ -381,6 +394,18 @@ return [ ], ], ], /** @see FichePosteController::modifierInformationPosteAction() */ 'modifier-information-poste' => [ 'type' => Segment::class, 'may_terminate' => true, 'options' => [ 'route' => '/modifier-information-poste/:fiche-poste', 'defaults' => [ 'controller' => FichePosteController::class, 'action' => 'modifier-information-poste', ], ], ], 'ajouter-fiche-metier' => [ 'type' => Segment::class, 'may_terminate' => true, Loading Loading @@ -571,6 +596,7 @@ return [ CompetencesRetireesService::class => CompetencesRetireesServiceFactory::class, ExpertiseService::class => ExpertiseServiceFactory::class, FichePosteService::class => FichePosteServiceFactory::class, PosteService::class => PosteServiceFactory::class, SpecificitePosteService::class => SpecificitePosteServiceFactory::class, ], ], Loading @@ -585,6 +611,7 @@ return [ AssocierPosteForm::class => AssocierPosteFormFactory::class, AssocierTitreForm::class => AssocierTitreFormFactory::class, ExpertiseForm::class => ExpertiseFormFactory::class, PosteForm::class => PosteFormFactory::class, SpecificitePosteForm::class => SpecificitePosteFormFactory::class, RifseepForm::class => RifseepFormFactory::class, ], Loading @@ -598,6 +625,7 @@ return [ AssocierPosteHydrator::class => AssocierPosteHydratorFactory::class, AssocierTitreHydrator::class => AssocierTitreHydratorFactory::class, ExpertiseHydrator::class => ExpertiseHydratorFactory::class, PosteHydrator::class => PosteHydratorFactory::class, RifseepHydrator::class => RifseepHydratorFactory::class, ], ], Loading
module/Application/src/Application/Controller/FichePosteController.php +42 −0 Changes for module/Application/src/Application/Controller/FichePosteController.php: 42 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -9,11 +9,13 @@ use Application\Entity\Db\FicheMetier; use Application\Entity\Db\FichePoste; use Application\Entity\Db\FicheposteActiviteDescriptionRetiree; use Application\Entity\Db\FicheTypeExterne; use Application\Entity\Db\Poste; use Application\Entity\Db\SpecificitePoste; use Application\Form\AjouterFicheMetier\AjouterFicheMetierFormAwareTrait; use Application\Form\AssocierTitre\AssocierTitreForm; use Application\Form\AssocierTitre\AssocierTitreFormAwareTrait; use Application\Form\Expertise\ExpertiseFormAwareTrait; use Application\Form\Poste\PosteFormAwareTrait; use Application\Form\Rifseep\RifseepFormAwareTrait; use Application\Form\SpecificitePoste\SpecificitePosteForm; use Application\Form\SpecificitePoste\SpecificitePosteFormAwareTrait; Loading @@ -30,6 +32,7 @@ use Application\Service\FicheMetier\FicheMetierServiceAwareTrait; use Application\Service\FichePoste\FichePosteServiceAwareTrait; use Application\Service\Notification\NotificationServiceAwareTrait; use Application\Service\ParcoursDeFormation\ParcoursDeFormationServiceAwareTrait; use Application\Service\Poste\PosteServiceAwareTrait; use Application\Service\SpecificitePoste\SpecificitePosteServiceAwareTrait; use DateTime; use Mpdf\MpdfException; Loading Loading @@ -63,6 +66,7 @@ class FichePosteController extends AbstractActionController { use FichePosteServiceAwareTrait; use NotificationServiceAwareTrait; use ParcoursDeFormationServiceAwareTrait; use PosteServiceAwareTrait; use RenduServiceAwareTrait; use StructureServiceAwareTrait; use SpecificitePosteServiceAwareTrait; Loading @@ -72,6 +76,7 @@ class FichePosteController extends AbstractActionController { use AjouterFicheMetierFormAwareTrait; use AssocierTitreFormAwareTrait; use ExpertiseFormAwareTrait; use PosteFormAwareTrait; use RifseepFormAwareTrait; use SelectionEtatFormAwareTrait; use SpecificitePosteFormAwareTrait; Loading Loading @@ -318,6 +323,43 @@ class FichePosteController extends AbstractActionController { } } /** GESTION DES INFORMATIONS DE POSTE *****************************************************************************/ public function modifierInformationPosteAction() : ViewModel { $ficheposte = $this->getFichePosteService()->getRequestedFichePoste($this); $create = false; /** @var ?Poste $poste */ $poste = $ficheposte->getPoste(); if ($ficheposte->getPoste() === null) { $create = true; $poste = new Poste(); $poste->setFicheposte($ficheposte); } $form = $this->getPosteForm(); $form->setAttribute('action', $this->url()->fromRoute('fiche-poste/modifier-information-poste', ['fiche-poste' => $ficheposte->getId()], [], true)); $form->bind($poste); $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { if ($create) $this->getPosteService()->create($poste); else $this->getPosteService()->update($poste); } } $vm = new ViewModel([ 'title' => "Modifier les informations sur le poste", 'form' => $form, ]); $vm->setTemplate('application/default/default-form'); return $vm; } /** GESTION DES ETATS DES FICHES POSTES ***************************************************************************/ public function changerEtatAction() : ViewModel Loading
module/Application/src/Application/Controller/FichePosteControllerFactory.php +17 −1 Changes for module/Application/src/Application/Controller/FichePosteControllerFactory.php: 17 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ namespace Application\Controller; use Application\Form\AjouterFicheMetier\AjouterFicheMetierForm; use Application\Form\AssocierTitre\AssocierTitreForm; use Application\Form\Expertise\ExpertiseForm; use Application\Form\Poste\PosteForm; use Application\Form\Rifseep\RifseepForm; use Application\Form\SpecificitePoste\SpecificitePosteForm; use Application\Service\Activite\ActiviteService; Loading @@ -17,8 +18,11 @@ use Application\Service\FicheMetier\FicheMetierService; use Application\Service\FichePoste\FichePosteService; use Application\Service\Notification\NotificationService; use Application\Service\ParcoursDeFormation\ParcoursDeFormationService; use Application\Service\Poste\PosteService; use Application\Service\SpecificitePoste\SpecificitePosteService; use Interop\Container\ContainerInterface; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; use Structure\Service\Structure\StructureService; use UnicaenEtat\Form\SelectionEtat\SelectionEtatForm; use UnicaenEtat\Service\Etat\EtatService; Loading @@ -27,6 +31,12 @@ use UnicaenValidation\Service\ValidationInstance\ValidationInstanceService; class FichePosteControllerFactory { /** * @param ContainerInterface $container * @return FichePosteController * @throws ContainerExceptionInterface * @throws NotFoundExceptionInterface */ public function __invoke(ContainerInterface $container) : FichePosteController { /** Loading @@ -41,8 +51,9 @@ class FichePosteControllerFactory { * @var EtatService $etatService * @var ExpertiseService $expertiseService * @var NotificationService $notificationService * @var SpecificitePosteService $specificitePosteService * @var ParcoursDeFormationService $parcoursService * @var PosteService $posteService * @var SpecificitePosteService $specificitePosteService * @var ValidationInstanceService $validationInstanceService */ $agentService = $container->get(AgentService::class); Loading @@ -57,6 +68,7 @@ class FichePosteControllerFactory { $etatService = $container->get(EtatService::class); $expertiseService = $container->get(ExpertiseService::class); $notificationService = $container->get(NotificationService::class); $posteService = $container->get(PosteService::class); $specificitePosteService = $container->get(SpecificitePosteService::class); $parcoursService = $container->get(ParcoursDeFormationService::class); $validationInstanceService = $container->get(ValidationInstanceService::class); Loading @@ -65,6 +77,7 @@ class FichePosteControllerFactory { * @var AjouterFicheMetierForm $ajouterFicheMetierForm * @var AssocierTitreForm $associerTitreForm * @var ExpertiseForm $expertiseForm * @var PosteForm $posteForm * @var RifseepForm $rifseepForm * @var SelectionEtatForm $selectionEtatForm * @var SpecificitePosteForm $specificiftePosteForm Loading @@ -72,6 +85,7 @@ class FichePosteControllerFactory { $ajouterFicheMetierForm = $container->get('FormElementManager')->get(AjouterFicheMetierForm::class); $associerTitreForm = $container->get('FormElementManager')->get(AssocierTitreForm::class); $expertiseForm = $container->get('FormElementManager')->get(ExpertiseForm::class); $posteForm = $container->get('FormElementManager')->get(PosteForm::class); $rifseepForm = $container->get('FormElementManager')->get(RifseepForm::class); $selectionEtatForm = $container->get('FormElementManager')->get(SelectionEtatForm::class); $specificiftePosteForm = $container->get('FormElementManager')->get(SpecificitePosteForm::class); Loading @@ -93,6 +107,7 @@ class FichePosteControllerFactory { $controller->setEtatService($etatService); $controller->setExpertiseService($expertiseService); $controller->setNotificationService($notificationService); $controller->setPosteService($posteService); $controller->setSpecificitePosteService($specificitePosteService); $controller->setParcoursDeFormationService($parcoursService); $controller->setValidationInstanceService($validationInstanceService); Loading @@ -100,6 +115,7 @@ class FichePosteControllerFactory { $controller->setAjouterFicheTypeForm($ajouterFicheMetierForm); $controller->setAssocierTitreForm($associerTitreForm); $controller->setExpertiseForm($expertiseForm); $controller->setPosteForm($posteForm); $controller->setRifseepForm($rifseepForm); $controller->setSelectionEtatForm($selectionEtatForm); $controller->setSpecificitePosteForm($specificiftePosteForm); Loading