From 12b901ea1ce275a8169afe1d1c79ca44bdbb23d3 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Metivier <jean-philippe.metivier@unicaen.fr> Date: Tue, 21 Feb 2023 15:12:18 +0100 Subject: [PATCH] Debut --- config/application.config.php | 1 + .../config/merged/specificite.config.php | 4 +- module/Application/config/module.config.php | 6 +- .../Controller/AgentController.php | 3 +- .../Controller/AgentControllerFactory.php | 2 +- .../Controller/FicheProfilController.php | 8 +- .../FicheProfilControllerFactory.php | 2 +- .../Controller/IndexController.php | 8 +- .../Controller/IndexControllerFactory.php | 2 +- .../Controller/SpecificiteController.php | 2 +- .../SpecificiteControllerFactory.php | 3 +- .../src/Application/Entity/Db/Activite.php | 3 +- .../src/Application/Entity/Db/Agent.php | 17 +- .../src/Application/Entity/Db/Expertise.php | 82 ---- .../FicheposteActiviteDescriptionRetiree.php | 1 + .../Db/FicheposteApplicationRetiree.php | 1 + .../Entity/Db/FicheposteCompetenceRetiree.php | 1 + .../Db/MacroContent/FicheMetierMacroTrait.php | 2 +- .../Db/MacroContent/FichePosteMacroTrait.php | 4 +- .../Application.Entity.Db.Agent.dcm.xml | 2 +- .../Application.Entity.Db.FicheProfil.dcm.xml | 2 +- ...ication.Entity.Db.FicheTypeExterne.dcm.xml | 2 +- ...cheposteActiviteDescriptionRetiree.dcm.xml | 2 +- ...ty.Db.FicheposteApplicationRetiree.dcm.xml | 2 +- ...ity.Db.FicheposteCompetenceRetiree.dcm.xml | 2 +- ...ication.Entity.Db.SpecificitePoste.dcm.xml | 2 +- .../Form/AssocierPoste/AssocierPosteForm.php | 89 ---- .../AssocierPosteFormAwareTrait.php | 29 -- .../AssocierPosteFormFactory.php | 35 -- .../AssocierPoste/AssocierPosteHydrator.php | 42 -- .../AssocierPosteHydratorFactory.php | 21 - .../AssocierTitre/AssocierTitreHydrator.php | 2 +- .../Expertise/ExpertiseFormAwareTrait.php | 27 -- .../Form/FicheProfil/FicheProfilForm.php | 6 +- .../FicheProfil/FicheProfilFormFactory.php | 2 +- .../Form/FicheProfil/FicheProfilHydrator.php | 4 +- .../FicheProfilHydratorFactory.php | 2 +- .../Form/Poste/PosteFormAwareTrait.php | 29 -- .../Form/Rifseep/RifseepHydrator.php | 2 +- .../ActivitesDescriptionsRetireesService.php | 2 +- .../ApplicationsRetireesService.php | 2 +- .../CompetencesRetireesService.php | 2 +- .../Expertise/ExpertiseServiceAwareTrait.php | 27 -- .../Notification/NotificationService.php | 2 +- .../ParcoursDeFormationService.php | 2 +- .../View/Helper/FichePosteGraphViewHelper.php | 2 +- .../Helper/FichesPostesAsArrayViewHelper.php | 2 +- .../Helper/ParcoursApplicationViewHelper.php | 2 +- .../View/Helper/PosteViewHelper.php | 2 +- .../View/Helper/RaisonsViewHelper.php | 1 - .../Helper/SpecificitePosteViewHelper.php | 2 +- .../View/Helper/partial/activite.phtml | 8 +- .../Helper/partial/fiche-metier-externe.phtml | 10 +- .../Helper/partial/fiche-metier.old.phtml | 2 +- .../Helper/partial/ficheposte-graphique.phtml | 2 +- .../partial/fiches-postes-as-table.phtml | 16 +- .../View/Helper/partial/poste.phtml | 4 +- .../Helper/partial/specificite-activite.phtml | 1 - .../View/Helper/partial/specificite.phtml | 4 +- .../view/application/agent/afficher.phtml | 2 +- .../agent/partial/fiche-poste.phtml | 6 +- .../application/fiche-profil/modifier.phtml | 2 +- .../application/index/index-autorite.phtml | 2 +- .../application/index/index-superieur.phtml | 5 +- .../view/application/index/index.phtml | 7 +- .../application/index/partial/entretien.phtml | 1 - .../default/confirmation.phtml | 0 .../default/default-form.phtml | 0 .../{application => }/default/probleme.phtml | 0 .../{application => }/default/reponse.phtml | 0 .../EntretienProfessionnelController.php | 14 +- ...ntretienProfessionnelControllerFactory.php | 2 +- .../entretien-professionnel/acceder.phtml | 2 +- .../partial/formulaire.phtml | 2 +- .../partial/header.phtml | 14 +- .../partial/parcours.phtml | 2 +- module/FichePoste/Module.php | 44 ++ module/FichePoste/config/example.php | 36 ++ .../config/merged/expertise.config.php | 144 +++++++ .../config/merged/fiche-poste.config.php | 139 ++----- .../FichePoste/config/merged/poste.config.php | 79 ++++ module/FichePoste/config/module.config.php | 66 +++ .../Assertion/FichePosteAssertion.php | 10 +- .../Assertion/FichePosteAssertionFactory.php | 10 +- .../Controller/ExpertiseController.php | 119 ++++++ .../Controller/ExpertiseControllerFactory.php | 37 ++ .../Controller/FichePosteController.php | 161 +------- .../FichePosteControllerFactory.php | 16 +- .../FichePoste/Controller/PosteController.php | 53 +++ .../Controller/PosteControllerFactory.php | 38 ++ .../src/FichePoste/Entity/Db/Expertise.php | 51 +++ .../src/FichePoste}/Entity/Db/FichePoste.php | 380 +++++++----------- .../FichePoste.Entity.Db.Expertise.dcm.xml} | 4 +- .../FichePoste.Entity.Db.FichePoste.dcm.xml} | 6 +- .../FichePoste.Entity.Db.Poste.dcm.xml} | 4 +- .../src/FichePoste}/Entity/Db/Poste.php | 2 +- .../Form/Expertise/ExpertiseForm.php | 19 +- .../Expertise/ExpertiseFormAwareTrait.php | 18 + .../Form/Expertise/ExpertiseFormFactory.php | 9 +- .../Form/Expertise/ExpertiseHydrator.php | 6 +- .../Expertise/ExpertiseHydratorFactory.php | 8 +- .../src/FichePoste}/Form/Poste/PosteForm.php | 2 +- .../Form/Poste/PosteFormAwareTrait.php | 18 + .../Form/Poste/PosteFormFactory.php | 2 +- .../FichePoste}/Form/Poste/PosteHydrator.php | 4 +- .../Form/Poste/PosteHydratorFactory.php | 2 +- .../Privilege/FichePostePrivileges.php | 2 +- .../Service/Expertise/ExpertiseService.php | 42 +- .../Expertise/ExpertiseServiceAwareTrait.php | 18 + .../Expertise/ExpertiseServiceFactory.php | 7 +- .../Service/FichePoste/FichePosteService.php | 6 +- .../FichePosteServiceAwareTrait.php | 2 +- .../FichePoste/FichePosteServiceFactory.php | 12 +- .../Service/Poste/PosteService.php | 4 +- .../Service/Poste/PosteServiceAwareTrait.php | 2 +- .../Service/Poste/PosteServiceFactory.php | 2 +- .../fiche-poste}/fiche-poste/action.phtml | 5 +- .../fiche-poste}/fiche-poste/afficher.phtml | 8 +- .../fiche-poste/ajouter-fiche-metier.phtml | 2 +- .../fiche-poste/associer-agent.phtml | 4 +- .../fiche-poste}/fiche-poste/dupliquer.phtml | 4 +- .../fiche-poste/editer-specificite.phtml | 0 .../fiche-poste}/fiche-poste/editer.phtml | 95 +++-- .../view/fiche-poste}/fiche-poste/index.phtml | 6 +- .../fiche-poste/modifier-repartition.phtml | 7 +- .../fiche-poste/partial/applications.phtml | 4 +- .../fiche-poste/partial/competences.phtml | 4 +- .../partial/environnement-poste.phtml | 4 +- .../fiche-poste/partial/expertise.phtml | 26 +- .../fiche-poste/partial/formations.phtml | 4 +- .../partial/informations-poste.phtml | 7 +- .../fiche-poste/partial/intitule.phtml | 2 +- .../partial/parcours-de-formation.phtml | 2 +- .../partial/retour-structure.phtml | 0 .../fiche-poste/partial/rifseep.phtml | 6 +- .../fiche-poste/partial/specificite.phtml | 6 +- .../fiche-poste/partial/validations.phtml | 14 +- .../fiche-poste/selectionner-activite.phtml | 0 .../selectionner-applications-retirees.phtml | 4 +- .../selectionner-competences-retirees.phtml | 4 +- .../selectionner-descriptions-retirees.phtml | 4 +- .../selectionner-formations-retirees.phtml | 4 +- .../Controller/StructureController.php | 7 +- .../Controller/StructureControllerFactory.php | 2 +- .../Structure.Entity.Db.Structure.dcm.xml | 4 +- .../src/Structure/Entity/Db/Structure.php | 4 +- .../Service/Structure/StructureService.php | 4 +- .../view/structure/structure/afficher.phtml | 2 +- .../structure/dupliquer-fiche-poste.phtml | 2 +- .../structure/partial/fiches-postes.phtml | 17 +- .../structure/structure/partial/postes.phtml | 4 +- .../structure/structure/partial/profil.phtml | 2 +- 152 files changed, 1231 insertions(+), 1239 deletions(-) delete mode 100644 module/Application/src/Application/Entity/Db/Expertise.php delete mode 100644 module/Application/src/Application/Form/AssocierPoste/AssocierPosteForm.php delete mode 100644 module/Application/src/Application/Form/AssocierPoste/AssocierPosteFormAwareTrait.php delete mode 100644 module/Application/src/Application/Form/AssocierPoste/AssocierPosteFormFactory.php delete mode 100644 module/Application/src/Application/Form/AssocierPoste/AssocierPosteHydrator.php delete mode 100644 module/Application/src/Application/Form/AssocierPoste/AssocierPosteHydratorFactory.php delete mode 100644 module/Application/src/Application/Form/Expertise/ExpertiseFormAwareTrait.php delete mode 100644 module/Application/src/Application/Form/Poste/PosteFormAwareTrait.php delete mode 100644 module/Application/src/Application/Service/Expertise/ExpertiseServiceAwareTrait.php rename module/Application/view/{application => }/default/confirmation.phtml (100%) rename module/Application/view/{application => }/default/default-form.phtml (100%) rename module/Application/view/{application => }/default/probleme.phtml (100%) rename module/Application/view/{application => }/default/reponse.phtml (100%) create mode 100755 module/FichePoste/Module.php create mode 100644 module/FichePoste/config/example.php create mode 100644 module/FichePoste/config/merged/expertise.config.php rename module/{Application => FichePoste}/config/merged/fiche-poste.config.php (83%) create mode 100644 module/FichePoste/config/merged/poste.config.php create mode 100755 module/FichePoste/config/module.config.php rename module/{Application/src/Application => FichePoste/src/FichePoste}/Assertion/FichePosteAssertion.php (97%) rename module/{Application/src/Application => FichePoste/src/FichePoste}/Assertion/FichePosteAssertionFactory.php (75%) create mode 100644 module/FichePoste/src/FichePoste/Controller/ExpertiseController.php create mode 100644 module/FichePoste/src/FichePoste/Controller/ExpertiseControllerFactory.php rename module/{Application/src/Application => FichePoste/src/FichePoste}/Controller/FichePosteController.php (87%) rename module/{Application/src/Application => FichePoste/src/FichePoste}/Controller/FichePosteControllerFactory.php (91%) create mode 100644 module/FichePoste/src/FichePoste/Controller/PosteController.php create mode 100644 module/FichePoste/src/FichePoste/Controller/PosteControllerFactory.php create mode 100644 module/FichePoste/src/FichePoste/Entity/Db/Expertise.php rename module/{Application/src/Application => FichePoste/src/FichePoste}/Entity/Db/FichePoste.php (55%) rename module/{Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Expertise.dcm.xml => FichePoste/src/FichePoste/Entity/Db/Mapping/FichePoste.Entity.Db.Expertise.dcm.xml} (91%) rename module/{Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FichePoste.dcm.xml => FichePoste/src/FichePoste/Entity/Db/Mapping/FichePoste.Entity.Db.FichePoste.dcm.xml} (92%) rename module/{Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Poste.dcm.xml => FichePoste/src/FichePoste/Entity/Db/Mapping/FichePoste.Entity.Db.Poste.dcm.xml} (91%) rename module/{Application/src/Application => FichePoste/src/FichePoste}/Entity/Db/Poste.php (97%) rename module/{Application/src/Application => FichePoste/src/FichePoste}/Form/Expertise/ExpertiseForm.php (66%) create mode 100644 module/FichePoste/src/FichePoste/Form/Expertise/ExpertiseFormAwareTrait.php rename module/{Application/src/Application => FichePoste/src/FichePoste}/Form/Expertise/ExpertiseFormFactory.php (58%) rename module/{Application/src/Application => FichePoste/src/FichePoste}/Form/Expertise/ExpertiseHydrator.php (82%) rename module/{Application/src/Application => FichePoste/src/FichePoste}/Form/Expertise/ExpertiseHydratorFactory.php (53%) rename module/{Application/src/Application => FichePoste/src/FichePoste}/Form/Poste/PosteForm.php (98%) create mode 100644 module/FichePoste/src/FichePoste/Form/Poste/PosteFormAwareTrait.php rename module/{Application/src/Application => FichePoste/src/FichePoste}/Form/Poste/PosteFormFactory.php (95%) rename module/{Application/src/Application => FichePoste/src/FichePoste}/Form/Poste/PosteHydrator.php (94%) rename module/{Application/src/Application => FichePoste/src/FichePoste}/Form/Poste/PosteHydratorFactory.php (87%) rename module/{Application/src/Application => FichePoste/src/FichePoste}/Provider/Privilege/FichePostePrivileges.php (96%) rename module/{Application/src/Application => FichePoste/src/FichePoste}/Service/Expertise/ExpertiseService.php (80%) create mode 100644 module/FichePoste/src/FichePoste/Service/Expertise/ExpertiseServiceAwareTrait.php rename module/{Application/src/Application => FichePoste/src/FichePoste}/Service/Expertise/ExpertiseServiceFactory.php (72%) rename module/{Application/src/Application => FichePoste/src/FichePoste}/Service/FichePoste/FichePosteService.php (99%) rename module/{Application/src/Application => FichePoste/src/FichePoste}/Service/FichePoste/FichePosteServiceAwareTrait.php (92%) rename module/{Application/src/Application => FichePoste/src/FichePoste}/Service/FichePoste/FichePosteServiceFactory.php (83%) rename module/{Application/src/Application => FichePoste/src/FichePoste}/Service/Poste/PosteService.php (96%) rename module/{Application/src/Application => FichePoste/src/FichePoste}/Service/Poste/PosteServiceAwareTrait.php (89%) rename module/{Application/src/Application => FichePoste/src/FichePoste}/Service/Poste/PosteServiceFactory.php (94%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/action.phtml (92%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/afficher.phtml (97%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/ajouter-fiche-metier.phtml (95%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/associer-agent.phtml (91%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/dupliquer.phtml (94%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/editer-specificite.phtml (100%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/editer.phtml (69%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/index.phtml (94%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/modifier-repartition.phtml (92%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/partial/applications.phtml (89%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/partial/competences.phtml (89%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/partial/environnement-poste.phtml (94%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/partial/expertise.phtml (78%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/partial/formations.phtml (92%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/partial/informations-poste.phtml (92%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/partial/intitule.phtml (93%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/partial/parcours-de-formation.phtml (96%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/partial/retour-structure.phtml (100%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/partial/rifseep.phtml (88%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/partial/specificite.phtml (86%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/partial/validations.phtml (88%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/selectionner-activite.phtml (100%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/selectionner-applications-retirees.phtml (87%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/selectionner-competences-retirees.phtml (90%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/selectionner-descriptions-retirees.phtml (92%) rename module/{Application/view/application => FichePoste/view/fiche-poste}/fiche-poste/selectionner-formations-retirees.phtml (86%) diff --git a/config/application.config.php b/config/application.config.php index 42e03dd2a..44852f4e6 100755 --- a/config/application.config.php +++ b/config/application.config.php @@ -51,6 +51,7 @@ $modules = [ 'Formation', 'Fichier', 'Element', + 'FichePoste', 'Application', 'Laminas\DeveloperTools', diff --git a/module/Application/config/merged/specificite.config.php b/module/Application/config/merged/specificite.config.php index c432b0883..2c3ac9996 100644 --- a/module/Application/config/merged/specificite.config.php +++ b/module/Application/config/merged/specificite.config.php @@ -4,13 +4,13 @@ namespace Application; use Application\Controller\SpecificiteController; use Application\Controller\SpecificiteControllerFactory; -use Application\Provider\Privilege\FichePostePrivileges; use Application\Service\SpecificiteActivite\SpecificiteActiviteService; use Application\Service\SpecificiteActivite\SpecificiteActiviteServiceFactory; use Application\View\Helper\SpecificiteActiviteViewHelper; -use UnicaenPrivilege\Guard\PrivilegeController; +use FichePoste\Provider\Privilege\FichePostePrivileges; use Laminas\Router\Http\Literal; use Laminas\Router\Http\Segment; +use UnicaenPrivilege\Guard\PrivilegeController; return [ 'bjyauthorize' => [ diff --git a/module/Application/config/module.config.php b/module/Application/config/module.config.php index 2ce2e1e96..23490f104 100755 --- a/module/Application/config/module.config.php +++ b/module/Application/config/module.config.php @@ -9,14 +9,11 @@ use Application\Form\ModifierLibelle\ModifierLibelleForm; use Application\Form\ModifierLibelle\ModifierLibelleFormFactory; use Application\Form\ModifierLibelle\ModifierLibelleHydrator; use Application\Provider\Privilege\ActivitePrivileges; -use Application\Provider\Privilege\AdministrationPrivileges; use Application\Provider\Privilege\AgentPrivileges; use Application\Provider\Privilege\ConfigurationPrivileges; use Application\Provider\Privilege\FicheMetierPrivileges; -use Application\Provider\Privilege\FichePostePrivileges; use Application\Provider\Privilege\MissionspecifiqueaffectationPrivileges; use Application\Provider\Privilege\MissionspecifiquePrivileges; -use Application\Provider\Privilege\PostePrivileges; use Application\Provider\Privilege\SynchroPrivileges; use Application\Provider\Privilege\ValidationPrivileges; use Application\Provider\Role\RoleProvider; @@ -34,7 +31,9 @@ use Carriere\Provider\Privilege\CorpsPrivileges; use Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain; use Doctrine\ORM\Mapping\Driver\XmlDriver; use EntretienProfessionnel\Provider\Privilege\EntretienproPrivileges; +use FichePoste\Provider\Privilege\FichePostePrivileges; use Formation\Provider\Privilege\FormationPrivileges; +use Laminas\Router\Http\Literal; use Metier\Provider\Privilege\MetierPrivileges; use Structure\Provider\Privilege\StructurePrivileges; use UnicaenAutoform\Provider\Privilege\IndexPrivileges; @@ -43,7 +42,6 @@ use UnicaenPrivilege\Provider\Privilege\PrivilegePrivileges; use UnicaenUtilisateur\Provider\Privilege\RolePrivileges; use UnicaenUtilisateur\Provider\Privilege\UtilisateurPrivileges; use UnicaenValidation\Provider\Privilege\ValidationtypePrivileges; -use Laminas\Router\Http\Literal; return [ 'bjyauthorize' => [ diff --git a/module/Application/src/Application/Controller/AgentController.php b/module/Application/src/Application/Controller/AgentController.php index 0c47e4288..d73aba715 100644 --- a/module/Application/src/Application/Controller/AgentController.php +++ b/module/Application/src/Application/Controller/AgentController.php @@ -13,9 +13,7 @@ use Application\Service\AgentQuotite\AgentQuotiteServiceAwareTrait; use Application\Service\AgentStageObservation\AgentStageObservationServiceAwareTrait; use Application\Service\AgentStatut\AgentStatutServiceAwareTrait; use Application\Service\AgentTutorat\AgentTutoratServiceAwareTrait; -use Application\Service\FichePoste\FichePosteServiceAwareTrait; use Application\Service\ParcoursDeFormation\ParcoursDeFormationServiceAwareTrait; -use Carriere\Provider\Parametre\CarriereParametres; use Carriere\Service\Categorie\CategorieServiceAwareTrait; use Doctrine\ORM\ORMException; use Element\Entity\Db\ApplicationElement; @@ -28,6 +26,7 @@ use Element\Service\CompetenceElement\CompetenceElementServiceAwareTrait; use Element\Service\HasApplicationCollection\HasApplicationCollectionServiceAwareTrait; use Element\Service\HasCompetenceCollection\HasCompetenceCollectionServiceAwareTrait; use EntretienProfessionnel\Service\EntretienProfessionnel\EntretienProfessionnelServiceAwareTrait; +use FichePoste\Service\FichePoste\FichePosteServiceAwareTrait; use Fichier\Entity\Db\Fichier; use Fichier\Form\Upload\UploadFormAwareTrait; use Fichier\Service\Fichier\FichierServiceAwareTrait; diff --git a/module/Application/src/Application/Controller/AgentControllerFactory.php b/module/Application/src/Application/Controller/AgentControllerFactory.php index 6331db2ec..a65ec1f63 100644 --- a/module/Application/src/Application/Controller/AgentControllerFactory.php +++ b/module/Application/src/Application/Controller/AgentControllerFactory.php @@ -12,7 +12,6 @@ use Application\Service\AgentQuotite\AgentQuotiteService; use Application\Service\AgentStageObservation\AgentStageObservationService; use Application\Service\AgentStatut\AgentStatutService; use Application\Service\AgentTutorat\AgentTutoratService; -use Application\Service\FichePoste\FichePosteService; use Application\Service\ParcoursDeFormation\ParcoursDeFormationService; use Carriere\Service\Categorie\CategorieService; use Element\Form\ApplicationElement\ApplicationElementForm; @@ -23,6 +22,7 @@ use Element\Service\CompetenceElement\CompetenceElementService; use Element\Service\HasApplicationCollection\HasApplicationCollectionService; use Element\Service\HasCompetenceCollection\HasCompetenceCollectionService; use EntretienProfessionnel\Service\EntretienProfessionnel\EntretienProfessionnelService; +use FichePoste\Service\FichePoste\FichePosteService; use Fichier\Form\Upload\UploadForm; use Fichier\Service\Fichier\FichierService; use Fichier\Service\Nature\NatureService; diff --git a/module/Application/src/Application/Controller/FicheProfilController.php b/module/Application/src/Application/Controller/FicheProfilController.php index a891e7927..ff6c537f0 100644 --- a/module/Application/src/Application/Controller/FicheProfilController.php +++ b/module/Application/src/Application/Controller/FicheProfilController.php @@ -5,15 +5,15 @@ namespace Application\Controller; use Application\Entity\Db\FicheProfil; use Application\Form\FicheProfil\FicheProfilFormAwareTrait; use Application\Provider\Template\PdfTemplate; -use Application\Service\FichePoste\FichePosteServiceAwareTrait; use Application\Service\FicheProfil\FicheProfilServiceAwareTrait; +use FichePoste\Service\FichePoste\FichePosteServiceAwareTrait; +use Laminas\Http\Request; +use Laminas\Mvc\Controller\AbstractActionController; +use Laminas\View\Model\ViewModel; use Structure\Service\Structure\StructureServiceAwareTrait; use UnicaenParametre\Service\Parametre\ParametreServiceAwareTrait; use UnicaenPdf\Exporter\PdfExporter; use UnicaenRenderer\Service\Rendu\RenduServiceAwareTrait; -use Laminas\Http\Request; -use Laminas\Mvc\Controller\AbstractActionController; -use Laminas\View\Model\ViewModel; class FicheProfilController extends AbstractActionController { use RenduServiceAwareTrait; diff --git a/module/Application/src/Application/Controller/FicheProfilControllerFactory.php b/module/Application/src/Application/Controller/FicheProfilControllerFactory.php index c35c2b0a5..14b690f1f 100644 --- a/module/Application/src/Application/Controller/FicheProfilControllerFactory.php +++ b/module/Application/src/Application/Controller/FicheProfilControllerFactory.php @@ -3,8 +3,8 @@ namespace Application\Controller; use Application\Form\FicheProfil\FicheProfilForm; -use Application\Service\FichePoste\FichePosteService; use Application\Service\FicheProfil\FicheProfilService; +use FichePoste\Service\FichePoste\FichePosteService; use Interop\Container\ContainerInterface; use Structure\Service\Structure\StructureService; use UnicaenParametre\Service\Parametre\ParametreService; diff --git a/module/Application/src/Application/Controller/IndexController.php b/module/Application/src/Application/Controller/IndexController.php index 821352958..60edf2027 100755 --- a/module/Application/src/Application/Controller/IndexController.php +++ b/module/Application/src/Application/Controller/IndexController.php @@ -2,15 +2,17 @@ namespace Application\Controller; -use Application\Provider\Role\RoleProvider as AppRoleProvider; use Application\Entity\Db\Agent; +use Application\Provider\Role\RoleProvider as AppRoleProvider; use Application\Service\Agent\AgentServiceAwareTrait; -use Application\Service\FichePoste\FichePosteServiceAwareTrait; use EntretienProfessionnel\Provider\Role\EntretienProfessionnelRoles; use EntretienProfessionnel\Service\Campagne\CampagneServiceAwareTrait; use EntretienProfessionnel\Service\EntretienProfessionnel\EntretienProfessionnelServiceAwareTrait; +use FichePoste\Service\FichePoste\FichePosteServiceAwareTrait; use Formation\Service\DemandeExterne\DemandeExterneServiceAwareTrait; use Formation\Service\FormationInstanceInscrit\FormationInstanceInscritServiceAwareTrait; +use Laminas\Mvc\Controller\AbstractActionController; +use Laminas\View\Model\ViewModel; use Structure\Provider\Role\RoleProvider; use Structure\Service\Structure\StructureServiceAwareTrait; use UnicaenAuthentification\Service\Traits\UserContextServiceAwareTrait; @@ -18,8 +20,6 @@ use UnicaenUtilisateur\Entity\Db\Role; use UnicaenUtilisateur\Entity\Db\User; use UnicaenUtilisateur\Service\Role\RoleServiceAwareTrait; use UnicaenUtilisateur\Service\User\UserServiceAwareTrait; -use Laminas\Mvc\Controller\AbstractActionController; -use Laminas\View\Model\ViewModel; class IndexController extends AbstractActionController { diff --git a/module/Application/src/Application/Controller/IndexControllerFactory.php b/module/Application/src/Application/Controller/IndexControllerFactory.php index 40765a7e9..6f9c4c780 100644 --- a/module/Application/src/Application/Controller/IndexControllerFactory.php +++ b/module/Application/src/Application/Controller/IndexControllerFactory.php @@ -3,9 +3,9 @@ namespace Application\Controller; use Application\Service\Agent\AgentService; -use Application\Service\FichePoste\FichePosteService; use EntretienProfessionnel\Service\Campagne\CampagneService; use EntretienProfessionnel\Service\EntretienProfessionnel\EntretienProfessionnelService; +use FichePoste\Service\FichePoste\FichePosteService; use Formation\Service\DemandeExterne\DemandeExterneService; use Formation\Service\FormationInstanceInscrit\FormationInstanceInscritService; use Interop\Container\ContainerInterface; diff --git a/module/Application/src/Application/Controller/SpecificiteController.php b/module/Application/src/Application/Controller/SpecificiteController.php index 53526bad4..60992b75f 100644 --- a/module/Application/src/Application/Controller/SpecificiteController.php +++ b/module/Application/src/Application/Controller/SpecificiteController.php @@ -5,9 +5,9 @@ namespace Application\Controller; use Application\Entity\Db\SpecificiteActivite; use Application\Entity\Db\SpecificitePoste; use Application\Service\Activite\ActiviteServiceAwareTrait; -use Application\Service\FichePoste\FichePosteServiceAwareTrait; use Application\Service\SpecificiteActivite\SpecificiteActiviteServiceAwareTrait; use Application\Service\SpecificitePoste\SpecificitePosteServiceAwareTrait; +use FichePoste\Service\FichePoste\FichePosteServiceAwareTrait; use Laminas\Http\Response; use Laminas\Mvc\Controller\AbstractActionController; use Laminas\View\Model\ViewModel; diff --git a/module/Application/src/Application/Controller/SpecificiteControllerFactory.php b/module/Application/src/Application/Controller/SpecificiteControllerFactory.php index e8001d503..6b4d08e93 100644 --- a/module/Application/src/Application/Controller/SpecificiteControllerFactory.php +++ b/module/Application/src/Application/Controller/SpecificiteControllerFactory.php @@ -2,11 +2,10 @@ namespace Application\Controller; -use Application\Entity\Db\Activite; use Application\Service\Activite\ActiviteService; -use Application\Service\FichePoste\FichePosteService; use Application\Service\SpecificiteActivite\SpecificiteActiviteService; use Application\Service\SpecificitePoste\SpecificitePosteService; +use FichePoste\Service\FichePoste\FichePosteService; use Interop\Container\ContainerInterface; class SpecificiteControllerFactory { diff --git a/module/Application/src/Application/Entity/Db/Activite.php b/module/Application/src/Application/Entity/Db/Activite.php index cf519ee1e..7690d5c78 100644 --- a/module/Application/src/Application/Entity/Db/Activite.php +++ b/module/Application/src/Application/Entity/Db/Activite.php @@ -3,6 +3,7 @@ namespace Application\Entity\Db; use Carriere\Entity\Db\NiveauEnveloppe; +use DateTime; use Element\Entity\Db\Interfaces\HasApplicationCollectionInterface; use Element\Entity\Db\Interfaces\HasCompetenceCollectionInterface; use Element\Entity\Db\Traits\HasApplicationCollectionTrait; @@ -101,7 +102,7 @@ class Activite implements HistoriqueAwareInterface, /** * @return ActiviteDescription[] */ - public function getDescriptions() : array + public function getDescriptions(?DateTime $date = null) : array { $descriptions = []; /** @var ActiviteDescription $activiteDescription */ diff --git a/module/Application/src/Application/Entity/Db/Agent.php b/module/Application/src/Application/Entity/Db/Agent.php index 2f2002f89..b6a88c50e 100644 --- a/module/Application/src/Application/Entity/Db/Agent.php +++ b/module/Application/src/Application/Entity/Db/Agent.php @@ -2,31 +2,32 @@ namespace Application\Entity\Db; -use Application\Provider\Etat\FichePosteEtats; -use Carriere\Entity\Db\NiveauEnveloppe; -use Doctrine\Common\Comparable; -use Element\Entity\Db\Interfaces\HasApplicationCollectionInterface; -use Element\Entity\Db\Interfaces\HasCompetenceCollectionInterface; use Application\Entity\Db\Interfaces\HasComplementsInterface; use Application\Entity\Db\MacroContent\AgentMacroTrait; use Application\Entity\Db\Traits\DbImportableAwareTrait; -use Element\Entity\Db\Traits\HasApplicationCollectionTrait; -use Element\Entity\Db\Traits\HasCompetenceCollectionTrait; use Application\Entity\Db\Traits\HasComplementsTrait; +use Application\Provider\Etat\FichePosteEtats; use Application\Service\Agent\AgentServiceAwareTrait; +use Carriere\Entity\Db\NiveauEnveloppe; use DateInterval; use DateTime; use Doctrine\Common\Collections\ArrayCollection; +use Doctrine\Common\Comparable; +use Element\Entity\Db\Interfaces\HasApplicationCollectionInterface; +use Element\Entity\Db\Interfaces\HasCompetenceCollectionInterface; +use Element\Entity\Db\Traits\HasApplicationCollectionTrait; +use Element\Entity\Db\Traits\HasCompetenceCollectionTrait; use EntretienProfessionnel\Entity\Db\Campagne; use EntretienProfessionnel\Entity\Db\EntretienProfessionnel; use Exception; +use FichePoste\Entity\Db\FichePoste; use Fichier\Entity\Db\Fichier; use Formation\Entity\Db\Interfaces\HasFormationCollectionInterface; use Formation\Entity\Db\Traits\HasFormationCollectionTrait; +use Laminas\Permissions\Acl\Resource\ResourceInterface; use Structure\Entity\Db\Structure; use Structure\Entity\Db\StructureAgentForce; use UnicaenUtilisateur\Entity\Db\User; -use Laminas\Permissions\Acl\Resource\ResourceInterface; class Agent implements ResourceInterface, diff --git a/module/Application/src/Application/Entity/Db/Expertise.php b/module/Application/src/Application/Entity/Db/Expertise.php deleted file mode 100644 index a58e7bfe8..000000000 --- a/module/Application/src/Application/Entity/Db/Expertise.php +++ /dev/null @@ -1,82 +0,0 @@ -<?php - -namespace Application\Entity\Db; - - -use UnicaenUtilisateur\Entity\Db\HistoriqueAwareInterface; -use UnicaenUtilisateur\Entity\Db\HistoriqueAwareTrait; - -class Expertise implements HistoriqueAwareInterface { - use HistoriqueAwareTrait; - - /** @var integer */ - private $id; - /** @var FichePoste */ - private $ficheposte; - /** @var string */ - private $libelle; - /** @var string */ - private $description; - - /** - * @return int - */ - public function getId() - { - return $this->id; - } - - /** - * @return FichePoste - */ - public function getFicheposte() - { - return $this->ficheposte; - } - - /** - * @param FichePoste $ficheposte - * @return Expertise - */ - public function setFicheposte($ficheposte) - { - $this->ficheposte = $ficheposte; - return $this; - } - - /** - * @return string - */ - public function getLibelle() - { - return $this->libelle; - } - - /** - * @param string $libelle - * @return Expertise - */ - public function setLibelle($libelle) - { - $this->libelle = $libelle; - return $this; - } - - /** - * @return string - */ - public function getDescription() - { - return $this->description; - } - - /** - * @param string $description - * @return Expertise - */ - public function setDescription($description) - { - $this->description = $description; - return $this; - } -} diff --git a/module/Application/src/Application/Entity/Db/FicheposteActiviteDescriptionRetiree.php b/module/Application/src/Application/Entity/Db/FicheposteActiviteDescriptionRetiree.php index 55f183d95..96d46e788 100644 --- a/module/Application/src/Application/Entity/Db/FicheposteActiviteDescriptionRetiree.php +++ b/module/Application/src/Application/Entity/Db/FicheposteActiviteDescriptionRetiree.php @@ -2,6 +2,7 @@ namespace Application\Entity\Db; +use FichePoste\Entity\Db\FichePoste; use UnicaenUtilisateur\Entity\Db\HistoriqueAwareInterface; use UnicaenUtilisateur\Entity\Db\HistoriqueAwareTrait; diff --git a/module/Application/src/Application/Entity/Db/FicheposteApplicationRetiree.php b/module/Application/src/Application/Entity/Db/FicheposteApplicationRetiree.php index 60eb61d86..57c1fe881 100644 --- a/module/Application/src/Application/Entity/Db/FicheposteApplicationRetiree.php +++ b/module/Application/src/Application/Entity/Db/FicheposteApplicationRetiree.php @@ -3,6 +3,7 @@ namespace Application\Entity\Db; use Element\Entity\Db\Application; +use FichePoste\Entity\Db\FichePoste; use UnicaenUtilisateur\Entity\Db\HistoriqueAwareInterface; use UnicaenUtilisateur\Entity\Db\HistoriqueAwareTrait; diff --git a/module/Application/src/Application/Entity/Db/FicheposteCompetenceRetiree.php b/module/Application/src/Application/Entity/Db/FicheposteCompetenceRetiree.php index 1ae893e69..c0c77f773 100644 --- a/module/Application/src/Application/Entity/Db/FicheposteCompetenceRetiree.php +++ b/module/Application/src/Application/Entity/Db/FicheposteCompetenceRetiree.php @@ -2,6 +2,7 @@ namespace Application\Entity\Db; +use FichePoste\Entity\Db\FichePoste; use UnicaenUtilisateur\Entity\Db\HistoriqueAwareInterface; use UnicaenUtilisateur\Entity\Db\HistoriqueAwareTrait; diff --git a/module/Application/src/Application/Entity/Db/MacroContent/FicheMetierMacroTrait.php b/module/Application/src/Application/Entity/Db/MacroContent/FicheMetierMacroTrait.php index ae78bdb88..54baa39c2 100644 --- a/module/Application/src/Application/Entity/Db/MacroContent/FicheMetierMacroTrait.php +++ b/module/Application/src/Application/Entity/Db/MacroContent/FicheMetierMacroTrait.php @@ -2,6 +2,6 @@ namespace Application\Entity\Db\MacroContent; -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; trait FicheMetierMacroTrait {} \ No newline at end of file diff --git a/module/Application/src/Application/Entity/Db/MacroContent/FichePosteMacroTrait.php b/module/Application/src/Application/Entity/Db/MacroContent/FichePosteMacroTrait.php index c7dfb6480..9a0ce3585 100644 --- a/module/Application/src/Application/Entity/Db/MacroContent/FichePosteMacroTrait.php +++ b/module/Application/src/Application/Entity/Db/MacroContent/FichePosteMacroTrait.php @@ -2,7 +2,7 @@ namespace Application\Entity\Db\MacroContent; -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; use Application\Entity\Db\ParcoursDeFormation; use Element\Entity\Db\CompetenceType; use Formation\Entity\Db\Formation; @@ -280,7 +280,7 @@ trait FichePosteMacroTrait { { /** @var FichePoste $ficheposte */ $ficheposte = $this; - $descriptionsRetirees = array_map(function ($a) { return $a->getDescription()->getId(); }, $ficheposte->getDescriptionsRetirees()->toArray()); + $descriptionsRetirees = array_map(function ($a) { return $a->getDescription()->getId(); }, $ficheposte->getDescriptionsRetirees()); $texte = ""; foreach ($ficheposte->getFichesMetiers() as $ficheTypeExterne) { diff --git a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Agent.dcm.xml b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Agent.dcm.xml index f31c3c06b..2610c3acb 100644 --- a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Agent.dcm.xml +++ b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Agent.dcm.xml @@ -24,7 +24,7 @@ <join-column name="utilisateur_id" referenced-column-name="ID" /> </one-to-one> - <one-to-many target-entity="Application\Entity\Db\FichePoste" mapped-by="agent" field="fiches" /> + <one-to-many target-entity="FichePoste\Entity\Db\FichePoste" mapped-by="agent" field="fiches" /> <one-to-many target-entity="Application\Entity\Db\AgentMissionSpecifique" mapped-by="agent" field="missionsSpecifiques"/> <many-to-many field="applications" target-entity="Element\Entity\Db\ApplicationElement"> diff --git a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheProfil.dcm.xml b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheProfil.dcm.xml index 6ab4754d5..5a9f252a8 100644 --- a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheProfil.dcm.xml +++ b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheProfil.dcm.xml @@ -8,7 +8,7 @@ <field name="vancanceEmploi" column="vacance_emploi" type="boolean" nullable="false"/> - <many-to-one field="ficheposte" target-entity="Application\Entity\Db\FichePoste"> + <many-to-one field="ficheposte" target-entity="FichePoste\Entity\Db\FichePoste"> <join-column name="ficheposte_id" referenced-column-name="id" /> </many-to-one> <many-to-one field="structure" target-entity="Structure\Entity\Db\Structure"> diff --git a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheTypeExterne.dcm.xml b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheTypeExterne.dcm.xml index 5ff9fe981..26cf354ee 100644 --- a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheTypeExterne.dcm.xml +++ b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheTypeExterne.dcm.xml @@ -6,7 +6,7 @@ <generator strategy="IDENTITY"/> </id> - <many-to-one target-entity="Application\Entity\Db\FichePoste" field="fichePoste"> + <many-to-one target-entity="FichePoste\Entity\Db\FichePoste" field="fichePoste"> <join-column name="fiche_poste" referenced-column-name="id"/> </many-to-one> diff --git a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheposteActiviteDescriptionRetiree.dcm.xml b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheposteActiviteDescriptionRetiree.dcm.xml index 35116c5b0..0a3b64e9e 100644 --- a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheposteActiviteDescriptionRetiree.dcm.xml +++ b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheposteActiviteDescriptionRetiree.dcm.xml @@ -6,7 +6,7 @@ <generator strategy="IDENTITY"/> </id> - <many-to-one target-entity="Application\Entity\Db\FichePoste" field="fichePoste"> + <many-to-one target-entity="FichePoste\Entity\Db\FichePoste" field="fichePoste"> <join-column name="ficheposte_id" referenced-column-name="id"/> </many-to-one> <many-to-one target-entity="Application\Entity\Db\FicheMetier" field="ficheMetier"> diff --git a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheposteApplicationRetiree.dcm.xml b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheposteApplicationRetiree.dcm.xml index ec3e002db..78d9a62b1 100644 --- a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheposteApplicationRetiree.dcm.xml +++ b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheposteApplicationRetiree.dcm.xml @@ -6,7 +6,7 @@ <generator strategy="IDENTITY"/> </id> - <many-to-one target-entity="Application\Entity\Db\FichePoste" field="fichePoste"> + <many-to-one target-entity="FichePoste\Entity\Db\FichePoste" field="fichePoste"> <join-column name="ficheposte_id" referenced-column-name="id"/> </many-to-one> <many-to-one target-entity="Element\Entity\Db\Application" field="application"> diff --git a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheposteCompetenceRetiree.dcm.xml b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheposteCompetenceRetiree.dcm.xml index 7a7477181..d04d87aa7 100644 --- a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheposteCompetenceRetiree.dcm.xml +++ b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheposteCompetenceRetiree.dcm.xml @@ -6,7 +6,7 @@ <generator strategy="IDENTITY"/> </id> - <many-to-one target-entity="Application\Entity\Db\FichePoste" field="fichePoste"> + <many-to-one target-entity="FichePoste\Entity\Db\FichePoste" field="fichePoste"> <join-column name="ficheposte_id" referenced-column-name="id"/> </many-to-one> <many-to-one target-entity="Element\Entity\Db\Competence" field="competence"> diff --git a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.SpecificitePoste.dcm.xml b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.SpecificitePoste.dcm.xml index 535277680..a9912d2e1 100644 --- a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.SpecificitePoste.dcm.xml +++ b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.SpecificitePoste.dcm.xml @@ -6,7 +6,7 @@ <generator strategy="IDENTITY"/> </id> - <one-to-one field="fiche" target-entity="Application\Entity\Db\FichePoste"> + <one-to-one field="fiche" target-entity="FichePoste\Entity\Db\FichePoste"> <join-column name="ficheposte_id" referenced-column-name="id" /> </one-to-one> <one-to-many field="activites" target-entity="Application\Entity\Db\SpecificiteActivite" mapped-by="specificite" /> diff --git a/module/Application/src/Application/Form/AssocierPoste/AssocierPosteForm.php b/module/Application/src/Application/Form/AssocierPoste/AssocierPosteForm.php deleted file mode 100644 index b1d5d567b..000000000 --- a/module/Application/src/Application/Form/AssocierPoste/AssocierPosteForm.php +++ /dev/null @@ -1,89 +0,0 @@ -<?php - -namespace Application\Form\AssocierPoste; - -use Application\Service\Poste\PosteServiceAwareTrait; -use Structure\Entity\Db\Structure; -use UnicaenApp\Service\EntityManagerAwareTrait; -use Laminas\Form\Element\Button; -use Laminas\Form\Element\Select; -use Laminas\Form\Form; -use Laminas\InputFilter\Factory; - -class AssocierPosteForm extends Form { - use EntityManagerAwareTrait; - use PosteServiceAwareTrait; - - public function init() - { - //Selection obligatoire AFFECTATION - $this->add([ - 'type' => Select::class, - 'name' => 'poste', - 'options' => [ - 'label' => "Poste :", - 'empty_option' => "Sélectionner un poste ...", - 'value_options' => $this->generateSelectOptions(), - ], - 'attributes' => [ - 'id' => 'poste', - 'class' => 'bootstrap-selectpicker show-tick', - 'data-live-search' => 'true', - ], - ]); - -// submit - $this->add([ - 'type' => Button::class, - 'name' => 'creer', - 'options' => [ - 'label' => '<i class="fas fa-save"></i> Associer le poste', - 'label_options' => [ - 'disable_html_escape' => true, - ], - ], - 'attributes' => [ - 'type' => 'submit', - 'class' => 'btn btn-primary', - ], - ]); - - $this->setInputFilter((new Factory())->createInputFilter([ - 'poste' => [ - 'name' => 'poste', - 'required' => false, - ], - ])); - } - - private function generateSelectOptions() - { - $postes = $this->getPosteService()->getPostes(); - $options = []; - foreach ($postes as $poste) { - if ($poste->getFichePoste() === NULL) { - $options[$poste->getId()] = $poste->getNumeroPoste() . " - " . $poste->getDomaine()->getLibelle() . " - " . $poste->getStructure()->getLibelleCourt(); - } - } - return $options; - } - - /** - * @param Structure $structure - * @param boolean $sousstructure - * @return AssocierPosteForm - */ - public function reinitWithStructure($structure, $sousstructure = false) - { - //agent - $postes = $this->getPosteService()->getPostesByStructure($structure, $sousstructure, true); - $posteOptions = []; - foreach ($postes as $poste) { - $posteOptions[$poste->getId()] = $poste->getNumeroPoste() . " - ". $poste->getDomaine()->getLibelle() . " - ".$poste->getStructure()->getLibelleCourt(); - } - /** @var Select $this->get('agent') */ - $this->get('poste')->setValueOptions($posteOptions); - - return $this; - } -} \ No newline at end of file diff --git a/module/Application/src/Application/Form/AssocierPoste/AssocierPosteFormAwareTrait.php b/module/Application/src/Application/Form/AssocierPoste/AssocierPosteFormAwareTrait.php deleted file mode 100644 index 81919c92d..000000000 --- a/module/Application/src/Application/Form/AssocierPoste/AssocierPosteFormAwareTrait.php +++ /dev/null @@ -1,29 +0,0 @@ -<?php - -namespace Application\Form\AssocierPoste; - -trait AssocierPosteFormAwareTrait { - - /** @var AssocierPosteForm $associerPosteForm */ - private $associerPosteForm; - - /** - * @return AssocierPosteForm - */ - public function getAssocierPosteForm() - { - return $this->associerPosteForm; - } - - /** - * @param AssocierPosteForm $associerPosteForm - * @return AssocierPosteForm - */ - public function setAssocierPosteForm($associerPosteForm) - { - $this->associerPosteForm = $associerPosteForm; - return $this->associerPosteForm; - } - - -} \ No newline at end of file diff --git a/module/Application/src/Application/Form/AssocierPoste/AssocierPosteFormFactory.php b/module/Application/src/Application/Form/AssocierPoste/AssocierPosteFormFactory.php deleted file mode 100644 index 4302888d3..000000000 --- a/module/Application/src/Application/Form/AssocierPoste/AssocierPosteFormFactory.php +++ /dev/null @@ -1,35 +0,0 @@ -<?php - -namespace Application\Form\AssocierPoste; - -use Application\Service\Poste\PosteService; -use Doctrine\ORM\EntityManager; -use Interop\Container\ContainerInterface; - -class AssocierPosteFormFactory { - - public function __invoke(ContainerInterface $container) - { - /** @var AssocierPosteHydrator $hydrator */ - $hydrator = $container->get('HydratorManager')->get(AssocierPosteHydrator::class); - - /** - * @var EntityManager $entityManager - * @var PosteService $posteService - */ - $entityManager = $container->get('doctrine.entitymanager.orm_default'); - $posteService = $container->get(PosteService::class); - - /** @var AssocierPosteForm $form */ - $form = new AssocierPosteForm(); - $form->setEntityManager($entityManager); - $form->setPosteService($posteService); - - $form->setHydrator($hydrator); - $form->init(); - - - return $form; - } - -} \ No newline at end of file diff --git a/module/Application/src/Application/Form/AssocierPoste/AssocierPosteHydrator.php b/module/Application/src/Application/Form/AssocierPoste/AssocierPosteHydrator.php deleted file mode 100644 index 511598083..000000000 --- a/module/Application/src/Application/Form/AssocierPoste/AssocierPosteHydrator.php +++ /dev/null @@ -1,42 +0,0 @@ -<?php - -namespace Application\Form\AssocierPoste; - -use Application\Entity\Db\FichePoste; -use Application\Service\Poste\PosteServiceAwareTrait; -use Laminas\Hydrator\HydratorInterface; - -; - -class AssocierPosteHydrator implements HydratorInterface { - use PosteServiceAwareTrait; - - /** - * @param FichePoste $object - * @return array - */ - public function extract($object): array - { - return [ - 'poste' => ($object->getPoste())?$object->getPoste()->getId():0, - ]; - } - - /** - * @param FichePoste $object - * @param array $data - * @return FichePoste - */ - public function hydrate(array $data, $object) - { - $metierType = null; - if ($data['poste'] !== null AND $data['poste'] !== "") $metierType = $this->getPosteService()->getPoste($data['poste']); - - if ($metierType) { - $object->setPoste($metierType); - } else { - $object->setPoste(null); - } - return $object; - } -} \ No newline at end of file diff --git a/module/Application/src/Application/Form/AssocierPoste/AssocierPosteHydratorFactory.php b/module/Application/src/Application/Form/AssocierPoste/AssocierPosteHydratorFactory.php deleted file mode 100644 index 09daf87bb..000000000 --- a/module/Application/src/Application/Form/AssocierPoste/AssocierPosteHydratorFactory.php +++ /dev/null @@ -1,21 +0,0 @@ -<?php - -namespace Application\Form\AssocierPoste; - -use Application\Service\Poste\PosteService; -use Interop\Container\ContainerInterface; - -class AssocierPosteHydratorFactory { - - public function __invoke(ContainerInterface $container) - { - /** @var PosteService $posteService */ - $posteService = $container->get(PosteService::class); - - $hydrator = new AssocierPosteHydrator(); - $hydrator->setPosteService($posteService); - - return $hydrator; - } - -} \ No newline at end of file diff --git a/module/Application/src/Application/Form/AssocierTitre/AssocierTitreHydrator.php b/module/Application/src/Application/Form/AssocierTitre/AssocierTitreHydrator.php index 640163f5d..1ee567e0e 100644 --- a/module/Application/src/Application/Form/AssocierTitre/AssocierTitreHydrator.php +++ b/module/Application/src/Application/Form/AssocierTitre/AssocierTitreHydrator.php @@ -2,7 +2,7 @@ namespace Application\Form\AssocierTitre; -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; use Laminas\Hydrator\HydratorInterface; class AssocierTitreHydrator implements HydratorInterface { diff --git a/module/Application/src/Application/Form/Expertise/ExpertiseFormAwareTrait.php b/module/Application/src/Application/Form/Expertise/ExpertiseFormAwareTrait.php deleted file mode 100644 index 6d2307950..000000000 --- a/module/Application/src/Application/Form/Expertise/ExpertiseFormAwareTrait.php +++ /dev/null @@ -1,27 +0,0 @@ -<?php - -namespace Application\Form\Expertise; - -trait ExpertiseFormAwareTrait { - - /** @var ExpertiseForm */ - private $expertiseForm; - - /** - * @return ExpertiseForm - */ - public function getExpertiseForm() - { - return $this->expertiseForm; - } - - /** - * @param ExpertiseForm $expertiseForm - * @return ExpertiseForm - */ - public function setExpertiseForm($expertiseForm) - { - $this->expertiseForm = $expertiseForm; - return $this->expertiseForm; - } -} diff --git a/module/Application/src/Application/Form/FicheProfil/FicheProfilForm.php b/module/Application/src/Application/Form/FicheProfil/FicheProfilForm.php index 34dfb0a52..08b4421d5 100644 --- a/module/Application/src/Application/Form/FicheProfil/FicheProfilForm.php +++ b/module/Application/src/Application/Form/FicheProfil/FicheProfilForm.php @@ -2,10 +2,8 @@ namespace Application\Form\FicheProfil; -use Application\Service\FichePoste\FichePosteServiceAwareTrait; use DateTime; -use Structure\Entity\Db\Structure; -use Structure\Service\Structure\StructureServiceAwareTrait; +use FichePoste\Service\FichePoste\FichePosteServiceAwareTrait; use Laminas\Form\Element\Button; use Laminas\Form\Element\Checkbox; use Laminas\Form\Element\Hidden; @@ -14,6 +12,8 @@ use Laminas\Form\Element\Text; use Laminas\Form\Element\Textarea; use Laminas\Form\Form; use Laminas\InputFilter\Factory; +use Structure\Entity\Db\Structure; +use Structure\Service\Structure\StructureServiceAwareTrait; class FicheProfilForm extends Form { use FichePosteServiceAwareTrait; diff --git a/module/Application/src/Application/Form/FicheProfil/FicheProfilFormFactory.php b/module/Application/src/Application/Form/FicheProfil/FicheProfilFormFactory.php index 6d4b9ecd7..bac5b465a 100644 --- a/module/Application/src/Application/Form/FicheProfil/FicheProfilFormFactory.php +++ b/module/Application/src/Application/Form/FicheProfil/FicheProfilFormFactory.php @@ -2,7 +2,7 @@ namespace Application\Form\FicheProfil; -use Application\Service\FichePoste\FichePosteService; +use FichePoste\Service\FichePoste\FichePosteService; use Interop\Container\ContainerInterface; use Structure\Service\Structure\StructureService; diff --git a/module/Application/src/Application/Form/FicheProfil/FicheProfilHydrator.php b/module/Application/src/Application/Form/FicheProfil/FicheProfilHydrator.php index eb9f57334..73a428aa3 100644 --- a/module/Application/src/Application/Form/FicheProfil/FicheProfilHydrator.php +++ b/module/Application/src/Application/Form/FicheProfil/FicheProfilHydrator.php @@ -3,10 +3,10 @@ namespace Application\Form\FicheProfil; use Application\Entity\Db\FicheProfil; -use Application\Service\FichePoste\FichePosteServiceAwareTrait; use DateTime; -use Structure\Service\Structure\StructureServiceAwareTrait; +use FichePoste\Service\FichePoste\FichePosteServiceAwareTrait; use Laminas\Hydrator\HydratorInterface; +use Structure\Service\Structure\StructureServiceAwareTrait; class FicheProfilHydrator implements HydratorInterface { use FichePosteServiceAwareTrait; diff --git a/module/Application/src/Application/Form/FicheProfil/FicheProfilHydratorFactory.php b/module/Application/src/Application/Form/FicheProfil/FicheProfilHydratorFactory.php index d845adefc..0b679d6e2 100644 --- a/module/Application/src/Application/Form/FicheProfil/FicheProfilHydratorFactory.php +++ b/module/Application/src/Application/Form/FicheProfil/FicheProfilHydratorFactory.php @@ -2,7 +2,7 @@ namespace Application\Form\FicheProfil; -use Application\Service\FichePoste\FichePosteService; +use FichePoste\Service\FichePoste\FichePosteService; use Interop\Container\ContainerInterface; use Structure\Service\Structure\StructureService; diff --git a/module/Application/src/Application/Form/Poste/PosteFormAwareTrait.php b/module/Application/src/Application/Form/Poste/PosteFormAwareTrait.php deleted file mode 100644 index 595dfed47..000000000 --- a/module/Application/src/Application/Form/Poste/PosteFormAwareTrait.php +++ /dev/null @@ -1,29 +0,0 @@ -<?php - -namespace Application\Form\Poste; - -trait PosteFormAwareTrait { - - /** @var PosteForm $posteForm */ - private $posteForm; - - /** - * @return PosteForm - */ - public function getPosteForm() - { - return $this->posteForm; - } - - /** - * @param PosteForm $posteForm - * @return PosteForm - */ - public function setPosteForm($posteForm) - { - $this->posteForm = $posteForm; - return $this->posteForm; - } - - -} diff --git a/module/Application/src/Application/Form/Rifseep/RifseepHydrator.php b/module/Application/src/Application/Form/Rifseep/RifseepHydrator.php index b11902647..c0250e4c6 100644 --- a/module/Application/src/Application/Form/Rifseep/RifseepHydrator.php +++ b/module/Application/src/Application/Form/Rifseep/RifseepHydrator.php @@ -2,7 +2,7 @@ namespace Application\Form\Rifseep; -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; use Laminas\Hydrator\HydratorInterface; class RifseepHydrator implements HydratorInterface { diff --git a/module/Application/src/Application/Service/ActivitesDescriptionsRetirees/ActivitesDescriptionsRetireesService.php b/module/Application/src/Application/Service/ActivitesDescriptionsRetirees/ActivitesDescriptionsRetireesService.php index 5e0582e48..a51b978a7 100644 --- a/module/Application/src/Application/Service/ActivitesDescriptionsRetirees/ActivitesDescriptionsRetireesService.php +++ b/module/Application/src/Application/Service/ActivitesDescriptionsRetirees/ActivitesDescriptionsRetireesService.php @@ -4,7 +4,7 @@ namespace Application\Service\ActivitesDescriptionsRetirees; use Application\Entity\Db\Activite; use Application\Entity\Db\FicheMetier; -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; use Application\Entity\Db\FicheposteActiviteDescriptionRetiree; use Doctrine\ORM\ORMException; use UnicaenApp\Exception\RuntimeException; diff --git a/module/Application/src/Application/Service/ApplicationsRetirees/ApplicationsRetireesService.php b/module/Application/src/Application/Service/ApplicationsRetirees/ApplicationsRetireesService.php index 70791b4e3..af1ac05b3 100644 --- a/module/Application/src/Application/Service/ApplicationsRetirees/ApplicationsRetireesService.php +++ b/module/Application/src/Application/Service/ApplicationsRetirees/ApplicationsRetireesService.php @@ -3,7 +3,7 @@ namespace Application\Service\ApplicationsRetirees; use Element\Entity\Db\Application; -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; use Application\Entity\Db\FicheposteApplicationRetiree; use Doctrine\ORM\NonUniqueResultException; use Doctrine\ORM\ORMException; diff --git a/module/Application/src/Application/Service/CompetencesRetirees/CompetencesRetireesService.php b/module/Application/src/Application/Service/CompetencesRetirees/CompetencesRetireesService.php index f2a8981e7..6b77cdbae 100644 --- a/module/Application/src/Application/Service/CompetencesRetirees/CompetencesRetireesService.php +++ b/module/Application/src/Application/Service/CompetencesRetirees/CompetencesRetireesService.php @@ -2,7 +2,7 @@ namespace Application\Service\CompetencesRetirees; -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; use Application\Entity\Db\FicheposteCompetenceRetiree; use Doctrine\ORM\NonUniqueResultException; use Doctrine\ORM\ORMException; diff --git a/module/Application/src/Application/Service/Expertise/ExpertiseServiceAwareTrait.php b/module/Application/src/Application/Service/Expertise/ExpertiseServiceAwareTrait.php deleted file mode 100644 index fd93b9ddf..000000000 --- a/module/Application/src/Application/Service/Expertise/ExpertiseServiceAwareTrait.php +++ /dev/null @@ -1,27 +0,0 @@ -<?php - -namespace Application\Service\Expertise; - -trait ExpertiseServiceAwareTrait { - - /** @var ExpertiseService */ - private $expertiseService; - - /** - * @return ExpertiseService - */ - public function getExpertiseService() - { - return $this->expertiseService; - } - - /** - * @param ExpertiseService $expertiseService - * @return ExpertiseService - */ - public function setExpertiseService($expertiseService) - { - $this->expertiseService = $expertiseService; - return $this->expertiseService; - } -} diff --git a/module/Application/src/Application/Service/Notification/NotificationService.php b/module/Application/src/Application/Service/Notification/NotificationService.php index 708c3fa4a..5745b97fb 100644 --- a/module/Application/src/Application/Service/Notification/NotificationService.php +++ b/module/Application/src/Application/Service/Notification/NotificationService.php @@ -2,7 +2,7 @@ namespace Application\Service\Notification; -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; use Application\Provider\Template\MailTemplates; use Application\Service\Agent\AgentServiceAwareTrait; use Application\Service\Url\UrlServiceAwareTrait; diff --git a/module/Application/src/Application/Service/ParcoursDeFormation/ParcoursDeFormationService.php b/module/Application/src/Application/Service/ParcoursDeFormation/ParcoursDeFormationService.php index 4d34bf802..df93c466b 100644 --- a/module/Application/src/Application/Service/ParcoursDeFormation/ParcoursDeFormationService.php +++ b/module/Application/src/Application/Service/ParcoursDeFormation/ParcoursDeFormationService.php @@ -3,7 +3,7 @@ namespace Application\Service\ParcoursDeFormation; use Application\Entity\Db\FicheMetier; -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; use Application\Entity\Db\ParcoursDeFormation; use Application\Entity\Db\ParcoursDeFormationFormation; use Carriere\Entity\Db\Categorie; diff --git a/module/Application/src/Application/View/Helper/FichePosteGraphViewHelper.php b/module/Application/src/Application/View/Helper/FichePosteGraphViewHelper.php index a169f8790..770b466de 100644 --- a/module/Application/src/Application/View/Helper/FichePosteGraphViewHelper.php +++ b/module/Application/src/Application/View/Helper/FichePosteGraphViewHelper.php @@ -2,7 +2,7 @@ namespace Application\View\Helper; -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; use DateTime; use Exception; use RuntimeException; diff --git a/module/Application/src/Application/View/Helper/FichesPostesAsArrayViewHelper.php b/module/Application/src/Application/View/Helper/FichesPostesAsArrayViewHelper.php index fbf98127e..318bc4193 100644 --- a/module/Application/src/Application/View/Helper/FichesPostesAsArrayViewHelper.php +++ b/module/Application/src/Application/View/Helper/FichesPostesAsArrayViewHelper.php @@ -3,7 +3,7 @@ namespace Application\View\Helper; use Application\Provider\Role\RoleProvider as AppRoleProvider; -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; use UnicaenUtilisateur\Service\User\UserServiceAwareTrait; use Laminas\View\Helper\AbstractHelper; diff --git a/module/Application/src/Application/View/Helper/ParcoursApplicationViewHelper.php b/module/Application/src/Application/View/Helper/ParcoursApplicationViewHelper.php index f77e6a7ff..4a0ec3a9a 100644 --- a/module/Application/src/Application/View/Helper/ParcoursApplicationViewHelper.php +++ b/module/Application/src/Application/View/Helper/ParcoursApplicationViewHelper.php @@ -4,7 +4,7 @@ namespace Application\View\Helper; use Application\Entity\Db\Agent; use Application\Entity\Db\FicheMetier; -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; use Application\Service\ParcoursDeFormation\ParcoursDeFormationServiceAwareTrait; use Application\View\Renderer\PhpRenderer; use Laminas\View\Helper\AbstractHelper; diff --git a/module/Application/src/Application/View/Helper/PosteViewHelper.php b/module/Application/src/Application/View/Helper/PosteViewHelper.php index d097a6008..7a0e86ec5 100644 --- a/module/Application/src/Application/View/Helper/PosteViewHelper.php +++ b/module/Application/src/Application/View/Helper/PosteViewHelper.php @@ -2,8 +2,8 @@ namespace Application\View\Helper; -use Application\Entity\Db\Poste; use Application\View\Renderer\PhpRenderer; +use FichePoste\Entity\Db\Poste; use Laminas\View\Helper\AbstractHelper; use Laminas\View\Helper\Partial; use Laminas\View\Resolver\TemplatePathStack; diff --git a/module/Application/src/Application/View/Helper/RaisonsViewHelper.php b/module/Application/src/Application/View/Helper/RaisonsViewHelper.php index 7780cc135..01f46bea2 100644 --- a/module/Application/src/Application/View/Helper/RaisonsViewHelper.php +++ b/module/Application/src/Application/View/Helper/RaisonsViewHelper.php @@ -2,7 +2,6 @@ namespace Application\View\Helper; -use Application\Entity\Db\Poste; use Application\View\Renderer\PhpRenderer; use Laminas\View\Helper\AbstractHelper; use Laminas\View\Helper\Partial; diff --git a/module/Application/src/Application/View/Helper/SpecificitePosteViewHelper.php b/module/Application/src/Application/View/Helper/SpecificitePosteViewHelper.php index 102958d5f..7f446d39f 100644 --- a/module/Application/src/Application/View/Helper/SpecificitePosteViewHelper.php +++ b/module/Application/src/Application/View/Helper/SpecificitePosteViewHelper.php @@ -2,7 +2,7 @@ namespace Application\View\Helper; -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; use Application\Entity\Db\SpecificitePoste; use Application\View\Renderer\PhpRenderer; use Laminas\View\Helper\AbstractHelper; diff --git a/module/Application/src/Application/View/Helper/partial/activite.phtml b/module/Application/src/Application/View/Helper/partial/activite.phtml index 1beb96cc1..6f26d9176 100644 --- a/module/Application/src/Application/View/Helper/partial/activite.phtml +++ b/module/Application/src/Application/View/Helper/partial/activite.phtml @@ -4,11 +4,11 @@ use Application\Controller\ActiviteController; use Application\Controller\FicheMetierController; use Application\Entity\Db\Activite; use Application\Entity\Db\ActiviteDescription; -use Element\Entity\Db\ApplicationElement; -use Element\Entity\Db\CompetenceElement; use Application\Entity\Db\FicheMetier; use Application\Entity\Db\FicheMetierActivite; -use Application\Entity\Db\FichePoste; +use Element\Entity\Db\ApplicationElement; +use Element\Entity\Db\CompetenceElement; +use FichePoste\Entity\Db\FichePoste; use Formation\Entity\Db\FormationElement; /** @@ -64,7 +64,7 @@ $nbObject = $nbCompetence + $nbFormation + $nbApplication; <h3> <?php echo $activite->getLibelle(); ?> </h3> </div> <div class="pull-right"> - <?php /** @see \Application\Controller\FichePosteController::selectionnerDescriptionsRetireesAction() */?> + <?php /** @see \FichePoste\Controller\FichePosteController::selectionnerDescriptionsRetireesAction() */?> <a href="<?php echo $this->url('fiche-poste/selectionner-descriptions-retirees', ['fiche-poste' => $ficheposte->getId(), 'fiche-metier' => $fichemetier->getId(), 'activite' => $activite->getId()], [], true); ?>" class="btn btn-primary ajax-modal" data-event="modification"> Sélectionner des descriptions diff --git a/module/Application/src/Application/View/Helper/partial/fiche-metier-externe.phtml b/module/Application/src/Application/View/Helper/partial/fiche-metier-externe.phtml index c2d080a13..e15c5861d 100644 --- a/module/Application/src/Application/View/Helper/partial/fiche-metier-externe.phtml +++ b/module/Application/src/Application/View/Helper/partial/fiche-metier-externe.phtml @@ -6,7 +6,7 @@ */ use Application\Entity\Db\FicheTypeExterne; -use Application\Provider\Privilege\FichePostePrivileges; +use FichePoste\Provider\Privilege\FichePostePrivileges; $fichemetier = $fiche->getFicheType(); $ficheposte = $fiche->getFichePoste(); @@ -31,7 +31,7 @@ $activitesConservees = explode(FicheTypeExterne::ACTIVITE_SEPARATOR, $fiche->get <div class="col-md-7"> <div class="col-md-6"> <u>Répartition par domaine</u> - <a <?php /** @see \Application\Controller\FichePosteController::modifierRepartitionAction() */ ?> + <a <?php /** @see \FichePoste\Controller\FichePosteController::modifierRepartitionAction() */ ?> href="<?php echo $this->url("fiche-poste/modifier-repartition", ['fiche-poste' => $fiche->getFichePoste()->getId(), 'fiche-type' => $fiche->getId()], [], true); ?>" class="ajax-modal" data-event="modification" > @@ -61,13 +61,13 @@ $activitesConservees = explode(FicheTypeExterne::ACTIVITE_SEPARATOR, $fiche->get <u> Répartition par métier</u> <?php if (isset($options['mode']) AND $options['mode'] === 'edition-fiche-poste') : ?> <a - <?php /** @see \Application\Controller\FichePosteController::modifierFicheMetierAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::modifierFicheMetierAction() */ ?> href="<?php echo $this->url('fiche-poste/modifier-fiche-metier', ['fiche-poste' => $fiche->getFichePoste()->getId(), 'fiche-type-externe' => $fiche->getId()], [], true); ?>" class="ajax-modal" data-event="modification" > <span class="icon icon-editer" title="Modifier la fiche métier"></span></a> <a - <?php /** @see \Application\Controller\FichePosteController::retirerFicheMetierAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::retirerFicheMetierAction() */ ?> href="<?php echo $this->url('fiche-poste/retirer-fiche-metier', ['fiche-poste' => $fiche->getFichePoste()->getId(), 'fiche-type-externe' => $fiche->getId()], [], true); ?>" > <span class="icon icon-retirer" title="Retirer la fiche métier"></span></a> @@ -91,7 +91,7 @@ $activitesConservees = explode(FicheTypeExterne::ACTIVITE_SEPARATOR, $fiche->get </div> <div class="card-body"> <?php if (isset($options['mode']) AND $options['mode'] === 'edition-fiche-poste') : ?> - <?php /** @see \Application\Controller\FichePosteController::selectionnerActiviteAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::selectionnerActiviteAction() */ ?> <a href="<?php echo $this->url("fiche-poste/selectionner-activite", ["fiche-poste" => $ficheposte->getId(), "fiche-type-externe" => $fiche->getId()], [], true); ?>" class="ajax-modal btn btn-primary" data-event="modification" > diff --git a/module/Application/src/Application/View/Helper/partial/fiche-metier.old.phtml b/module/Application/src/Application/View/Helper/partial/fiche-metier.old.phtml index a87a04566..bc4faa0c8 100644 --- a/module/Application/src/Application/View/Helper/partial/fiche-metier.old.phtml +++ b/module/Application/src/Application/View/Helper/partial/fiche-metier.old.phtml @@ -1,7 +1,7 @@ <?php use Application\Entity\Db\FicheMetier; -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; use Application\Entity\Db\FicheTypeExterne; /** diff --git a/module/Application/src/Application/View/Helper/partial/ficheposte-graphique.phtml b/module/Application/src/Application/View/Helper/partial/ficheposte-graphique.phtml index 4671c851f..e02339c22 100644 --- a/module/Application/src/Application/View/Helper/partial/ficheposte-graphique.phtml +++ b/module/Application/src/Application/View/Helper/partial/ficheposte-graphique.phtml @@ -7,7 +7,7 @@ * @var array $options */ -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; $id = uniqid(); $headers = []; diff --git a/module/Application/src/Application/View/Helper/partial/fiches-postes-as-table.phtml b/module/Application/src/Application/View/Helper/partial/fiches-postes-as-table.phtml index 1afe86067..fb62735c6 100644 --- a/module/Application/src/Application/View/Helper/partial/fiches-postes-as-table.phtml +++ b/module/Application/src/Application/View/Helper/partial/fiches-postes-as-table.phtml @@ -1,8 +1,8 @@ <?php -use Application\Entity\Db\FichePoste; use Application\Provider\Etat\FichePosteEtats; -use Application\Provider\Privilege\FichePostePrivileges; +use FichePoste\Entity\Db\FichePoste; +use FichePoste\Provider\Privilege\FichePostePrivileges; use Structure\Entity\Db\Structure; /** @@ -199,7 +199,7 @@ if ($retour) $query['retour'] = $retour; <td> <!-- AFFICHAGE -------------------------------------------------------------------------------> <?php if ($canAfficher) : ?> - <?php /** @see \Application\Controller\FichePosteController::afficherAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::afficherAction() */ ?> <a href="<?php echo $this->url('fiche-poste/afficher', ['fiche-poste' => $id], [], true); ?>" target="_blank" ><span class="icon icon-voir" @@ -211,7 +211,7 @@ if ($retour) $query['retour'] = $retour; <!-- EXPORTATION -----------------------------------------------------------------------------> <?php if ($canExporter) : ?> - <?php /** @see \Application\Controller\FichePosteController::exporterAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::exporterAction() */ ?> <a href="<?php echo $this->url('fiche-poste/exporter', ['fiche-poste' => $id], [], true); ?>" target="_blank" ><span @@ -224,7 +224,7 @@ if ($retour) $query['retour'] = $retour; <!-- MODIFICATION -----------------------------------------------------------------------------> <?php if ($canModifier) : ?> - <?php /** @see \Application\Controller\FichePosteController::editerAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::editerAction() */ ?> <a href="<?php echo $this->url('fiche-poste/editer', ['fiche-poste' => $id], ['query' => ['structure' => $structureId??null]], true); ?>" target="_blank" ><span class="icon icon-editer" @@ -237,13 +237,13 @@ if ($retour) $query['retour'] = $retour; <!-- HISTORISER -------------------------------------------------------------------------------> <?php if ($canHistoriser) : ?> <?php if ($destruction === null) : ?> - <?php /** @see \Application\Controller\FichePosteController::historiserAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::historiserAction() */ ?> <a href="<?php echo $this->url('fiche-poste/historiser', ['fiche-poste' => $id], ["query" => $query], true); ?>"> <span class="icon icon-historiser" data-bs-toggle="tooltip" data-bs-html="true" title="Historiser la fiche de poste"></span></a> <?php else : ?> - <?php /** @see \Application\Controller\FichePosteController::restaurerAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::restaurerAction() */ ?> <a href="<?php echo $this->url('fiche-poste/restaurer', ['fiche-poste' => $id], ["query" => $query], true); ?>"> <span class="icon icon-restaurer" data-bs-toggle="tooltip" data-bs-html="true" @@ -259,7 +259,7 @@ if ($retour) $query['retour'] = $retour; <!-- DETRUIRE -------------------------------------------------------------------------------> <?php if ($canDetruire) : ?> - <?php /** @see \Application\Controller\FichePosteController::detruireAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::detruireAction() */ ?> <a href="<?php echo $this->url('fiche-poste/detruire', ['fiche-poste' => $id], [], true); ?>" class="ajax-modal" data-event="modification" ><span class="icon icon-retirer" diff --git a/module/Application/src/Application/View/Helper/partial/poste.phtml b/module/Application/src/Application/View/Helper/partial/poste.phtml index 08bfc4b7e..0d3f344fd 100644 --- a/module/Application/src/Application/View/Helper/partial/poste.phtml +++ b/module/Application/src/Application/View/Helper/partial/poste.phtml @@ -1,10 +1,10 @@ <?php /** - * @var Poste $poste + * @var \FichePoste\Entity\Db\Poste $poste */ -use Application\Entity\Db\Poste; +use FichePoste\Entity\Db\Poste; ?> diff --git a/module/Application/src/Application/View/Helper/partial/specificite-activite.phtml b/module/Application/src/Application/View/Helper/partial/specificite-activite.phtml index 7bae33c25..59af46516 100644 --- a/module/Application/src/Application/View/Helper/partial/specificite-activite.phtml +++ b/module/Application/src/Application/View/Helper/partial/specificite-activite.phtml @@ -2,7 +2,6 @@ use Application\Entity\Db\ActiviteDescription; use Application\Entity\Db\SpecificiteActivite; -use Application\Provider\Privilege\FichePostePrivileges; use Metier\Entity\Db\Domaine; /** diff --git a/module/Application/src/Application/View/Helper/partial/specificite.phtml b/module/Application/src/Application/View/Helper/partial/specificite.phtml index efffa740d..9f4abcb3f 100644 --- a/module/Application/src/Application/View/Helper/partial/specificite.phtml +++ b/module/Application/src/Application/View/Helper/partial/specificite.phtml @@ -7,10 +7,10 @@ * @var array $options */ -use Application\Entity\Db\FichePoste; use Application\Entity\Db\SpecificiteActivite; use Application\Entity\Db\SpecificitePoste; -use Application\Provider\Privilege\FichePostePrivileges; +use FichePoste\Entity\Db\FichePoste; +use FichePoste\Provider\Privilege\FichePostePrivileges; $mode = "affichage"; if (isset($options["mode"])) $mode = $options["mode"]; diff --git a/module/Application/view/application/agent/afficher.phtml b/module/Application/view/application/agent/afficher.phtml index ca968c1ae..7f8ff6ae4 100644 --- a/module/Application/view/application/agent/afficher.phtml +++ b/module/Application/view/application/agent/afficher.phtml @@ -11,7 +11,7 @@ use Application\Entity\Db\AgentQuotite; use Application\Entity\Db\AgentStageObservation; use Application\Entity\Db\AgentStatut; use Application\Entity\Db\AgentTutorat; -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; use Application\Provider\Privilege\AgentPrivileges; use EntretienProfessionnel\Entity\Db\EntretienProfessionnel; diff --git a/module/Application/view/application/agent/partial/fiche-poste.phtml b/module/Application/view/application/agent/partial/fiche-poste.phtml index f2b1a228f..4302683a5 100644 --- a/module/Application/view/application/agent/partial/fiche-poste.phtml +++ b/module/Application/view/application/agent/partial/fiche-poste.phtml @@ -7,8 +7,8 @@ */ use Application\Entity\Db\Agent; -use Application\Entity\Db\FichePoste; use Application\Provider\Privilege\AgentPrivileges; +use FichePoste\Entity\Db\FichePoste; $canDetruireFichier = $this->isAllowed($agent, AgentPrivileges::AGENT_ELEMENT_HISTORISER); $canVoirFichier = $this->isAllowed($agent, AgentPrivileges::AGENT_AFFICHER); @@ -33,13 +33,13 @@ $structure = ($affectation)?$affectation->getStructure():null; <div class="pull-right"> <br/> <?php if ($canAjouterFichePoste) : ?> - <?php /** @see \Application\Controller\FichePosteController::ajouterAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::ajouterAction() */ ?> <a href="<?php echo $this->url('fiche-poste/ajouter', ['agent' => $agent->getId()], [], true); ?>" class="btn btn-primary action"> <span class="icon icon-ajouter"></span> Ajouter une fiche de poste </a> <?php if ($structure ) : ?> - <?php /** @see \Application\Controller\FichePosteController::dupliquerAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::dupliquerAction() */ ?> <a href="<?php echo $this->url('fiche-poste/dupliquer', ['structure' => $structure->getId(), 'agent' => $agent->getId()], [], true); ?>" class="btn btn-primary action"> <span class="icon icon-cloner"></span> Cloner une fiche de poste diff --git a/module/Application/view/application/fiche-profil/modifier.phtml b/module/Application/view/application/fiche-profil/modifier.phtml index cb8a1ab6d..b62748562 100644 --- a/module/Application/view/application/fiche-profil/modifier.phtml +++ b/module/Application/view/application/fiche-profil/modifier.phtml @@ -9,7 +9,7 @@ * @var FicheProfilForm $form */ -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; use Application\Form\FicheProfil\FicheProfilForm; use Structure\Entity\Db\Structure; diff --git a/module/Application/view/application/index/index-autorite.phtml b/module/Application/view/application/index/index-autorite.phtml index cca89d01f..19297db4d 100644 --- a/module/Application/view/application/index/index-autorite.phtml +++ b/module/Application/view/application/index/index-autorite.phtml @@ -7,9 +7,9 @@ * @var Campagne $campagnePrevious * @var Campagne $campagnesCurrents */ + use Application\Entity\Db\Agent; use Application\Provider\Privilege\AgentPrivileges; -use Application\Provider\Privilege\FichePostePrivileges; use EntretienProfessionnel\Entity\Db\Campagne; $canVoirAgent = $this->isAllowed(AgentPrivileges::getResourceId(AgentPrivileges::AGENT_AFFICHER)); diff --git a/module/Application/view/application/index/index-superieur.phtml b/module/Application/view/application/index/index-superieur.phtml index 415f6c44b..4a11c4113 100644 --- a/module/Application/view/application/index/index-superieur.phtml +++ b/module/Application/view/application/index/index-superieur.phtml @@ -11,12 +11,11 @@ * @var FormationInstanceInscrit[] $demandesInternes * @var DemandeExterne[] $demandesExternes */ + use Application\Entity\Db\Agent; -use Application\Entity\Db\FichePoste; use Application\Provider\Privilege\AgentPrivileges; -use Application\Provider\Privilege\FichePostePrivileges; -use EntretienProfessionnel\Entity\Db\Campagne; use EntretienProfessionnel\Entity\Db\EntretienProfessionnel; +use FichePoste\Entity\Db\FichePoste; use Formation\Entity\Db\DemandeExterne; use Formation\Entity\Db\FormationInstanceInscrit; diff --git a/module/Application/view/application/index/index.phtml b/module/Application/view/application/index/index.phtml index 8714e2437..dc16a10a7 100755 --- a/module/Application/view/application/index/index.phtml +++ b/module/Application/view/application/index/index.phtml @@ -46,9 +46,14 @@ use UnicaenUtilisateur\Entity\Db\User; <?php else: ?> - <a class="btn btn-success btn-large" href="<?php echo $this->url('zfcuser/login') ?>"> + <?php + $appConnection = $this->appConnection(); + $link = $appConnection->getView()->plugin('userConnection')->computeConnectionLink(); + ?> + <a class="btn btn-success btn-large" href="<?php echo $link; ?>"> <span class="icon icon-user"></span> <?php echo $this->translate('Se connecter') ?> + </a> <br/> diff --git a/module/Application/view/application/index/partial/entretien.phtml b/module/Application/view/application/index/partial/entretien.phtml index 3fcb21ecf..637f39027 100644 --- a/module/Application/view/application/index/partial/entretien.phtml +++ b/module/Application/view/application/index/partial/entretien.phtml @@ -2,7 +2,6 @@ use Application\Entity\Db\Agent; use Application\Provider\Privilege\AgentPrivileges; -use Application\Provider\Privilege\FichePostePrivileges; use EntretienProfessionnel\Entity\Db\Campagne; /** diff --git a/module/Application/view/application/default/confirmation.phtml b/module/Application/view/default/confirmation.phtml similarity index 100% rename from module/Application/view/application/default/confirmation.phtml rename to module/Application/view/default/confirmation.phtml diff --git a/module/Application/view/application/default/default-form.phtml b/module/Application/view/default/default-form.phtml similarity index 100% rename from module/Application/view/application/default/default-form.phtml rename to module/Application/view/default/default-form.phtml diff --git a/module/Application/view/application/default/probleme.phtml b/module/Application/view/default/probleme.phtml similarity index 100% rename from module/Application/view/application/default/probleme.phtml rename to module/Application/view/default/probleme.phtml diff --git a/module/Application/view/application/default/reponse.phtml b/module/Application/view/default/reponse.phtml similarity index 100% rename from module/Application/view/application/default/reponse.phtml rename to module/Application/view/default/reponse.phtml diff --git a/module/EntretienProfessionnel/src/EntretienProfessionnel/Controller/EntretienProfessionnelController.php b/module/EntretienProfessionnel/src/EntretienProfessionnel/Controller/EntretienProfessionnelController.php index 5a0948571..6de10874c 100644 --- a/module/EntretienProfessionnel/src/EntretienProfessionnel/Controller/EntretienProfessionnelController.php +++ b/module/EntretienProfessionnel/src/EntretienProfessionnel/Controller/EntretienProfessionnelController.php @@ -3,7 +3,6 @@ namespace EntretienProfessionnel\Controller; use Application\Service\Agent\AgentServiceAwareTrait; -use Application\Service\FichePoste\FichePosteServiceAwareTrait; use DateInterval; use DateTime; use Doctrine\ORM\ORMException; @@ -18,6 +17,13 @@ use EntretienProfessionnel\Service\Evenement\RappelEntretienProfessionnelService use EntretienProfessionnel\Service\Evenement\RappelPasObservationServiceAwareTrait; use EntretienProfessionnel\Service\Notification\NotificationServiceAwareTrait; use Exception; +use FichePoste\Service\FichePoste\FichePosteServiceAwareTrait; +use Laminas\Http\Request; +use Laminas\Http\Response; +use Laminas\Mvc\Controller\AbstractActionController; +use Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger; +use Laminas\View\Model\JsonModel; +use Laminas\View\Model\ViewModel; use Mpdf\MpdfException; use Structure\Service\Structure\StructureServiceAwareTrait; use UnicaenApp\Exception\RuntimeException; @@ -29,12 +35,6 @@ use UnicaenPdf\Exporter\PdfExporter; use UnicaenRenderer\Service\Rendu\RenduServiceAwareTrait; use UnicaenUtilisateur\Service\User\UserServiceAwareTrait; use UnicaenValidation\Service\ValidationInstance\ValidationInstanceServiceAwareTrait; -use Laminas\Http\Request; -use Laminas\Http\Response; -use Laminas\Mvc\Controller\AbstractActionController; -use Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger; -use Laminas\View\Model\JsonModel; -use Laminas\View\Model\ViewModel; /** @method FlashMessenger flashMessenger() */ diff --git a/module/EntretienProfessionnel/src/EntretienProfessionnel/Controller/EntretienProfessionnelControllerFactory.php b/module/EntretienProfessionnel/src/EntretienProfessionnel/Controller/EntretienProfessionnelControllerFactory.php index f95565a06..ec8a537ad 100644 --- a/module/EntretienProfessionnel/src/EntretienProfessionnel/Controller/EntretienProfessionnelControllerFactory.php +++ b/module/EntretienProfessionnel/src/EntretienProfessionnel/Controller/EntretienProfessionnelControllerFactory.php @@ -3,13 +3,13 @@ namespace EntretienProfessionnel\Controller; use Application\Service\Agent\AgentService; -use Application\Service\FichePoste\FichePosteService; use EntretienProfessionnel\Form\EntretienProfessionnel\EntretienProfessionnelForm; use EntretienProfessionnel\Service\Campagne\CampagneService; use EntretienProfessionnel\Service\EntretienProfessionnel\EntretienProfessionnelService; use EntretienProfessionnel\Service\Evenement\RappelEntretienProfessionnelService; use EntretienProfessionnel\Service\Evenement\RappelPasObservationService; use EntretienProfessionnel\Service\Notification\NotificationService; +use FichePoste\Service\FichePoste\FichePosteService; use Interop\Container\ContainerInterface; use Structure\Service\Structure\StructureService; use UnicaenEtat\Service\Etat\EtatService; diff --git a/module/EntretienProfessionnel/view/entretien-professionnel/entretien-professionnel/acceder.phtml b/module/EntretienProfessionnel/view/entretien-professionnel/entretien-professionnel/acceder.phtml index 9e25d227d..492755bec 100644 --- a/module/EntretienProfessionnel/view/entretien-professionnel/entretien-professionnel/acceder.phtml +++ b/module/EntretienProfessionnel/view/entretien-professionnel/entretien-professionnel/acceder.phtml @@ -17,7 +17,7 @@ use Application\Entity\Db\Agent; use Application\Entity\Db\FicheMetier; -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; use Application\Entity\Db\ParcoursDeFormation; use Application\Provider\Privilege\AgentPrivileges; use EntretienProfessionnel\Entity\Db\EntretienProfessionnel; diff --git a/module/EntretienProfessionnel/view/entretien-professionnel/entretien-professionnel/partial/formulaire.phtml b/module/EntretienProfessionnel/view/entretien-professionnel/entretien-professionnel/partial/formulaire.phtml index 06862ea57..3b1a3b328 100644 --- a/module/EntretienProfessionnel/view/entretien-professionnel/entretien-professionnel/partial/formulaire.phtml +++ b/module/EntretienProfessionnel/view/entretien-professionnel/entretien-professionnel/partial/formulaire.phtml @@ -7,11 +7,11 @@ * @var string $source */ -use Application\Entity\Db\FichePoste; use EntretienProfessionnel\Entity\Db\EntretienProfessionnel; use EntretienProfessionnel\Provider\Etat\EntretienProfessionnelEtats; use EntretienProfessionnel\Provider\Privilege\EntretienproPrivileges; use EntretienProfessionnel\Provider\Validation\EntretienProfessionnelValidations; +use FichePoste\Entity\Db\FichePoste; use UnicaenUtilisateur\Entity\Db\User; $isAgent = $entretien->getAgent()->getUtilisateur() === $connectedUser; diff --git a/module/EntretienProfessionnel/view/entretien-professionnel/entretien-professionnel/partial/header.phtml b/module/EntretienProfessionnel/view/entretien-professionnel/entretien-professionnel/partial/header.phtml index 88cb5d0bd..53d844361 100644 --- a/module/EntretienProfessionnel/view/entretien-professionnel/entretien-professionnel/partial/header.phtml +++ b/module/EntretienProfessionnel/view/entretien-professionnel/entretien-professionnel/partial/header.phtml @@ -8,14 +8,14 @@ * @var string[] $documents */ -use Application\Entity\Db\Agent; -use Application\Entity\Db\FicheMetier; -use Application\Entity\Db\FichePoste; -use EntretienProfessionnel\Entity\Db\EntretienProfessionnel; -use EntretienProfessionnel\Provider\Privilege\EntretienproPrivileges; + use Application\Entity\Db\Agent; + use Application\Entity\Db\FicheMetier; + use EntretienProfessionnel\Entity\Db\EntretienProfessionnel; + use EntretienProfessionnel\Provider\Privilege\EntretienproPrivileges; use EntretienProfessionnel\Provider\Validation\EntretienProfessionnelValidations; + use FichePoste\Entity\Db\FichePoste; use Structure\Entity\Db\Structure; -use Structure\Provider\Privilege\StructurePrivileges; + use Structure\Provider\Privilege\StructurePrivileges; $sursis = $entretien->getSursisActif(); @@ -52,7 +52,7 @@ $canAfficherInformationMetier = ( <dd class="col-md-8"> <?php if ($ficheposte !== null) : ?> <a - <?php /** @see \Application\Controller\FichePosteController::afficherAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::afficherAction() */ ?> href="<?php echo $this->url('fiche-poste/afficher', ['fiche-poste' => $ficheposte->getId()], [], true); ?>" target="_blank" > diff --git a/module/EntretienProfessionnel/view/entretien-professionnel/entretien-professionnel/partial/parcours.phtml b/module/EntretienProfessionnel/view/entretien-professionnel/entretien-professionnel/partial/parcours.phtml index ce3c2be18..4e52c2132 100644 --- a/module/EntretienProfessionnel/view/entretien-professionnel/entretien-professionnel/partial/parcours.phtml +++ b/module/EntretienProfessionnel/view/entretien-professionnel/entretien-professionnel/partial/parcours.phtml @@ -9,7 +9,7 @@ */ use Application\Entity\Db\Agent; -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; use Application\Entity\Db\ParcoursDeFormation; use EntretienProfessionnel\Entity\Db\EntretienProfessionnel; diff --git a/module/FichePoste/Module.php b/module/FichePoste/Module.php new file mode 100755 index 000000000..922777716 --- /dev/null +++ b/module/FichePoste/Module.php @@ -0,0 +1,44 @@ +<?php + +namespace FichePoste; + +use Laminas\Config\Factory as ConfigFactory; +use Laminas\Mvc\ModuleRouteListener; +use Laminas\Mvc\MvcEvent; +use Laminas\Stdlib\ArrayUtils; +use Laminas\Stdlib\Glob; + +class Module +{ + public function onBootstrap(MvcEvent $e) + { + $eventManager = $e->getApplication()->getEventManager(); + $moduleRouteListener = new ModuleRouteListener(); + $moduleRouteListener->attach($eventManager); + + } + + public function getConfig() + { + $configInit = [ + __DIR__ . '/config/module.config.php' + ]; + $configFiles = ArrayUtils::merge( + $configInit, + Glob::glob(__DIR__ . '/config/merged/{,*.}{config}.php', Glob::GLOB_BRACE) + ); + + return ConfigFactory::fromFiles($configFiles); + } + + public function getAutoloaderConfig() + { + return array( + 'Laminas\Loader\StandardAutoloader' => array( + 'namespaces' => array( + __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__, + ), + ), + ); + } +} diff --git a/module/FichePoste/config/example.php b/module/FichePoste/config/example.php new file mode 100644 index 000000000..e2e8412f5 --- /dev/null +++ b/module/FichePoste/config/example.php @@ -0,0 +1,36 @@ +<?php + +namespace Element; + +use UnicaenPrivilege\Guard\PrivilegeController; +use Laminas\Router\Http\Literal; +use Laminas\Router\Http\Segment; + +return [ + 'bjyauthorize' => [ + 'guards' => [ + PrivilegeController::class => [ + + ], + ], + ], + + 'router' => [ + 'routes' => [ + ], + ], + + 'service_manager' => [ + 'factories' => [], + ], + 'controllers' => [ + 'factories' => [], + ], + 'form_elements' => [ + 'factories' => [], + ], + 'hydrators' => [ + 'factories' => [], + ] + +]; \ No newline at end of file diff --git a/module/FichePoste/config/merged/expertise.config.php b/module/FichePoste/config/merged/expertise.config.php new file mode 100644 index 000000000..bf2600ae7 --- /dev/null +++ b/module/FichePoste/config/merged/expertise.config.php @@ -0,0 +1,144 @@ +<?php + +namespace Element; + +use FichePoste\Assertion\FichePosteAssertion; +use FichePoste\Controller\ExpertiseController; +use FichePoste\Controller\ExpertiseControllerFactory; +use FichePoste\Form\Expertise\ExpertiseForm; +use FichePoste\Form\Expertise\ExpertiseFormFactory; +use FichePoste\Form\Expertise\ExpertiseHydrator; +use FichePoste\Form\Expertise\ExpertiseHydratorFactory; +use FichePoste\Provider\Privilege\FichePostePrivileges; +use FichePoste\Service\Expertise\ExpertiseService; +use FichePoste\Service\Expertise\ExpertiseServiceFactory; +use Laminas\Router\Http\Literal; +use UnicaenPrivilege\Guard\PrivilegeController; +use Laminas\Router\Http\Segment; + +return [ + 'bjyauthorize' => [ + 'guards' => [ + PrivilegeController::class => [ + [ + 'controller' => ExpertiseController::class, + 'action' => [ + 'ajouter', + 'modifier', + 'historiser', + 'restaurer', + 'supprimer', + ], + 'privileges' => FichePostePrivileges::FICHEPOSTE_MODIFIER, +// 'assertion' => FichePosteAssertion::class, + ], + ], + ], + ], + + 'router' => [ + 'routes' => [ + 'fiche-poste' => [ + 'options' => [ + 'route' => '/fiche-poste', + ], + 'may_terminate' => true, + 'child_routes' => [ + 'expertise' => [ + 'type' => Literal::class, + 'options' => [ + 'route' => '/expertise', + 'defaults' => [ + 'controller' => ExpertiseController::class, + ], + ], + 'may_terminate' => false, + 'child_routes' => [ + 'ajouter' => [ + 'type' => Segment::class, + 'options' => [ + 'route' => '/ajouter/:fiche-poste', + 'defaults' => [ + /** @see ExpertiseController::ajouterAction() */ + 'controller' => ExpertiseController::class, + 'action' => 'ajouter', + ], + ], + ], + 'modifier' => [ + 'type' => Segment::class, + 'may_terminate' => true, + 'options' => [ + 'route' => '/modifier/:expertise', + 'defaults' => [ + /** @see ExpertiseController::modifierAction() */ + 'controller' => ExpertiseController::class, + 'action' => 'modifier', + ], + ], + ], + 'historiser' => [ + 'type' => Segment::class, + 'may_terminate' => true, + 'options' => [ + 'route' => '/historiser/:expertise', + 'defaults' => [ + /** @see ExpertiseController::historiserAction() */ + 'controller' => ExpertiseController::class, + 'action' => 'historiser', + ], + ], + ], + 'restaurer' => [ + 'type' => Segment::class, + 'may_terminate' => true, + 'options' => [ + 'route' => '/restaurer/:expertise', + 'defaults' => [ + /** @see ExpertiseController::restaurerAction() */ + 'controller' => ExpertiseController::class, + 'action' => 'restaurer', + ], + ], + ], + 'supprimer' => [ + 'type' => Segment::class, + 'may_terminate' => true, + 'options' => [ + 'route' => '/supprimer/:expertise', + 'defaults' => [ + /** @see ExpertiseController::supprimerAction() */ + 'controller' => ExpertiseController::class, + 'action' => 'supprimer', + ], + ], + ], + ], + ], + ], + ], + ], + ], + + 'service_manager' => [ + 'factories' => [ + ExpertiseService::class => ExpertiseServiceFactory::class, + ], + ], + 'controllers' => [ + 'factories' => [ + ExpertiseController::class => ExpertiseControllerFactory::class, + ], + ], + 'form_elements' => [ + 'factories' => [ + ExpertiseForm::class => ExpertiseFormFactory::class, + ], + ], + 'hydrators' => [ + 'factories' => [ + ExpertiseHydrator::class => ExpertiseHydratorFactory::class, + ], + ] + +]; \ No newline at end of file diff --git a/module/Application/config/merged/fiche-poste.config.php b/module/FichePoste/config/merged/fiche-poste.config.php similarity index 83% rename from module/Application/config/merged/fiche-poste.config.php rename to module/FichePoste/config/merged/fiche-poste.config.php index fa2b872b8..55c43ef41 100644 --- a/module/Application/config/merged/fiche-poste.config.php +++ b/module/FichePoste/config/merged/fiche-poste.config.php @@ -2,30 +2,14 @@ namespace Application; -use Application\Assertion\FichePosteAssertion; -use Application\Assertion\FichePosteAssertionFactory; -use Application\Controller\FichePosteController; -use Application\Controller\FichePosteControllerFactory; use Application\Form\AjouterFicheMetier\AjouterFicheMetierForm; use Application\Form\AjouterFicheMetier\AjouterFicheMetierFormFactory; use Application\Form\AjouterFicheMetier\AjouterFicheMetierHydrator; use Application\Form\AjouterFicheMetier\AjouterFicheMetierHydratorFactory; -use Application\Form\AssocierPoste\AssocierPosteForm; -use Application\Form\AssocierPoste\AssocierPosteFormFactory; -use Application\Form\AssocierPoste\AssocierPosteHydrator; -use Application\Form\AssocierPoste\AssocierPosteHydratorFactory; use Application\Form\AssocierTitre\AssocierTitreForm; use Application\Form\AssocierTitre\AssocierTitreFormFactory; use Application\Form\AssocierTitre\AssocierTitreHydrator; use Application\Form\AssocierTitre\AssocierTitreHydratorFactory; -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; @@ -33,27 +17,29 @@ use Application\Form\Rifseep\RifseepHydratorFactory; use Application\Form\SpecificitePoste\SpecificitePosteForm; use Application\Form\SpecificitePoste\SpecificitePosteFormFactory; use Application\Form\SpecificitePoste\SpecificitePosteHydrator; -use Application\Provider\Privilege\FichePostePrivileges; use Application\Service\ActivitesDescriptionsRetirees\ActivitesDescriptionsRetireesService; use Application\Service\ActivitesDescriptionsRetirees\ActivitesDescriptionsRetireesServiceFactory; use Application\Service\ApplicationsRetirees\ApplicationsRetireesService; use Application\Service\ApplicationsRetirees\ApplicationsRetireesServiceFactory; use Application\Service\CompetencesRetirees\CompetencesRetireesService; use Application\Service\CompetencesRetirees\CompetencesRetireesServiceFactory; -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; use Application\View\Helper\FichesPostesAsArrayViewHelperFactory; -use UnicaenPrivilege\Guard\PrivilegeController; -use UnicaenPrivilege\Provider\Rule\PrivilegeRuleProvider; +use FichePoste\Assertion\FichePosteAssertion; +use FichePoste\Assertion\FichePosteAssertionFactory; +use FichePoste\Controller\FichePosteController; +use FichePoste\Controller\FichePosteControllerFactory; +use FichePoste\Provider\Privilege\FichePostePrivileges; +use FichePoste\Service\Expertise\ExpertiseService; +use FichePoste\Service\Expertise\ExpertiseServiceFactory; +use FichePoste\Service\FichePoste\FichePosteService; +use FichePoste\Service\FichePoste\FichePosteServiceFactory; use Laminas\Router\Http\Literal; use Laminas\Router\Http\Segment; +use UnicaenPrivilege\Guard\PrivilegeController; +use UnicaenPrivilege\Provider\Rule\PrivilegeRuleProvider; return [ 'bjyauthorize' => [ @@ -119,13 +105,6 @@ return [ 'privileges' => FichePostePrivileges::FICHEPOSTE_AJOUTER, 'assertion' => FichePosteAssertion::class, ], - [ - 'controller' => FichePosteController::class, - 'action' => [ - 'modifier-information-poste', - ], - 'privileges' => FichePostePrivileges::FICHEPOSTE_MODIFIER_POSTE, - ], [ 'controller' => FichePosteController::class, 'action' => [ @@ -146,11 +125,7 @@ return [ 'selectionner-formations-retirees', 'selectionner-descriptions-retirees', - 'ajouter-expertise', - 'modifier-expertise', - 'historiser-expertise', - 'restaurer-expertise', - 'supprimer-expertise', + ], 'privileges' => FichePostePrivileges::FICHEPOSTE_MODIFIER, 'assertion' => FichePosteAssertion::class, @@ -229,6 +204,18 @@ return [ ], ], 'child_routes' => [ + /** @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' => [ 'type' => Segment::class, 'may_terminate' => true, @@ -394,18 +381,7 @@ 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, @@ -527,61 +503,6 @@ return [ ], ], ], - 'ajouter-expertise' => [ - 'type' => Segment::class, - 'may_terminate' => true, - 'options' => [ - 'route' => '/ajouter-expertise/:fiche-poste', - 'defaults' => [ - 'controller' => FichePosteController::class, - 'action' => 'ajouter-expertise', - ], - ], - ], - 'modifier-expertise' => [ - 'type' => Segment::class, - 'may_terminate' => true, - 'options' => [ - 'route' => '/modifier-expertise/:expertise', - 'defaults' => [ - 'controller' => FichePosteController::class, - 'action' => 'modifier-expertise', - ], - ], - ], - 'historiser-expertise' => [ - 'type' => Segment::class, - 'may_terminate' => true, - 'options' => [ - 'route' => '/historiser-expertise/:expertise', - 'defaults' => [ - 'controller' => FichePosteController::class, - 'action' => 'historiser-expertise', - ], - ], - ], - 'restaurer-expertise' => [ - 'type' => Segment::class, - 'may_terminate' => true, - 'options' => [ - 'route' => '/restaurer-expertise/:expertise', - 'defaults' => [ - 'controller' => FichePosteController::class, - 'action' => 'restaurer-expertise', - ], - ], - ], - 'supprimer-expertise' => [ - 'type' => Segment::class, - 'may_terminate' => true, - 'options' => [ - 'route' => '/supprimer-expertise/:expertise', - 'defaults' => [ - 'controller' => FichePosteController::class, - 'action' => 'supprimer-expertise', - ], - ], - ], ], ], ], @@ -596,7 +517,6 @@ return [ CompetencesRetireesService::class => CompetencesRetireesServiceFactory::class, ExpertiseService::class => ExpertiseServiceFactory::class, FichePosteService::class => FichePosteServiceFactory::class, - PosteService::class => PosteServiceFactory::class, SpecificitePosteService::class => SpecificitePosteServiceFactory::class, ], ], @@ -608,10 +528,7 @@ return [ 'form_elements' => [ 'factories' => [ AjouterFicheMetierForm::class => AjouterFicheMetierFormFactory::class, - AssocierPosteForm::class => AssocierPosteFormFactory::class, AssocierTitreForm::class => AssocierTitreFormFactory::class, - ExpertiseForm::class => ExpertiseFormFactory::class, - PosteForm::class => PosteFormFactory::class, SpecificitePosteForm::class => SpecificitePosteFormFactory::class, RifseepForm::class => RifseepFormFactory::class, ], @@ -622,10 +539,7 @@ return [ ], 'factories' => [ AjouterFicheMetierHydrator::class => AjouterFicheMetierHydratorFactory::class, - AssocierPosteHydrator::class => AssocierPosteHydratorFactory::class, AssocierTitreHydrator::class => AssocierTitreHydratorFactory::class, - ExpertiseHydrator::class => ExpertiseHydratorFactory::class, - PosteHydrator::class => PosteHydratorFactory::class, RifseepHydrator::class => RifseepHydratorFactory::class, ], ], @@ -635,7 +549,6 @@ return [ ], 'factories' => [ 'fichesPostesAsArray' => FichesPostesAsArrayViewHelperFactory::class, - ] + ], ], - ]; \ No newline at end of file diff --git a/module/FichePoste/config/merged/poste.config.php b/module/FichePoste/config/merged/poste.config.php new file mode 100644 index 000000000..69ce81da9 --- /dev/null +++ b/module/FichePoste/config/merged/poste.config.php @@ -0,0 +1,79 @@ +<?php + +namespace FichePoste; + +use FichePoste\Controller\PosteController; +use FichePoste\Controller\PosteControllerFactory; +use FichePoste\Form\Poste\PosteForm; +use FichePoste\Form\Poste\PosteFormFactory; +use FichePoste\Form\Poste\PosteHydrator; +use FichePoste\Form\Poste\PosteHydratorFactory; +use FichePoste\Service\Poste\PosteService; +use FichePoste\Service\Poste\PosteServiceFactory; +use UnicaenPrivilege\Guard\PrivilegeController; +use Laminas\Router\Http\Literal; +use Laminas\Router\Http\Segment; + +return [ + 'bjyauthorize' => [ + 'guards' => [ + PrivilegeController::class => [ + [ + 'controller' => PosteController::class, + 'action' => [ + 'modifier-information-poste', + ], + 'privileges' => [], + ], + ], + ], + ], + + 'router' => [ + 'routes' => [ + 'fiche-poste' => [ + 'type' => Literal::class, + 'may_terminate' => true, + 'options' => [ + 'route' => '/fiche-poste', + ], + 'child_routes' => [ + /** @see PosteController::modifierInformationPosteAction() */ + 'modifier-information-poste' => [ + 'type' => Segment::class, + 'may_terminate' => true, + 'options' => [ + 'route' => '/modifier-information-poste/:fiche-poste', + 'defaults' => [ + 'controller' => PosteController::class, + 'action' => 'modifier-information-poste', + ], + ], + ], + ], + ], + ], + ], + + 'service_manager' => [ + 'factories' => [ + PosteService::class => PosteServiceFactory::class, + ], + ], + 'controllers' => [ + 'factories' => [ + PosteController::class => PosteControllerFactory::class, + ], + ], + 'form_elements' => [ + 'factories' => [ + PosteForm::class => PosteFormFactory::class, + ], + ], + 'hydrators' => [ + 'factories' => [ + PosteHydrator::class => PosteHydratorFactory::class, + ], + ] + +]; \ No newline at end of file diff --git a/module/FichePoste/config/module.config.php b/module/FichePoste/config/module.config.php new file mode 100755 index 000000000..b2c385d25 --- /dev/null +++ b/module/FichePoste/config/module.config.php @@ -0,0 +1,66 @@ +<?php + +namespace FichePoste; + +use Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain; +use Doctrine\ORM\Mapping\Driver\XmlDriver; +use UnicaenPrivilege\Guard\PrivilegeController; + +return [ + 'bjyauthorize' => [ + 'guards' => [ + PrivilegeController::class => [ + ], + ], + ], + + 'doctrine' => [ + 'driver' => [ + 'orm_default' => [ + 'class' => MappingDriverChain::class, + 'drivers' => [ + 'FichePoste\Entity\Db' => 'orm_default_xml_driver', + ], + ], + 'orm_default_xml_driver' => [ + 'class' => XmlDriver::class, + 'cache' => 'apc', + 'paths' => [ + __DIR__ . '/../src/FichePoste/Entity/Db/Mapping', + ], + ], + ], + 'cache' => [ + 'apc' => [ + 'namespace' => 'PREECOG__FichePoste__' . __NAMESPACE__, + ], + ], + ], + + 'service_manager' => [ + 'factories' => [ + ], + ], + 'controllers' => [ + 'factories' => [ + ] + ], + 'form_elements' => [ + 'factories' => [ + ], + ], + 'hydrators' => [ + 'factories' => [ + ], + ], + 'view_helpers' => [ + 'invokables' => [ + ], + ], + 'view_manager' => [ + 'template_path_stack' => [ + __DIR__ . '/../view', + ], + ], + +]; diff --git a/module/Application/src/Application/Assertion/FichePosteAssertion.php b/module/FichePoste/src/FichePoste/Assertion/FichePosteAssertion.php similarity index 97% rename from module/Application/src/Application/Assertion/FichePosteAssertion.php rename to module/FichePoste/src/FichePoste/Assertion/FichePosteAssertion.php index 0d2e4c7b1..60934abed 100644 --- a/module/Application/src/Application/Assertion/FichePosteAssertion.php +++ b/module/FichePoste/src/FichePoste/Assertion/FichePosteAssertion.php @@ -1,18 +1,18 @@ <?php -namespace Application\Assertion; +namespace FichePoste\Assertion; use Application\Entity\Db\Agent; -use Application\Entity\Db\FichePoste; use Application\Provider\Etat\FichePosteEtats; -use Application\Provider\Privilege\FichePostePrivileges; use Application\Provider\Role\RoleProvider as AppRoleProvider; use Application\Service\Agent\AgentServiceAwareTrait; -use Application\Service\FichePoste\FichePosteServiceAwareTrait; +use FichePoste\Entity\Db\FichePoste; +use FichePoste\Service\FichePoste\FichePosteServiceAwareTrait; +use FichePoste\Provider\Privilege\FichePostePrivileges; +use Laminas\Permissions\Acl\Resource\ResourceInterface; use Structure\Provider\Role\RoleProvider; use UnicaenPrivilege\Assertion\AbstractAssertion; use UnicaenUtilisateur\Service\User\UserServiceAwareTrait; -use Laminas\Permissions\Acl\Resource\ResourceInterface; class FichePosteAssertion extends AbstractAssertion { use AgentServiceAwareTrait; diff --git a/module/Application/src/Application/Assertion/FichePosteAssertionFactory.php b/module/FichePoste/src/FichePoste/Assertion/FichePosteAssertionFactory.php similarity index 75% rename from module/Application/src/Application/Assertion/FichePosteAssertionFactory.php rename to module/FichePoste/src/FichePoste/Assertion/FichePosteAssertionFactory.php index 9e6c02e73..3dd42079d 100644 --- a/module/Application/src/Application/Assertion/FichePosteAssertionFactory.php +++ b/module/FichePoste/src/FichePoste/Assertion/FichePosteAssertionFactory.php @@ -1,10 +1,12 @@ <?php -namespace Application\Assertion; +namespace FichePoste\Assertion; use Application\Service\Agent\AgentService; -use Application\Service\FichePoste\FichePosteService; +use FichePoste\Service\FichePoste\FichePosteService; use Interop\Container\ContainerInterface; +use Psr\Container\ContainerExceptionInterface; +use Psr\Container\NotFoundExceptionInterface; use Structure\Service\Structure\StructureService; use UnicaenUtilisateur\Service\User\UserService; @@ -13,8 +15,10 @@ class FichePosteAssertionFactory /** * @param ContainerInterface $container * @return FichePosteAssertion + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface */ - public function __invoke(ContainerInterface $container) + public function __invoke(ContainerInterface $container) : FichePosteAssertion { /** * @var AgentService $agentService diff --git a/module/FichePoste/src/FichePoste/Controller/ExpertiseController.php b/module/FichePoste/src/FichePoste/Controller/ExpertiseController.php new file mode 100644 index 000000000..f8ce415da --- /dev/null +++ b/module/FichePoste/src/FichePoste/Controller/ExpertiseController.php @@ -0,0 +1,119 @@ +<?php + +namespace FichePoste\Controller; + +use FichePoste\Entity\Db\Expertise; +use FichePoste\Form\Expertise\ExpertiseFormAwareTrait; +use FichePoste\Service\Expertise\ExpertiseServiceAwareTrait; +use FichePoste\Service\FichePoste\FichePosteServiceAwareTrait; +use Laminas\Http\Request; +use Laminas\Http\Response; +use Laminas\Mvc\Controller\AbstractActionController; +use Laminas\View\Model\ViewModel; + +class ExpertiseController extends AbstractActionController { + use ExpertiseServiceAwareTrait; + use FichePosteServiceAwareTrait; + use ExpertiseFormAwareTrait; + + + public function ajouterAction() : ViewModel + { + $ficheposte = $this->getFichePosteService()->getRequestedFichePoste($this); + $expertise = new Expertise(); + $expertise->setFicheposte($ficheposte); + + $form = $this->getExpertiseForm(); + $form->setAttribute('action', $this->url()->fromRoute('fiche-poste/expertise/ajouter', ['fiche-poste' => $ficheposte->getId()], [], true)); + $form->bind($expertise); + + /** @var Request $request */ + $request = $this->getRequest(); + if ($request->isPost()) { + $data = $request->getPost(); + $form->setData($data); + if ($form->isValid()) { + $this->getExpertiseService()->create($expertise); + } + } + + $vm = new ViewModel(); + $vm->setTemplate('default/default-form'); + $vm->setVariables([ + 'title' => "Ajout d'une expertise", + 'form' => $form, + ]); + return $vm; + } + + public function modifierAction() : ViewModel + { + $expertise = $this->getExpertiseService()->getRequestedExpertise($this); + + $form = $this->getExpertiseForm(); + $form->setAttribute('action', $this->url()->fromRoute('fiche-poste/expertise/modifier', ['expertise' => $expertise->getId()], [], true)); + $form->bind($expertise); + + /** @var Request $request */ + $request = $this->getRequest(); + if ($request->isPost()) { + $data = $request->getPost(); + $form->setData($data); + if ($form->isValid()) { + $this->getExpertiseService()->update($expertise); + } + } + + $vm = new ViewModel(); + $vm->setTemplate('default/default-form'); + $vm->setVariables([ + 'title' => "Modification d'une expertise", + 'form' => $form, + ]); + return $vm; + } + + public function historiserAction() : Response + { + $expertise = $this->getExpertiseService()->getRequestedExpertise($this); + $this->getExpertiseService()->historise($expertise); + + $retour = $this->params()->fromRoute('retour'); + if ($retour) return $this->redirect()->toUrl($retour); + return $this->redirect()->toRoute('fiche-poste/editer', ['fiche-poste' => $expertise->getFicheposte()->getId()], [], true); + } + + public function restaurerAction() : Response + { + $expertise = $this->getExpertiseService()->getRequestedExpertise($this); + $this->getExpertiseService()->restore($expertise); + + $retour = $this->params()->fromRoute('retour'); + if ($retour) return $this->redirect()->toUrl($retour); + return $this->redirect()->toRoute('fiche-poste/editer', ['fiche-poste' => $expertise->getFicheposte()->getId()], [], true); + } + + public function supprimerAction() : ViewModel + { + $expertise = $this->getExpertiseService()->getRequestedExpertise($this); + + /** @var Request $request */ + $request = $this->getRequest(); + if ($request->isPost()) { + $data = $request->getPost(); + if ($data["reponse"] === "oui") $this->getExpertiseService()->delete($expertise); + exit(); + } + + $vm = new ViewModel(); + if ($expertise !== null) { + $vm->setTemplate('default/confirmation'); + $vm->setVariables([ + 'title' => "Suppression de l'expertise " . $expertise->getLibelle(), + 'text' => "La suppression est définitive êtes-vous sûr·e de vouloir continuer ?", + 'action' => $this->url()->fromRoute('fiche-poste/expertise/supprimer', ["expertise" => $expertise->getId()], [], true), + ]); + } + return $vm; + } +} \ No newline at end of file diff --git a/module/FichePoste/src/FichePoste/Controller/ExpertiseControllerFactory.php b/module/FichePoste/src/FichePoste/Controller/ExpertiseControllerFactory.php new file mode 100644 index 000000000..dd313c3eb --- /dev/null +++ b/module/FichePoste/src/FichePoste/Controller/ExpertiseControllerFactory.php @@ -0,0 +1,37 @@ +<?php + +namespace FichePoste\Controller; + +use FichePoste\Form\Expertise\ExpertiseForm; +use FichePoste\Service\Expertise\ExpertiseService; +use FichePoste\Service\FichePoste\FichePosteService; +use Psr\Container\ContainerExceptionInterface; +use Psr\Container\ContainerInterface; +use Psr\Container\NotFoundExceptionInterface; + +class ExpertiseControllerFactory { + + /** + * @param ContainerInterface $container + * @return ExpertiseController + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface + */ + public function __invoke(ContainerInterface $container) : ExpertiseController + { + /** + * @var ExpertiseService $expertiseService + * @var FichePosteService $fichePosteService + * @var ExpertiseForm $expertiseForm + */ + $expertiseService = $container->get(ExpertiseService::class); + $fichePosteService = $container->get(FichePosteService::class); + $expertiseForm = $container->get('FormElementManager')->get(ExpertiseService::class); + + $controller = new ExpertiseController(); + $controller->setExpertiseService($expertiseService); + $controller->setFichePosteService($fichePosteService); + $controller->setExpertiseForm($expertiseForm); + return $controller; + } +} \ No newline at end of file diff --git a/module/Application/src/Application/Controller/FichePosteController.php b/module/FichePoste/src/FichePoste/Controller/FichePosteController.php similarity index 87% rename from module/Application/src/Application/Controller/FichePosteController.php rename to module/FichePoste/src/FichePoste/Controller/FichePosteController.php index 29d395126..7df08ed3b 100644 --- a/module/Application/src/Application/Controller/FichePosteController.php +++ b/module/FichePoste/src/FichePoste/Controller/FichePosteController.php @@ -1,21 +1,17 @@ <?php -namespace Application\Controller; +namespace FichePoste\Controller; +use Application\Controller\FichePoste; use Application\Entity\Db\ActiviteDescription; use Application\Entity\Db\Agent; -use Application\Entity\Db\Expertise; 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; @@ -27,14 +23,19 @@ use Application\Service\ActivitesDescriptionsRetirees\ActivitesDescriptionsRetir use Application\Service\Agent\AgentServiceAwareTrait; use Application\Service\ApplicationsRetirees\ApplicationsRetireesServiceAwareTrait; use Application\Service\CompetencesRetirees\CompetencesRetireesServiceAwareTrait; -use Application\Service\Expertise\ExpertiseServiceAwareTrait; 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 FichePoste\Form\Expertise\ExpertiseFormAwareTrait; +use FichePoste\Service\Expertise\ExpertiseServiceAwareTrait; +use FichePoste\Service\FichePoste\FichePosteServiceAwareTrait; +use Laminas\Http\Request; +use Laminas\Http\Response; +use Laminas\Mvc\Controller\AbstractActionController; +use Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger; +use Laminas\View\Model\ViewModel; use Mpdf\MpdfException; use Structure\Service\Structure\StructureServiceAwareTrait; use UnicaenApp\Exception\RuntimeException; @@ -43,11 +44,6 @@ use UnicaenEtat\Service\Etat\EtatServiceAwareTrait; use UnicaenPdf\Exporter\PdfExporter; use UnicaenRenderer\Service\Rendu\RenduServiceAwareTrait; use UnicaenValidation\Service\ValidationInstance\ValidationInstanceServiceAwareTrait; -use Laminas\Http\Request; -use Laminas\Http\Response; -use Laminas\Mvc\Controller\AbstractActionController; -use Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger; -use Laminas\View\Model\ViewModel; /** @method FlashMessenger flashMessenger() */ @@ -66,7 +62,6 @@ class FichePosteController extends AbstractActionController { use FichePosteServiceAwareTrait; use NotificationServiceAwareTrait; use ParcoursDeFormationServiceAwareTrait; - use PosteServiceAwareTrait; use RenduServiceAwareTrait; use StructureServiceAwareTrait; use SpecificitePosteServiceAwareTrait; @@ -76,7 +71,6 @@ class FichePosteController extends AbstractActionController { use AjouterFicheMetierFormAwareTrait; use AssocierTitreFormAwareTrait; use ExpertiseFormAwareTrait; - use PosteFormAwareTrait; use RifseepFormAwareTrait; use SelectionEtatFormAwareTrait; use SpecificitePosteFormAwareTrait; @@ -304,10 +298,12 @@ class FichePosteController extends AbstractActionController { $ficheposte->addDictionnaire('formations', $this->getFichePosteService()->getFormationsDictionnaires($ficheposte)); $ficheposte->addDictionnaire('parcours', $this->getParcoursDeFormationService()->generateParcoursArrayFromFichePoste($ficheposte)); + $structure = null; + if ($agent AND $agent->getAffectationPrincipale()) $structure = $agent->getAffectationPrincipale()->getStructure(); $vars = [ 'ficheposte' => $ficheposte, 'agent' => $agent, - 'structure' => ($agent)?$agent->getAffectationPrincipale()->getStructure():null, + 'structure' => $structure, ]; $rendu = $this->getRenduService()->generateRenduByTemplateCode(PdfTemplate::FICHE_POSTE, $vars); @@ -323,42 +319,6 @@ 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 ***************************************************************************/ @@ -745,102 +705,7 @@ class FichePosteController extends AbstractActionController { ]); } - /** EXPERTISE *****************************************************************************************************/ - - public function ajouterExpertiseAction() : ViewModel - { - $ficheposte = $this->getFichePosteService()->getRequestedFichePoste($this); - $expertise = new Expertise(); - $expertise->setFicheposte($ficheposte); - - $form = $this->getExpertiseForm(); - $form->setAttribute('action', $this->url()->fromRoute('fiche-poste/ajouter-expertise', ['fiche-poste' => $ficheposte->getId()], [], true)); - $form->bind($expertise); - - /** @var Request $request */ - $request = $this->getRequest(); - if ($request->isPost()) { - $data = $request->getPost(); - $form->setData($data); - if ($form->isValid()) { - $this->getExpertiseService()->create($expertise); - } - } - $vm = new ViewModel(); - $vm->setTemplate('application/default/default-form'); - $vm->setVariables([ - 'title' => "Ajout d'une expertise", - 'form' => $form, - ]); - return $vm; - } - - public function modifierExpertiseAction() : ViewModel - { - $expertise = $this->getExpertiseService()->getRequestedExpertise($this); - - $form = $this->getExpertiseForm(); - $form->setAttribute('action', $this->url()->fromRoute('fiche-poste/modifier-expertise', ['expertise' => $expertise->getId()], [], true)); - $form->bind($expertise); - - /** @var Request $request */ - $request = $this->getRequest(); - if ($request->isPost()) { - $data = $request->getPost(); - $form->setData($data); - if ($form->isValid()) { - $this->getExpertiseService()->update($expertise); - } - } - - $vm = new ViewModel(); - $vm->setTemplate('application/default/default-form'); - $vm->setVariables([ - 'title' => "Modification d'une expertise", - 'form' => $form, - ]); - return $vm; - } - - public function historiserExpertiseAction() : Response - { - $expertise = $this->getExpertiseService()->getRequestedExpertise($this); - $this->getExpertiseService()->historise($expertise); - return $this->redirect()->toRoute('fiche-poste/editer', ['fiche-poste' => $expertise->getFicheposte()->getId()], [], true); - } - - public function restaurerExpertiseAction() : Response - { - $expertise = $this->getExpertiseService()->getRequestedExpertise($this); - $this->getExpertiseService()->restore($expertise); - return $this->redirect()->toRoute('fiche-poste/editer', ['fiche-poste' => $expertise->getFicheposte()->getId()], [], true); - } - - public function supprimerExpertiseAction() : ViewModel - { - $expertise = $this->getExpertiseService()->getRequestedExpertise($this); - - /** @var Request $request */ - $request = $this->getRequest(); - if ($request->isPost()) { - $data = $request->getPost(); - if ($data["reponse"] === "oui") $this->getExpertiseService()->delete($expertise); - //return $this->redirect()->toRoute('role', [], [], true); - exit(); - } - - $vm = new ViewModel(); - if ($expertise !== null) { - $vm->setTemplate('application/default/confirmation'); - $vm->setVariables([ - 'title' => "Suppression de l'expertise " . $expertise->getLibelle(), - 'text' => "La suppression est définitive êtes-vous sûr·e de vouloir continuer ?", - 'action' => $this->url()->fromRoute('fiche-poste/supprimer-expertise', ["expertise" => $expertise->getId()], [], true), - ]); - } - return $vm; - } /** RIFSEEP ET NBI ***********************************************************************************************/ diff --git a/module/Application/src/Application/Controller/FichePosteControllerFactory.php b/module/FichePoste/src/FichePoste/Controller/FichePosteControllerFactory.php similarity index 91% rename from module/Application/src/Application/Controller/FichePosteControllerFactory.php rename to module/FichePoste/src/FichePoste/Controller/FichePosteControllerFactory.php index 50fe96310..56a5e35b7 100644 --- a/module/Application/src/Application/Controller/FichePosteControllerFactory.php +++ b/module/FichePoste/src/FichePoste/Controller/FichePosteControllerFactory.php @@ -1,11 +1,9 @@ <?php -namespace Application\Controller; +namespace FichePoste\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; @@ -13,13 +11,13 @@ use Application\Service\ActivitesDescriptionsRetirees\ActivitesDescriptionsRetir use Application\Service\Agent\AgentService; use Application\Service\ApplicationsRetirees\ApplicationsRetireesService; use Application\Service\CompetencesRetirees\CompetencesRetireesService; -use Application\Service\Expertise\ExpertiseService; 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 FichePoste\Form\Expertise\ExpertiseForm; +use FichePoste\Service\Expertise\ExpertiseService; +use FichePoste\Service\FichePoste\FichePosteService; use Interop\Container\ContainerInterface; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; @@ -52,7 +50,6 @@ class FichePosteControllerFactory { * @var ExpertiseService $expertiseService * @var NotificationService $notificationService * @var ParcoursDeFormationService $parcoursService - * @var PosteService $posteService * @var SpecificitePosteService $specificitePosteService * @var ValidationInstanceService $validationInstanceService */ @@ -68,7 +65,6 @@ 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); @@ -77,7 +73,6 @@ class FichePosteControllerFactory { * @var AjouterFicheMetierForm $ajouterFicheMetierForm * @var AssocierTitreForm $associerTitreForm * @var ExpertiseForm $expertiseForm - * @var PosteForm $posteForm * @var RifseepForm $rifseepForm * @var SelectionEtatForm $selectionEtatForm * @var SpecificitePosteForm $specificiftePosteForm @@ -85,7 +80,6 @@ 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); @@ -107,7 +101,6 @@ class FichePosteControllerFactory { $controller->setEtatService($etatService); $controller->setExpertiseService($expertiseService); $controller->setNotificationService($notificationService); - $controller->setPosteService($posteService); $controller->setSpecificitePosteService($specificitePosteService); $controller->setParcoursDeFormationService($parcoursService); $controller->setValidationInstanceService($validationInstanceService); @@ -115,7 +108,6 @@ class FichePosteControllerFactory { $controller->setAjouterFicheTypeForm($ajouterFicheMetierForm); $controller->setAssocierTitreForm($associerTitreForm); $controller->setExpertiseForm($expertiseForm); - $controller->setPosteForm($posteForm); $controller->setRifseepForm($rifseepForm); $controller->setSelectionEtatForm($selectionEtatForm); $controller->setSpecificitePosteForm($specificiftePosteForm); diff --git a/module/FichePoste/src/FichePoste/Controller/PosteController.php b/module/FichePoste/src/FichePoste/Controller/PosteController.php new file mode 100644 index 000000000..254c1363c --- /dev/null +++ b/module/FichePoste/src/FichePoste/Controller/PosteController.php @@ -0,0 +1,53 @@ +<?php + +namespace FichePoste\Controller; + +use FichePoste\Entity\Db\Poste; +use FichePoste\Form\Poste\PosteFormAwareTrait; +use FichePoste\Service\FichePoste\FichePosteServiceAwareTrait; +use FichePoste\Service\Poste\PosteServiceAwareTrait; +use Laminas\Mvc\Controller\AbstractActionController; +use Laminas\View\Model\ViewModel; + +class PosteController extends AbstractActionController { + use FichePosteServiceAwareTrait; + use PosteServiceAwareTrait; + use PosteFormAwareTrait; + + /** 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; + } +} \ No newline at end of file diff --git a/module/FichePoste/src/FichePoste/Controller/PosteControllerFactory.php b/module/FichePoste/src/FichePoste/Controller/PosteControllerFactory.php new file mode 100644 index 000000000..759241ab6 --- /dev/null +++ b/module/FichePoste/src/FichePoste/Controller/PosteControllerFactory.php @@ -0,0 +1,38 @@ +<?php + +namespace FichePoste\Controller; + +use FichePoste\Form\Poste\PosteForm; +use FichePoste\Service\FichePoste\FichePosteService; +use FichePoste\Service\Poste\PosteService; +use Psr\Container\ContainerExceptionInterface; +use Psr\Container\ContainerInterface; +use Psr\Container\NotFoundExceptionInterface; + +class PosteControllerFactory { + + /** + * @param ContainerInterface $container + * @return PosteController + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface + */ + public function __invoke(ContainerInterface $container) : PosteController + { + /** + * @var FichePosteService $fichePosteService + * @var PosteService $posteService + * @var PosteForm $posteForm + */ + $fichePosteService = $container->get(FichePosteService::class); + $posteService = $container->get(PosteService::class); + $posteForm = $container->get('FormElementManager')->get(PosteForm::class); + + $controller = new PosteController(); + $controller->setFichePosteService($fichePosteService); + $controller->setPosteService($posteService); + $controller->setPosteForm($posteForm); + + return $controller; + } +} \ No newline at end of file diff --git a/module/FichePoste/src/FichePoste/Entity/Db/Expertise.php b/module/FichePoste/src/FichePoste/Entity/Db/Expertise.php new file mode 100644 index 000000000..c7500918c --- /dev/null +++ b/module/FichePoste/src/FichePoste/Entity/Db/Expertise.php @@ -0,0 +1,51 @@ +<?php + +namespace FichePoste\Entity\Db; + + +use UnicaenUtilisateur\Entity\Db\HistoriqueAwareInterface; +use UnicaenUtilisateur\Entity\Db\HistoriqueAwareTrait; + +class Expertise implements HistoriqueAwareInterface { + use HistoriqueAwareTrait; + + private ?int $id = null; + private ?FichePoste $ficheposte = null; + private ?string $libelle = null; + private ?string $description = null; + + public function getId() : ?int + { + return $this->id; + } + + public function getFicheposte() : ?FichePoste + { + return $this->ficheposte; + } + + public function setFicheposte(FichePoste $ficheposte) : void + { + $this->ficheposte = $ficheposte; + } + + public function getLibelle() : ?string + { + return $this->libelle; + } + + public function setLibelle(?string $libelle) : void + { + $this->libelle = $libelle; + } + + public function getDescription() : ?string + { + return $this->description; + } + + public function setDescription(?string $description) : void + { + $this->description = $description; + } +} diff --git a/module/Application/src/Application/Entity/Db/FichePoste.php b/module/FichePoste/src/FichePoste/Entity/Db/FichePoste.php similarity index 55% rename from module/Application/src/Application/Entity/Db/FichePoste.php rename to module/FichePoste/src/FichePoste/Entity/Db/FichePoste.php index 708a4c847..25f567e87 100644 --- a/module/Application/src/Application/Entity/Db/FichePoste.php +++ b/module/FichePoste/src/FichePoste/Entity/Db/FichePoste.php @@ -1,18 +1,29 @@ <?php -namespace Application\Entity\Db; - +namespace FichePoste\Entity\Db; + +use Application\Entity\Db\Activite; +use Application\Entity\Db\ActiviteDescription; +use Application\Entity\Db\Agent; +use Application\Entity\Db\FicheMetier; +use Application\Entity\Db\FicheMetierActivite; +use Application\Entity\Db\FicheposteActiviteDescriptionRetiree; +use Application\Entity\Db\FicheposteApplicationRetiree; +use Application\Entity\Db\FicheposteCompetenceRetiree; +use Application\Entity\Db\FicheTypeExterne; use Application\Entity\Db\MacroContent\FichePosteMacroTrait; +use Application\Entity\Db\SpecificitePoste; use Application\Entity\HasAgentInterface; use DateTime; use Doctrine\Common\Collections\ArrayCollection; -use UnicaenUtilisateur\Entity\Db\HistoriqueAwareInterface; -use UnicaenUtilisateur\Entity\Db\HistoriqueAwareTrait; +use Doctrine\Common\Collections\Collection; +use Laminas\Permissions\Acl\Resource\ResourceInterface; use UnicaenApp\Exception\RuntimeException; use UnicaenEtat\Entity\Db\HasEtatInterface; use UnicaenEtat\Entity\Db\HasEtatTrait; +use UnicaenUtilisateur\Entity\Db\HistoriqueAwareInterface; +use UnicaenUtilisateur\Entity\Db\HistoriqueAwareTrait; use UnicaenValidation\Entity\HasValidationsTrait; -use Laminas\Permissions\Acl\Resource\ResourceInterface; class FichePoste implements ResourceInterface, HistoriqueAwareInterface, HasAgentInterface, HasEtatInterface { use FichePosteMacroTrait; @@ -24,113 +35,92 @@ class FichePoste implements ResourceInterface, HistoriqueAwareInterface, HasAgen const TYPE_INCLUSIF = 'INCLUSIF'; const TYPE_GENRE = 'GENRE'; - public function getResourceId() + public function getResourceId() : string { return 'FichePoste'; } - /** @var int */ - private $id; - /** @var string */ - private $libelle; - /** @var Agent */ - private $agent; - - /** @var SpecificitePoste */ - private $specificite; - /** @var ArrayCollection (Expertise) */ - private $expertises; - - /** @var int */ - private $rifseep; - /** @var int */ - private $nbi; - - /** @var DateTime|null */ - private $finValidite; - - /** @var ArrayCollection (FicheTypeExterne)*/ - private $fichesMetiers; - /** @var ArrayCollection (FicheposteActiviteDescriptionRetiree) */ - private $descriptionsRetirees; - /** @var ArrayCollection (FicheposteApplicationRetiree) */ - private $applicationsRetirees; - /** @var ArrayCollection (FicheposteCompetenceRetiree) */ - private $competencesRetirees; - - /** @var array */ - private $dictionnaires; + private ?int $id = null; + private ?string $libelle = null; + private ?Agent $agent = null; + private ?SpecificitePoste $specificite = null; + private ?DateTime $finValidite = null; private ?Poste $poste = null; + private Collection $expertises; + private ?int $rifseep = null; + private ?int $nbi = null; + private Collection $fichesMetiers; + private Collection $descriptionsRetirees; + private Collection $applicationsRetirees; + private Collection $competencesRetirees; + private array $dictionnaires = []; public function __invoke() { + $this->expertises = new ArrayCollection(); $this->fichesMetiers = new ArrayCollection(); $this->descriptionsRetirees = new ArrayCollection(); $this->applicationsRetirees = new ArrayCollection(); $this->competencesRetirees = new ArrayCollection(); } + /** DESCRIPTION FICHE *************************************************************************************/ + public function getId() : int { return $this->id; } - /** - * @return string|null - */ public function getLibelle() : ?string { return $this->libelle; } - /** - * @param string|null $libelle - * @return FichePoste - */ - public function setLibelle(?string $libelle) : FichePoste + public function setLibelle(?string $libelle) : void { $this->libelle = $libelle; - return $this; } - /** - * @return Agent|null - */ public function getAgent() : ?Agent { return $this->agent; } - /** - * @param Agent|null $agent - * @return FichePoste - */ - public function setAgent(?Agent $agent) : FichePoste + public function setAgent(?Agent $agent) : void { $this->agent = $agent; - return $this; } - /** - * @return SpecificitePoste|null - */ public function getSpecificite() : ?SpecificitePoste { return $this->specificite; } - /** - * @param SpecificitePoste|null $specificite - * @return FichePoste - */ - public function setSpecificite(?SpecificitePoste $specificite) : FichePoste + public function setSpecificite(?SpecificitePoste $specificite) : void { $this->specificite = $specificite; - return $this; } + public function getFinValidite(): ?DateTime + { + return $this->finValidite; + } + + public function setFinValidite(?DateTime $finValidite): void + { + $this->finValidite = $finValidite; + } + + public function isEnCours(?DateTime $date = null) : bool + { + if ($date === null) $date = new DateTime(); + return ($this->finValidite === null OR $date < $this->getFinValidite()); + } + + /** POSTE *************************************************************************************************/ + public function getPoste() : ?Poste { return $this->poste; @@ -141,102 +131,77 @@ class FichePoste implements ResourceInterface, HistoriqueAwareInterface, HasAgen $this->poste = $poste; } - /** - * @return int - */ - public function getRifseep(): ?int + /** @return Expertise[] */ + public function getExpertises() : array { - return $this->rifseep; + return $this->expertises->toArray(); } - /** - * @param int|null $rifseep - * @return FichePoste - */ - public function setRifseep(?int $rifseep): FichePoste + public function getCurrentExpertises(?DateTime $date = null) : array { - $this->rifseep = $rifseep; - return $this; + if ($date === null) $date = (new DateTime()); + + $expertises = []; + foreach ($this->expertises as $expertise) { + if ($expertise->estNonHistorise($date)) { + $expertises[] = $expertise; + } + } + return $expertises; } - /** - * @return int - */ - public function getNbi(): ?int + public function hasExpertise() : bool { - return $this->nbi; + foreach ($this->fichesMetiers as $fichesMetier) { + if ($fichesMetier->getFicheType()->hasExpertise()) return true; + } + return false; } - /** - * @param int|null $nbi - * @return FichePoste - */ - public function setNbi(?int $nbi): FichePoste + public function getRifseep(): ?int { - $this->nbi = $nbi; - return $this; + return $this->rifseep; } - /** - * @return DateTime|null - */ - public function getFinValidite(): ?DateTime + public function setRifseep(?int $rifseep): void { - return $this->finValidite; + $this->rifseep = $rifseep; } - /** - * @param DateTime|null $finValidite - * @return FichePoste - */ - public function setFinValidite(?DateTime $finValidite): FichePoste + public function getNbi(): ?int { - $this->finValidite = $finValidite; - return $this; + return $this->nbi; } - /** - * @param DateTime|null $date - * @return bool - */ - public function isEnCours(?DateTime $date = null) : bool + public function setNbi(?int $nbi): void { - if ($date === null) $date = new DateTime(); - return ($this->finValidite === null OR $date < $this->getFinValidite()); + $this->nbi = $nbi; } + /** COMPOSITION ********************************************************************************************/ + + // FICHES METIERS -------------------------------------------------------- + /** * @return FicheTypeExterne[] */ - public function getFichesMetiers() + public function getFichesMetiers() : array { return $this->fichesMetiers->toArray(); } - /** - * @var FicheTypeExterne $type - * @return FichePoste - */ - public function addFicheTypeExterne($type) + public function addFicheTypeExterne(FicheTypeExterne $type) : void { $this->fichesMetiers->add($type); - return $this; } - /** - * @var FicheTypeExterne $type - * @return FichePoste - */ - public function removeFicheTypeExterne($type) + public function removeFicheTypeExterne(FicheTypeExterne $type) : void { $this->fichesMetiers->removeElement($type); - return $this; } - /** - * @return FicheTypeExterne - */ - public function getFicheTypeExternePrincipale() { + public function getFicheTypeExternePrincipale() : ?FicheTypeExterne + { $res = []; /** @var FicheTypeExterne $ficheMetier */ foreach ($this->fichesMetiers as $ficheMetier) { @@ -253,7 +218,7 @@ class FichePoste implements ResourceInterface, HistoriqueAwareInterface, HasAgen return null; } - public function getQuotiteTravaillee() + public function getQuotiteTravaillee() : int { $somme = 0; /** @var FicheTypeExterne $ficheMetier */ @@ -263,21 +228,18 @@ class FichePoste implements ResourceInterface, HistoriqueAwareInterface, HasAgen return $somme; } - /** Descriptions Retirées ******************************************************************************************/ + // DESCRIPTIONS RETIREES --------------------------------------------- - /** @return ArrayCollection */ - public function getDescriptionsRetirees() { - return $this->descriptionsRetirees; + /** @return FicheposteActiviteDescriptionRetiree[] */ + public function getDescriptionsRetirees() : array + { + return $this->descriptionsRetirees->toArray(); } - /** - * @param FicheMetier $fichemetier - * @param Activite $activite - * @return array - */ - public function getDescriptionsRetireesByFicheMetierAndActivite(FicheMetier $fichemetier, Activite $activite) : array{ + /** @return FicheposteActiviteDescriptionRetiree[] */ + public function getDescriptionsRetireesByFicheMetierAndActivite(FicheMetier $fichemetier, Activite $activite) : array + { $result = []; - /** @var FicheposteActiviteDescriptionRetiree $descriptionsRetiree */ foreach ($this->getDescriptionsRetirees() as $descriptionsRetiree) { if ($descriptionsRetiree->getFicheMetier() === $fichemetier AND $descriptionsRetiree->getActivite() === $activite) { $result[] = $descriptionsRetiree; @@ -286,111 +248,80 @@ class FichePoste implements ResourceInterface, HistoriqueAwareInterface, HasAgen return $result; } - /** @param FicheposteActiviteDescriptionRetiree $description */ - public function addDescriptionRetiree(FicheposteActiviteDescriptionRetiree $description) { + public function addDescriptionRetiree(FicheposteActiviteDescriptionRetiree $description) : void + { $this->descriptionsRetirees->add($description); } - /** @param FicheposteActiviteDescriptionRetiree $description */ - public function removeDescriptionRetiree(FicheposteActiviteDescriptionRetiree $description) { + public function removeDescriptionRetiree(FicheposteActiviteDescriptionRetiree $description) : void + { $this->descriptionsRetirees->removeElement($description); } - public function clearDescriptionsRetirees() { + public function clearDescriptionsRetirees() : void + { $this->descriptionsRetirees->clear(); } - /** Competences Retirées ******************************************************************************************/ + // COMPETENCES RETIREES -------------------------------------------------- - /** @return ArrayCollection */ - public function getCompetencesRetirees() { - return $this->competencesRetirees; + /** @return FicheposteCompetenceRetiree[] */ + public function getCompetencesRetirees() : array + { + return $this->competencesRetirees->toArray(); } - /** @param FicheposteCompetenceRetiree $competence */ - public function addCompetenceRetiree(FicheposteCompetenceRetiree $competence) { + public function addCompetenceRetiree(FicheposteCompetenceRetiree $competence) : void + { $this->competencesRetirees->add($competence); } - /** @param FicheposteCompetenceRetiree $competence */ - public function removeCompetenceRetiree(FicheposteCompetenceRetiree $competence) { + public function removeCompetenceRetiree(FicheposteCompetenceRetiree $competence) : void + { $this->competencesRetirees->removeElement($competence); } - public function clearCompetencesRetirees() { + public function clearCompetencesRetirees() : void + { $this->competencesRetirees->clear(); } - /** Applications Retirées *****************************************************************************************/ + // APPLICATIONS RETIREES -------------------------------------------------- - /** @return ArrayCollection */ - public function getApplicationsRetirees() { - return $this->applicationsRetirees; + /** @return FicheposteApplicationRetiree[] */ + public function getApplicationsRetirees() : array + { + return $this->applicationsRetirees->toArray(); } - /** @param FicheposteApplicationRetiree $application */ - public function addApplicationRetiree(FicheposteApplicationRetiree $application) { + public function addApplicationRetiree(FicheposteApplicationRetiree $application) : void + { $this->applicationsRetirees->add($application); } - /** @param FicheposteApplicationRetiree $application */ - public function removeApplicationRetiree(FicheposteApplicationRetiree $application) { - $this->applicationsRetirees->removeElement($application); - } - - public function clearApplicationsRetirees() { - $this->applicationsRetirees->clear(); - } - - /** EXPERTISE *****************************************************************************************************/ - - /** - * @return ArrayCollection - */ - public function getExpertises() + public function removeApplicationRetiree(FicheposteApplicationRetiree $application) : void { - return $this->expertises; + $this->applicationsRetirees->removeElement($application); } - /** - * @param DateTime $date - * @return Expertise[] - */ - public function getCurrentExpertises($date = null) + public function clearApplicationsRetirees() : void { - if ($date === null) $date = (new DateTime()); - - $expertises = []; - /** @var Expertise $expertise */ - foreach ($this->expertises as $expertise) { - if ($expertise->estNonHistorise($date)) { - $expertises[] = $expertise; - } - } - return $expertises; + $this->applicationsRetirees->clear(); } - /** Fonctions pour simplifier */ + /** Fonctions pour simplifier *************************************************/ - /** - * @param FicheMetierActivite $activite - * @param DateTime $date - * @return ActiviteDescription[] - */ + /** @return ActiviteDescription[] */ public function getDescriptions(FicheMetierActivite $activite, DateTime $date) : array { $dictionnaire = $activite->getActivite()->getDescriptions($date); return $dictionnaire; } - /** - * @param FicheMetierActivite $FTActivite - * @param DateTime $date - * @return ActiviteDescription[] - */ + /** @return ActiviteDescription[] */ public function getDescriptionsConservees(FicheMetierActivite $FTActivite, DateTime $date) : array { - /** @var ActiviteDescription[] $descriptions */ + /** @var ActiviteDescription $descriptions */ $descriptions = $FTActivite->getActivite()->getDescriptions($date); $dictionnaire = []; foreach ($descriptions as $description) { @@ -423,13 +354,7 @@ class FichePoste implements ResourceInterface, HistoriqueAwareInterface, HasAgen return true; } - public function hasExpertise() { - /** @var FicheTypeExterne $fichesMetier */ - foreach ($this->fichesMetiers as $fichesMetier) { - if ($fichesMetier->getFicheType()->hasExpertise()) return true; - } - return false; - } + /** Fonction pour les affichages dans les documents ***************************************************************/ @@ -443,62 +368,27 @@ class FichePoste implements ResourceInterface, HistoriqueAwareInterface, HasAgen return $this->dictionnaires[$clef]; } - /** - * @param string $type - * @return string|null - */ - public function getLibelleMetierPrincipal($type = FichePoste::TYPE_INCLUSIF) : ?string + public function getLibelleMetierPrincipal(string $type = FichePoste::TYPE_INCLUSIF) : ?string { if ($this->getFicheTypeExternePrincipale() === null) return null; $metier = $this->getFicheTypeExternePrincipale()->getFicheType()->getMetier(); switch ($type) { - case FichePoste::TYPE_INCLUSIF : return $metier->getLibelle(true); + case FichePoste::TYPE_INCLUSIF : return $metier->getLibelle(); case FichePoste::TYPE_GENRE : - if ($this->agent === null) return $metier->getLibelle(true); + if ($this->agent === null) return $metier->getLibelle(); if ($this->agent->isHomme() AND $metier->getLibelleMasculin()) return $metier->getLibelleMasculin(); if ($this->agent->isFemme() AND $metier->getLibelleFeminin()) return $metier->getLibelleFeminin(); - return $metier->getLibelle(true); + return $metier->getLibelle(); case FichePoste::TYPE_DEFAULT : return $metier->getLibelle(false); } return $metier->getLibelle(); } - /** - * @return string - */ public function generateTag() : string { return 'FICHEPOSTE_' . $this->getId(); } - /** INTERFACE POUR LES COLLECTIONS DE COMPETENCES */ -// public function getCompetenceCollection() { -// $collection = new ArrayCollection(); -// /** @var FicheTypeExterne $ficheType */ -// foreach ($this->fichesMetiers as $ficheType) { -// $ficheMetier = $ficheType->getFicheType(); -// foreach ($ficheMetier->getCompetenceCollection() as $competence) $collection->add($competence); -// } -// return $collection; -// } -// -// public function getCompetenceListe(bool $avecHisto = false) -// { -// $dictionnaire = []; -// foreach ($this->getCompetenceCollection() as $competenceElement) { -// $element = []; -// $element['entite'] = $competenceElement; -// $element['raison'] = null; -// $element['conserve'] = true; -// $dictionnaire[] = $element; -// } -// return $dictionnaire; -// } -// -// public function hasCompetence(Competence $competence) : bool -// { -// return false; -// } } \ No newline at end of file diff --git a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Expertise.dcm.xml b/module/FichePoste/src/FichePoste/Entity/Db/Mapping/FichePoste.Entity.Db.Expertise.dcm.xml similarity index 91% rename from module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Expertise.dcm.xml rename to module/FichePoste/src/FichePoste/Entity/Db/Mapping/FichePoste.Entity.Db.Expertise.dcm.xml index 1a7e49eef..d81dca5cd 100644 --- a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Expertise.dcm.xml +++ b/module/FichePoste/src/FichePoste/Entity/Db/Mapping/FichePoste.Entity.Db.Expertise.dcm.xml @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="utf-8"?> <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"> - <entity name="Application\Entity\Db\Expertise" table="ficheposte_expertise"> + <entity name="FichePoste\Entity\Db\Expertise" table="ficheposte_expertise"> <id name="id" type="integer" column="id"> <generator strategy="IDENTITY"/> </id> - <many-to-one target-entity="Application\Entity\Db\FichePoste" field="ficheposte"> + <many-to-one target-entity="FichePoste\Entity\Db\FichePoste" field="ficheposte"> <join-column name="ficheposte_id" referenced-column-name="id"/> </many-to-one> <field name="libelle" type="string" length="255" column="libelle" nullable="false"/> diff --git a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FichePoste.dcm.xml b/module/FichePoste/src/FichePoste/Entity/Db/Mapping/FichePoste.Entity.Db.FichePoste.dcm.xml similarity index 92% rename from module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FichePoste.dcm.xml rename to module/FichePoste/src/FichePoste/Entity/Db/Mapping/FichePoste.Entity.Db.FichePoste.dcm.xml index d4b90cece..dd744e313 100644 --- a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FichePoste.dcm.xml +++ b/module/FichePoste/src/FichePoste/Entity/Db/Mapping/FichePoste.Entity.Db.FichePoste.dcm.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"> - <entity name="Application\Entity\Db\FichePoste" table="ficheposte"> + <entity name="FichePoste\Entity\Db\FichePoste" table="ficheposte"> <id name="id" type="integer" column="id"> <generator strategy="IDENTITY"/> @@ -14,7 +14,7 @@ <one-to-one field="specificite" target-entity="Application\Entity\Db\SpecificitePoste" mapped-by="fiche"/> - <one-to-many target-entity="Application\Entity\Db\Expertise" mapped-by="ficheposte" field="expertises"/> + <one-to-many target-entity="FichePoste\Entity\Db\Expertise" mapped-by="ficheposte" field="expertises"/> <one-to-many target-entity="Application\Entity\Db\FicheTypeExterne" mapped-by="fichePoste" field="fichesMetiers"/> <one-to-many target-entity="Application\Entity\Db\FicheposteApplicationRetiree" mapped-by="fichePoste" field="applicationsRetirees"/> @@ -39,7 +39,7 @@ </many-to-many> <field name="finValidite" type="datetime" column="fin_validite" nullable="false"/> - <one-to-one field="poste" target-entity="Application\Entity\Db\Poste" mapped-by="ficheposte"/> + <one-to-one field="poste" target-entity="FichePoste\Entity\Db\Poste" mapped-by="ficheposte"/> <!-- DONNEE POUR L'HISTORISATION ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <field name="histoCreation" type="datetime" column="histo_creation" nullable="false"/> <field name="histoModification" type="datetime" column="histo_modification" nullable="false"/> diff --git a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Poste.dcm.xml b/module/FichePoste/src/FichePoste/Entity/Db/Mapping/FichePoste.Entity.Db.Poste.dcm.xml similarity index 91% rename from module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Poste.dcm.xml rename to module/FichePoste/src/FichePoste/Entity/Db/Mapping/FichePoste.Entity.Db.Poste.dcm.xml index bad7d5e35..674423ab9 100644 --- a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Poste.dcm.xml +++ b/module/FichePoste/src/FichePoste/Entity/Db/Mapping/FichePoste.Entity.Db.Poste.dcm.xml @@ -1,13 +1,13 @@ <?xml version="1.0" encoding="utf-8"?> <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"> - <entity name="Application\Entity\Db\Poste" table="ficheposte_poste"> + <entity name="FichePoste\Entity\Db\Poste" table="ficheposte_poste"> <id name="id" type="integer" column="id"> <generator strategy="IDENTITY"/> </id> <!-- DATA --> - <one-to-one target-entity="Application\Entity\Db\FichePoste" field="ficheposte" inversed-by="poste"> + <one-to-one target-entity="FichePoste\Entity\Db\FichePoste" field="ficheposte" inversed-by="poste"> <join-column name="ficheposte_id" referenced-column-name="id" /> </one-to-one> <field name="referentiel" column="referentiel" type="string" length="1024" /> diff --git a/module/Application/src/Application/Entity/Db/Poste.php b/module/FichePoste/src/FichePoste/Entity/Db/Poste.php similarity index 97% rename from module/Application/src/Application/Entity/Db/Poste.php rename to module/FichePoste/src/FichePoste/Entity/Db/Poste.php index f908132e9..2171db025 100644 --- a/module/Application/src/Application/Entity/Db/Poste.php +++ b/module/FichePoste/src/FichePoste/Entity/Db/Poste.php @@ -1,6 +1,6 @@ <?php -namespace Application\Entity\Db; +namespace FichePoste\Entity\Db; use UnicaenUtilisateur\Entity\Db\HistoriqueAwareInterface; use UnicaenUtilisateur\Entity\Db\HistoriqueAwareTrait; diff --git a/module/Application/src/Application/Form/Expertise/ExpertiseForm.php b/module/FichePoste/src/FichePoste/Form/Expertise/ExpertiseForm.php similarity index 66% rename from module/Application/src/Application/Form/Expertise/ExpertiseForm.php rename to module/FichePoste/src/FichePoste/Form/Expertise/ExpertiseForm.php index 870d5fde2..07bf64931 100644 --- a/module/Application/src/Application/Form/Expertise/ExpertiseForm.php +++ b/module/FichePoste/src/FichePoste/Form/Expertise/ExpertiseForm.php @@ -1,9 +1,10 @@ <?php -namespace Application\Form\Expertise; +namespace FichePoste\Form\Expertise; use Laminas\Form\Element\Button; use Laminas\Form\Element\Text; +use Laminas\Form\Element\Textarea; use Laminas\Form\Form; use Laminas\InputFilter\Factory; @@ -16,7 +17,8 @@ class ExpertiseForm extends Form { 'type' => Text::class, 'name' => 'libelle', 'options' => [ - 'label' => "Libelle* :", + 'label' => "Libellé <span class='icon icon-obligatoire' title='champ obligatoire'></span> :", + 'label_options' => [ 'disable_html_escape' => true, ], ], 'attributes' => [ 'id' => 'libelle', @@ -24,13 +26,12 @@ class ExpertiseForm extends Form { ]); // description $this->add([ + 'type' => Textarea::class, 'name' => 'description', - 'type' => 'textarea', 'options' => [ - 'label' => 'Description : ', - 'label_attributes' => [ - 'class' => 'control-label', - ], + 'label' => "Description <span class='icon icon-obligatoire' title='champ obligatoire'></span> :", + 'label_options' => [ 'disable_html_escape' => true, ], + 'label_attributes' => [ 'class' => 'control-label', ], ], 'attributes' => [ 'class' => 'type2 form-control', @@ -42,9 +43,7 @@ class ExpertiseForm extends Form { 'name' => 'creer', 'options' => [ 'label' => '<i class="fas fa-save"></i> Enregistrer' , - 'label_options' => [ - 'disable_html_escape' => true, - ], + 'label_options' => [ 'disable_html_escape' => true, ], ], 'attributes' => [ 'type' => 'submit', diff --git a/module/FichePoste/src/FichePoste/Form/Expertise/ExpertiseFormAwareTrait.php b/module/FichePoste/src/FichePoste/Form/Expertise/ExpertiseFormAwareTrait.php new file mode 100644 index 000000000..e03042305 --- /dev/null +++ b/module/FichePoste/src/FichePoste/Form/Expertise/ExpertiseFormAwareTrait.php @@ -0,0 +1,18 @@ +<?php + +namespace FichePoste\Form\Expertise; + +trait ExpertiseFormAwareTrait { + + private ExpertiseForm $expertiseForm; + + public function getExpertiseForm() : ExpertiseForm + { + return $this->expertiseForm; + } + + public function setExpertiseForm(ExpertiseForm $expertiseForm) : void + { + $this->expertiseForm = $expertiseForm; + } +} diff --git a/module/Application/src/Application/Form/Expertise/ExpertiseFormFactory.php b/module/FichePoste/src/FichePoste/Form/Expertise/ExpertiseFormFactory.php similarity index 58% rename from module/Application/src/Application/Form/Expertise/ExpertiseFormFactory.php rename to module/FichePoste/src/FichePoste/Form/Expertise/ExpertiseFormFactory.php index 450a34cee..1d459ab80 100644 --- a/module/Application/src/Application/Form/Expertise/ExpertiseFormFactory.php +++ b/module/FichePoste/src/FichePoste/Form/Expertise/ExpertiseFormFactory.php @@ -1,21 +1,24 @@ <?php -namespace Application\Form\Expertise; +namespace FichePoste\Form\Expertise; use Interop\Container\ContainerInterface; +use Psr\Container\ContainerExceptionInterface; +use Psr\Container\NotFoundExceptionInterface; class ExpertiseFormFactory { /** * @param ContainerInterface $container * @return ExpertiseForm + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface */ - public function __invoke(ContainerInterface $container) + public function __invoke(ContainerInterface $container) : ExpertiseForm { /** @var ExpertiseHydrator $hydrator */ $hydrator = $container->get('HydratorManager')->get(ExpertiseHydrator::class); - /** @var ExpertiseForm $form */ $form = new ExpertiseForm(); $form->setHydrator($hydrator); return $form; diff --git a/module/Application/src/Application/Form/Expertise/ExpertiseHydrator.php b/module/FichePoste/src/FichePoste/Form/Expertise/ExpertiseHydrator.php similarity index 82% rename from module/Application/src/Application/Form/Expertise/ExpertiseHydrator.php rename to module/FichePoste/src/FichePoste/Form/Expertise/ExpertiseHydrator.php index 561b1a42e..e9e0c2875 100644 --- a/module/Application/src/Application/Form/Expertise/ExpertiseHydrator.php +++ b/module/FichePoste/src/FichePoste/Form/Expertise/ExpertiseHydrator.php @@ -1,8 +1,8 @@ <?php -namespace Application\Form\Expertise; +namespace FichePoste\Form\Expertise; -use Application\Entity\Db\Expertise; +use FichePoste\Entity\Db\Expertise; use Laminas\Hydrator\HydratorInterface; class ExpertiseHydrator implements HydratorInterface { @@ -26,7 +26,7 @@ class ExpertiseHydrator implements HydratorInterface { * @param Expertise $object * @return Expertise */ - public function hydrate(array $data, $object) + public function hydrate(array $data, $object) : object { $object->setLibelle($data['libelle']); $object->setDescription($data['description']); diff --git a/module/Application/src/Application/Form/Expertise/ExpertiseHydratorFactory.php b/module/FichePoste/src/FichePoste/Form/Expertise/ExpertiseHydratorFactory.php similarity index 53% rename from module/Application/src/Application/Form/Expertise/ExpertiseHydratorFactory.php rename to module/FichePoste/src/FichePoste/Form/Expertise/ExpertiseHydratorFactory.php index 2091965a3..a779dbbb8 100644 --- a/module/Application/src/Application/Form/Expertise/ExpertiseHydratorFactory.php +++ b/module/FichePoste/src/FichePoste/Form/Expertise/ExpertiseHydratorFactory.php @@ -1,16 +1,12 @@ <?php -namespace Application\Form\Expertise; +namespace FichePoste\Form\Expertise; use Interop\Container\ContainerInterface; class ExpertiseHydratorFactory { - /** - * @param ContainerInterface $container - * @return ExpertiseHydrator - */ - public function __invoke(ContainerInterface $container) + public function __invoke(ContainerInterface $container) : ExpertiseHydrator { /** @var ExpertiseHydrator $hydrator*/ $hydrator = new ExpertiseHydrator(); diff --git a/module/Application/src/Application/Form/Poste/PosteForm.php b/module/FichePoste/src/FichePoste/Form/Poste/PosteForm.php similarity index 98% rename from module/Application/src/Application/Form/Poste/PosteForm.php rename to module/FichePoste/src/FichePoste/Form/Poste/PosteForm.php index 1f6fec147..492ca8b66 100644 --- a/module/Application/src/Application/Form/Poste/PosteForm.php +++ b/module/FichePoste/src/FichePoste/Form/Poste/PosteForm.php @@ -1,6 +1,6 @@ <?php -namespace Application\Form\Poste; +namespace FichePoste\Form\Poste; use Laminas\Form\Element\Button; use Laminas\Form\Element\Text; diff --git a/module/FichePoste/src/FichePoste/Form/Poste/PosteFormAwareTrait.php b/module/FichePoste/src/FichePoste/Form/Poste/PosteFormAwareTrait.php new file mode 100644 index 000000000..49a0263d1 --- /dev/null +++ b/module/FichePoste/src/FichePoste/Form/Poste/PosteFormAwareTrait.php @@ -0,0 +1,18 @@ +<?php + +namespace FichePoste\Form\Poste; + +trait PosteFormAwareTrait { + + private PosteForm $posteForm; + + public function getPosteForm() : PosteForm + { + return $this->posteForm; + } + + public function setPosteForm(PosteForm $posteForm) : void + { + $this->posteForm = $posteForm; + } +} diff --git a/module/Application/src/Application/Form/Poste/PosteFormFactory.php b/module/FichePoste/src/FichePoste/Form/Poste/PosteFormFactory.php similarity index 95% rename from module/Application/src/Application/Form/Poste/PosteFormFactory.php rename to module/FichePoste/src/FichePoste/Form/Poste/PosteFormFactory.php index 52eaa5192..6bd3d6f93 100644 --- a/module/Application/src/Application/Form/Poste/PosteFormFactory.php +++ b/module/FichePoste/src/FichePoste/Form/Poste/PosteFormFactory.php @@ -1,6 +1,6 @@ <?php -namespace Application\Form\Poste; +namespace FichePoste\Form\Poste; use Interop\Container\ContainerInterface; use Psr\Container\ContainerExceptionInterface; diff --git a/module/Application/src/Application/Form/Poste/PosteHydrator.php b/module/FichePoste/src/FichePoste/Form/Poste/PosteHydrator.php similarity index 94% rename from module/Application/src/Application/Form/Poste/PosteHydrator.php rename to module/FichePoste/src/FichePoste/Form/Poste/PosteHydrator.php index 4df2ab46c..f870ed09c 100644 --- a/module/Application/src/Application/Form/Poste/PosteHydrator.php +++ b/module/FichePoste/src/FichePoste/Form/Poste/PosteHydrator.php @@ -1,8 +1,8 @@ <?php -namespace Application\Form\Poste; +namespace FichePoste\Form\Poste; -use Application\Entity\Db\Poste; +use FichePoste\Entity\Db\Poste; use Laminas\Hydrator\HydratorInterface; class PosteHydrator implements HydratorInterface { diff --git a/module/Application/src/Application/Form/Poste/PosteHydratorFactory.php b/module/FichePoste/src/FichePoste/Form/Poste/PosteHydratorFactory.php similarity index 87% rename from module/Application/src/Application/Form/Poste/PosteHydratorFactory.php rename to module/FichePoste/src/FichePoste/Form/Poste/PosteHydratorFactory.php index ab8317822..e1d4595de 100644 --- a/module/Application/src/Application/Form/Poste/PosteHydratorFactory.php +++ b/module/FichePoste/src/FichePoste/Form/Poste/PosteHydratorFactory.php @@ -1,6 +1,6 @@ <?php -namespace Application\Form\Poste; +namespace FichePoste\Form\Poste; use Interop\Container\ContainerInterface; diff --git a/module/Application/src/Application/Provider/Privilege/FichePostePrivileges.php b/module/FichePoste/src/FichePoste/Provider/Privilege/FichePostePrivileges.php similarity index 96% rename from module/Application/src/Application/Provider/Privilege/FichePostePrivileges.php rename to module/FichePoste/src/FichePoste/Provider/Privilege/FichePostePrivileges.php index 3c953b57b..b8f42c160 100644 --- a/module/Application/src/Application/Provider/Privilege/FichePostePrivileges.php +++ b/module/FichePoste/src/FichePoste/Provider/Privilege/FichePostePrivileges.php @@ -1,6 +1,6 @@ <?php -namespace Application\Provider\Privilege; +namespace FichePoste\Provider\Privilege; use UnicaenPrivilege\Provider\Privilege\Privileges; diff --git a/module/Application/src/Application/Service/Expertise/ExpertiseService.php b/module/FichePoste/src/FichePoste/Service/Expertise/ExpertiseService.php similarity index 80% rename from module/Application/src/Application/Service/Expertise/ExpertiseService.php rename to module/FichePoste/src/FichePoste/Service/Expertise/ExpertiseService.php index 04b57f706..1f90e176a 100644 --- a/module/Application/src/Application/Service/Expertise/ExpertiseService.php +++ b/module/FichePoste/src/FichePoste/Service/Expertise/ExpertiseService.php @@ -1,24 +1,20 @@ <?php -namespace Application\Service\Expertise; +namespace FichePoste\Service\Expertise; -use Application\Entity\Db\Expertise; use Doctrine\ORM\NonUniqueResultException; use Doctrine\ORM\ORMException; use Doctrine\ORM\QueryBuilder; +use FichePoste\Entity\Db\Expertise; +use Laminas\Mvc\Controller\AbstractActionController; use UnicaenApp\Exception\RuntimeException; use UnicaenApp\Service\EntityManagerAwareTrait; -use Laminas\Mvc\Controller\AbstractActionController; class ExpertiseService { use EntityManagerAwareTrait; /** GESTION DES ENTITES *******************************************************************************************/ - /** - * @param Expertise $expertise - * @return Expertise - */ public function create(Expertise $expertise) : Expertise { try { @@ -30,10 +26,6 @@ class ExpertiseService { return $expertise; } - /** - * @param Expertise $expertise - * @return Expertise - */ public function update(Expertise $expertise) : Expertise { try { @@ -44,10 +36,6 @@ class ExpertiseService { return $expertise; } - /** - * @param Expertise $expertise - * @return Expertise - */ public function historise(Expertise $expertise) : Expertise { try { @@ -59,10 +47,6 @@ class ExpertiseService { return $expertise; } - /** - * @param Expertise $expertise - * @return Expertise - */ public function restore(Expertise $expertise) : Expertise { try { @@ -74,10 +58,6 @@ class ExpertiseService { return $expertise; } - /** - * @param Expertise $expertise - * @return Expertise - */ public function delete(Expertise $expertise) : Expertise { try { @@ -91,9 +71,6 @@ class ExpertiseService { /** REQUETAGE *****************************************************************************************************/ - /** - * @return QueryBuilder - */ public function createQueryBuilder() : QueryBuilder { $qb = $this->getEntityManager()->getRepository(Expertise::class)->createQueryBuilder('expertise') @@ -105,11 +82,7 @@ class ExpertiseService { return $qb; } - /** - * @param $id - * @return Expertise - */ - public function getExpertise($id) : ?Expertise + public function getExpertise(?int $id) : ?Expertise { $qb = $this->createQueryBuilder() ->andWhere('expertise.id = :id') @@ -124,12 +97,7 @@ class ExpertiseService { return $result; } - /** - * @param AbstractActionController $controller - * @param string $param - * @return Expertise - */ - public function getRequestedExpertise($controller, $param = 'expertise') : ?Expertise + public function getRequestedExpertise(AbstractActionController $controller, string $param = 'expertise') : ?Expertise { $id = $controller->params()->fromRoute($param); $result = $this->getExpertise($id); diff --git a/module/FichePoste/src/FichePoste/Service/Expertise/ExpertiseServiceAwareTrait.php b/module/FichePoste/src/FichePoste/Service/Expertise/ExpertiseServiceAwareTrait.php new file mode 100644 index 000000000..c5e39a1b4 --- /dev/null +++ b/module/FichePoste/src/FichePoste/Service/Expertise/ExpertiseServiceAwareTrait.php @@ -0,0 +1,18 @@ +<?php + +namespace FichePoste\Service\Expertise; + +trait ExpertiseServiceAwareTrait { + + private ExpertiseService $expertiseService; + + public function getExpertiseService() : ExpertiseService + { + return $this->expertiseService; + } + + public function setExpertiseService(ExpertiseService $expertiseService) : void + { + $this->expertiseService = $expertiseService; + } +} diff --git a/module/Application/src/Application/Service/Expertise/ExpertiseServiceFactory.php b/module/FichePoste/src/FichePoste/Service/Expertise/ExpertiseServiceFactory.php similarity index 72% rename from module/Application/src/Application/Service/Expertise/ExpertiseServiceFactory.php rename to module/FichePoste/src/FichePoste/Service/Expertise/ExpertiseServiceFactory.php index f5bf14b4e..29f85151b 100644 --- a/module/Application/src/Application/Service/Expertise/ExpertiseServiceFactory.php +++ b/module/FichePoste/src/FichePoste/Service/Expertise/ExpertiseServiceFactory.php @@ -1,15 +1,19 @@ <?php -namespace Application\Service\Expertise; +namespace FichePoste\Service\Expertise; use Doctrine\ORM\EntityManager; use Interop\Container\ContainerInterface; +use Psr\Container\ContainerExceptionInterface; +use Psr\Container\NotFoundExceptionInterface; class ExpertiseServiceFactory { /** * @param ContainerInterface $container * @return ExpertiseService + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface */ public function __invoke(ContainerInterface $container) : ExpertiseService { @@ -18,7 +22,6 @@ class ExpertiseServiceFactory { */ $entityManager = $container->get('doctrine.entitymanager.orm_default'); - /** @var ExpertiseService $service */ $service = new ExpertiseService(); $service->setEntityManager($entityManager); return $service; diff --git a/module/Application/src/Application/Service/FichePoste/FichePosteService.php b/module/FichePoste/src/FichePoste/Service/FichePoste/FichePosteService.php similarity index 99% rename from module/Application/src/Application/Service/FichePoste/FichePosteService.php rename to module/FichePoste/src/FichePoste/Service/FichePoste/FichePosteService.php index cb2857571..b9ab9b0e5 100644 --- a/module/Application/src/Application/Service/FichePoste/FichePosteService.php +++ b/module/FichePoste/src/FichePoste/Service/FichePoste/FichePosteService.php @@ -1,12 +1,11 @@ <?php -namespace Application\Service\FichePoste; +namespace FichePoste\Service\FichePoste; use Application\Entity\Db\Activite; use Application\Entity\Db\Agent; use Application\Entity\Db\DomaineRepartition; use Application\Entity\Db\FicheMetier; -use Application\Entity\Db\FichePoste; use Application\Entity\Db\FicheposteApplicationRetiree; use Application\Entity\Db\FicheTypeExterne; use Application\Provider\Etat\FichePosteEtats; @@ -20,6 +19,8 @@ use Doctrine\DBAL\Exception as DBA_Exception; use Doctrine\ORM\NonUniqueResultException; use Doctrine\ORM\ORMException; use Doctrine\ORM\QueryBuilder; +use FichePoste\Entity\Db\FichePoste; +use Laminas\Mvc\Controller\AbstractActionController; use Metier\Entity\Db\Domaine; use Structure\Entity\Db\Structure; use Structure\Service\Structure\StructureServiceAwareTrait; @@ -30,7 +31,6 @@ use UnicaenUtilisateur\Entity\Db\User; use UnicaenValidation\Entity\Db\ValidationInstance; use UnicaenValidation\Service\ValidationInstance\ValidationInstanceServiceAwareTrait; use UnicaenValidation\Service\ValidationType\ValidationTypeServiceAwareTrait; -use Laminas\Mvc\Controller\AbstractActionController; class FichePosteService { use EntityManagerAwareTrait; diff --git a/module/Application/src/Application/Service/FichePoste/FichePosteServiceAwareTrait.php b/module/FichePoste/src/FichePoste/Service/FichePoste/FichePosteServiceAwareTrait.php similarity index 92% rename from module/Application/src/Application/Service/FichePoste/FichePosteServiceAwareTrait.php rename to module/FichePoste/src/FichePoste/Service/FichePoste/FichePosteServiceAwareTrait.php index 3a0569775..ec98030bd 100644 --- a/module/Application/src/Application/Service/FichePoste/FichePosteServiceAwareTrait.php +++ b/module/FichePoste/src/FichePoste/Service/FichePoste/FichePosteServiceAwareTrait.php @@ -1,6 +1,6 @@ <?php -namespace Application\Service\FichePoste; +namespace FichePoste\Service\FichePoste; Trait FichePosteServiceAwareTrait { diff --git a/module/Application/src/Application/Service/FichePoste/FichePosteServiceFactory.php b/module/FichePoste/src/FichePoste/Service/FichePoste/FichePosteServiceFactory.php similarity index 83% rename from module/Application/src/Application/Service/FichePoste/FichePosteServiceFactory.php rename to module/FichePoste/src/FichePoste/Service/FichePoste/FichePosteServiceFactory.php index f1816e816..8601c14eb 100644 --- a/module/Application/src/Application/Service/FichePoste/FichePosteServiceFactory.php +++ b/module/FichePoste/src/FichePoste/Service/FichePoste/FichePosteServiceFactory.php @@ -1,11 +1,13 @@ <?php -namespace Application\Service\FichePoste; +namespace FichePoste\Service\FichePoste; use Application\Service\Agent\AgentService; use Application\Service\SpecificitePoste\SpecificitePosteService; use Doctrine\ORM\EntityManager; use Interop\Container\ContainerInterface; +use Psr\Container\ContainerExceptionInterface; +use Psr\Container\NotFoundExceptionInterface; use Structure\Service\Structure\StructureService; use UnicaenEtat\Service\Etat\EtatService; use UnicaenValidation\Service\ValidationInstance\ValidationInstanceService; @@ -13,7 +15,13 @@ use UnicaenValidation\Service\ValidationType\ValidationTypeService; class FichePosteServiceFactory { - public function __invoke(ContainerInterface $container) + /** + * @param ContainerInterface $container + * @return FichePosteService + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface + */ + public function __invoke(ContainerInterface $container) : FichePosteService { /** * @var EntityManager $entityManager diff --git a/module/Application/src/Application/Service/Poste/PosteService.php b/module/FichePoste/src/FichePoste/Service/Poste/PosteService.php similarity index 96% rename from module/Application/src/Application/Service/Poste/PosteService.php rename to module/FichePoste/src/FichePoste/Service/Poste/PosteService.php index 0c2d574e1..8fbbeff24 100644 --- a/module/Application/src/Application/Service/Poste/PosteService.php +++ b/module/FichePoste/src/FichePoste/Service/Poste/PosteService.php @@ -1,9 +1,9 @@ <?php -namespace Application\Service\Poste; +namespace FichePoste\Service\Poste; -use Application\Entity\Db\Poste; use Doctrine\ORM\ORMException; +use FichePoste\Entity\Db\Poste; use RuntimeException; use UnicaenApp\Service\EntityManagerAwareTrait; diff --git a/module/Application/src/Application/Service/Poste/PosteServiceAwareTrait.php b/module/FichePoste/src/FichePoste/Service/Poste/PosteServiceAwareTrait.php similarity index 89% rename from module/Application/src/Application/Service/Poste/PosteServiceAwareTrait.php rename to module/FichePoste/src/FichePoste/Service/Poste/PosteServiceAwareTrait.php index 4e9785f18..004ee3450 100644 --- a/module/Application/src/Application/Service/Poste/PosteServiceAwareTrait.php +++ b/module/FichePoste/src/FichePoste/Service/Poste/PosteServiceAwareTrait.php @@ -1,6 +1,6 @@ <?php -namespace Application\Service\Poste; +namespace FichePoste\Service\Poste; trait PosteServiceAwareTrait { diff --git a/module/Application/src/Application/Service/Poste/PosteServiceFactory.php b/module/FichePoste/src/FichePoste/Service/Poste/PosteServiceFactory.php similarity index 94% rename from module/Application/src/Application/Service/Poste/PosteServiceFactory.php rename to module/FichePoste/src/FichePoste/Service/Poste/PosteServiceFactory.php index 6cd9d8dbe..e4e527d6e 100644 --- a/module/Application/src/Application/Service/Poste/PosteServiceFactory.php +++ b/module/FichePoste/src/FichePoste/Service/Poste/PosteServiceFactory.php @@ -1,6 +1,6 @@ <?php -namespace Application\Service\Poste; +namespace FichePoste\Service\Poste; use Psr\Container\ContainerExceptionInterface; use Psr\Container\ContainerInterface; diff --git a/module/Application/view/application/fiche-poste/action.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/action.phtml similarity index 92% rename from module/Application/view/application/fiche-poste/action.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/action.phtml index eb637aad8..6dbdd1be7 100644 --- a/module/Application/view/application/fiche-poste/action.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/action.phtml @@ -1,12 +1,11 @@ <?php /** - * @see \Application\Controller\FichePosteController::actionAction() + * @see \FichePoste\Controller\FichePosteController::actionAction() * @var FichePoste $ficheposte */ -use Application\Entity\Db\FichePoste; -use Application\Provider\Privilege\FichePostePrivileges; +use FichePoste\Entity\Db\FichePoste; $canAfficher = $this->isAllowed($ficheposte, FichePostePrivileges::FICHEPOSTE_AFFICHER); $canExporter = $this->isAllowed($ficheposte, FichePostePrivileges::FICHEPOSTE_AFFICHER); diff --git a/module/Application/view/application/fiche-poste/afficher.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/afficher.phtml similarity index 97% rename from module/Application/view/application/fiche-poste/afficher.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/afficher.phtml index 78dd3309e..288ad9731 100644 --- a/module/Application/view/application/fiche-poste/afficher.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/afficher.phtml @@ -1,7 +1,7 @@ <?php /** - * @see \Application\Controller\FichePosteController::afficherAction() + * @see \FichePoste\Controller\FichePosteController::afficherAction() * @var FichePoste $fiche * @var array $parcours * @var Competence[] $competences @@ -9,11 +9,11 @@ * @var Structure $structure */ -use Element\Entity\Db\Application; -use Application\Entity\Db\FichePoste; use Application\Entity\Db\FicheTypeExterne; -use Application\Provider\Privilege\FichePostePrivileges; +use Element\Entity\Db\Application; use Element\Entity\Db\Competence; +use FichePoste\Entity\Db\FichePoste; +use FichePoste\Provider\Privilege\FichePostePrivileges; use Structure\Entity\Db\Structure; $date = new DateTime(); diff --git a/module/Application/view/application/fiche-poste/ajouter-fiche-metier.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/ajouter-fiche-metier.phtml similarity index 95% rename from module/Application/view/application/fiche-poste/ajouter-fiche-metier.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/ajouter-fiche-metier.phtml index d12713fd9..8dcc63b9a 100644 --- a/module/Application/view/application/fiche-poste/ajouter-fiche-metier.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/ajouter-fiche-metier.phtml @@ -2,7 +2,7 @@ /** - * @see \Application\Controller\FichePosteController::ajouterFicheMetierAction() + * @see \FichePoste\Controller\FichePosteController::ajouterFicheMetierAction() * * @var AjouterFicheMetierForm $form */ diff --git a/module/Application/view/application/fiche-poste/associer-agent.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/associer-agent.phtml similarity index 91% rename from module/Application/view/application/fiche-poste/associer-agent.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/associer-agent.phtml index 57714a532..74909fd23 100644 --- a/module/Application/view/application/fiche-poste/associer-agent.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/associer-agent.phtml @@ -1,11 +1,11 @@ <?php -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; use Structure\Entity\Db\Structure; use UnicaenApp\Form\Element\SearchAndSelect; /** - * @see \Application\Controller\FichePosteController::associerAgentAction() + * @see \FichePoste\Controller\FichePosteController::associerAgentAction() * @var FichePoste $ficheposte * @var Structure $structure */ diff --git a/module/Application/view/application/fiche-poste/dupliquer.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/dupliquer.phtml similarity index 94% rename from module/Application/view/application/fiche-poste/dupliquer.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/dupliquer.phtml index eef749eca..248f336c2 100644 --- a/module/Application/view/application/fiche-poste/dupliquer.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/dupliquer.phtml @@ -1,15 +1,15 @@ <?php /** - * @see \Application\Controller\FichePosteController::dupliquerAction() + * @see \FichePoste\Controller\FichePosteController::dupliquerAction() * @var FichePoste[] $fiches * @var Structure $structure * @var Agent $agent */ use Application\Entity\Db\Agent; -use Application\Entity\Db\FichePoste; use Application\Provider\Etat\FichePosteEtats; +use FichePoste\Entity\Db\FichePoste; use Structure\Entity\Db\Structure; ?> diff --git a/module/Application/view/application/fiche-poste/editer-specificite.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/editer-specificite.phtml similarity index 100% rename from module/Application/view/application/fiche-poste/editer-specificite.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/editer-specificite.phtml diff --git a/module/Application/view/application/fiche-poste/editer.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/editer.phtml similarity index 69% rename from module/Application/view/application/fiche-poste/editer.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/editer.phtml index 4e4406f8c..cdd12b7b6 100644 --- a/module/Application/view/application/fiche-poste/editer.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/editer.phtml @@ -1,7 +1,7 @@ <?php /** - * @see \Application\Controller\FichePosteController::editerAction() + * @see \FichePoste\Controller\FichePosteController::editerAction() * @var Agent $agent * @var int $ficheId * @var FichePoste $fiche @@ -16,9 +16,9 @@ $sousstructure = true; use Application\Entity\Db\Agent; -use Application\Entity\Db\FichePoste; use Application\Entity\Db\FicheTypeExterne; -use Application\Provider\Privilege\FichePostePrivileges; +use FichePoste\Entity\Db\FichePoste; +use FichePoste\Provider\Privilege\FichePostePrivileges; use Structure\Entity\Db\Structure; @@ -35,10 +35,10 @@ $date = new DateTime(); $canModifier = $this->isAllowed($fiche, FichePostePrivileges::FICHEPOSTE_MODIFIER); -$this->headTitle("Modification de la fiche de poste #".$ficheId); +$this->headTitle("Modification de la fiche de poste #" . $ficheId); ?> -<?php if (! $canModifier ) : ?> +<?php if (!$canModifier) : ?> <div class="alert alert-danger col-md-8"> <p class="lead"> @@ -51,7 +51,9 @@ $this->headTitle("Modification de la fiche de poste #".$ficheId); <?php else : ?> <style> - a.action {width: 18em;} + a.action { + width: 18em; + } </style> <?php echo $this->messenger()->addMessagesFromFlashMessenger(); ?> @@ -65,10 +67,10 @@ $this->headTitle("Modification de la fiche de poste #".$ficheId); </div> <div class="pull-right"> <a - <?php /** @see \Application\Controller\FichePosteController::associerTitreAction() */ ?> - href="<?php echo $this->url('fiche-poste/associer-titre', ['fiche-poste' => $fiche->getId()], [], true); ?>" - class="btn btn-primary action ajax-modal" - data-event="modification" + <?php /** @see \FichePoste\Controller\FichePosteController::associerTitreAction() */ ?> + href="<?php echo $this->url('fiche-poste/associer-titre', ['fiche-poste' => $fiche->getId()], [], true); ?>" + class="btn btn-primary action ajax-modal" + data-event="modification" > <span class="icon icon-editer"></span> Modifier le titre @@ -83,7 +85,6 @@ $this->headTitle("Modification de la fiche de poste #".$ficheId); <?php echo $this->partial("partial/validations.phtml"); ?> - <div class="card panel-info"> <div class="card-header"> <div class="row"> @@ -91,9 +92,9 @@ $this->headTitle("Modification de la fiche de poste #".$ficheId); <h2> Agent occupant le poste </h2> </div> <div class="col-md-6"> - <?php if($canAssocierAgent) : ?> - <?php /** @see \Application\Controller\FichePosteController::associerAgentAction() */ ?> - <a href="<?php echo $this->url('fiche-poste/associer-agent',['fiche-poste' => $fiche->getId()], ["query" => ["structure" => ($structure)?$structure->getId():null, "sous-structure" => $sousstructure]], true); ?>" + <?php if ($canAssocierAgent) : ?> + <?php /** @see \FichePoste\Controller\FichePosteController::associerAgentAction() */ ?> + <a href="<?php echo $this->url('fiche-poste/associer-agent', ['fiche-poste' => $fiche->getId()], ["query" => ["structure" => ($structure) ? $structure->getId() : null, "sous-structure" => $sousstructure]], true); ?>" class="btn btn-primary action ajax-modal pull-right" data-event="modification" > @@ -105,15 +106,15 @@ $this->headTitle("Modification de la fiche de poste #".$ficheId); </div> </div> <div class="card-body"> - <?php if($agent === null) : ?> + <?php if ($agent === null) : ?> <div class="alert alert-warning"> <i class="fas fa-exclamation-triangle"></i> Aucun agent d'associé à ce poste </div> <?php else : ?> <?php - $retour = $this->url('fiche-poste/editer', ['fiche-poste' => $fiche->getId()], [], true); - echo $this->agent($agent, 'edition', ["retour" => $retour]); + $retour = $this->url('fiche-poste/editer', ['fiche-poste' => $fiche->getId()], [], true); + echo $this->agent($agent, 'edition', ["retour" => $retour]); ?> <?php endif; ?> </div> @@ -127,43 +128,51 @@ $this->headTitle("Modification de la fiche de poste #".$ficheId); <?php $principal = $fiche->getFicheTypeExternePrincipale(); $fichesMetiers = $fiche->getFichesMetiers(); - $fichesMetiers = array_filter($fichesMetiers, function (FicheTypeExterne $a) { return !$a->getPrincipale(); }); - usort($fichesMetiers, function (FicheTypeExterne $a, FicheTypeExterne $b) { return ($a->getQuotite() > $b->getQuotite()); }); + $fichesMetiers = array_filter($fichesMetiers, function (FicheTypeExterne $a) { + return !$a->getPrincipale(); + }); + usort($fichesMetiers, function (FicheTypeExterne $a, FicheTypeExterne $b) { + return ($a->getQuotite() > $b->getQuotite()); + }); ?> - <?php /** @var FicheTypeExterne $ficheType **/ ?> + <?php /** @var FicheTypeExterne $ficheType * */ ?> <div class="card panel-default"> <div class="card-header"> <div class="row"> <div class="col-md-8"> - <h2>Fiche de poste composée de <?php echo count($fiche->getFichesMetiers()); ?> fiche(s) métier(s).</h2> - <ul> - <?php if ($principal) : ?> - <li> <strong> <?php echo $principal->getFicheType()->getMetier()->getLibelleGenre($agent) ?> à <?php echo $principal->getQuotite(); ?>%</strong></li> - <?php endif; ?> - <?php foreach ($fichesMetiers as $ficheType) : ?> - <li> <?php echo $ficheType->getFicheType()->getMetier()->getLibelleGenre($agent); ?> à <?php echo $ficheType->getQuotite(); ?>% </li> - <?php endforeach; ?> - </ul> + <h2>Fiche de poste composée de <?php echo count($fiche->getFichesMetiers()); ?> fiche(s) + métier(s).</h2> + <ul> + <?php if ($principal) : ?> + <li><strong> <?php echo $principal->getFicheType()->getMetier()->getLibelleGenre($agent) ?> + à <?php echo $principal->getQuotite(); ?>%</strong></li> + <?php endif; ?> + <?php foreach ($fichesMetiers as $ficheType) : ?> + <li> <?php echo $ficheType->getFicheType()->getMetier()->getLibelleGenre($agent); ?> + à <?php echo $ficheType->getQuotite(); ?>% + </li> + <?php endforeach; ?> + </ul> </div> <div class="col-md-4"> - <?php /** @see \Application\Controller\FichePosteController::ajouterFicheMetierAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::ajouterFicheMetierAction() */ ?> <a href="<?php echo $this->url('fiche-poste/ajouter-fiche-metier', ['fiche-poste' => $fiche->getId()], [], true); ?>" class="btn btn-primary action ajax-modal pull-right" data-event="modification" > <span class="icon icon-ajouter"></span> Ajouter une fiche métier - </a> + </a> </div> </div> </div> </div> - <?php if ($principal) echo $this->ficheMetierExterne($principal, ['mode' => 'edition-fiche-poste']); ?> + <?php if ($principal) echo $this->ficheMetierExterne($principal, ['mode' => 'edition-fiche-poste']); ?> <?php foreach ($fichesMetiers as $ficheType) : ?> - <?php echo $this->ficheMetierExterne($ficheType, ['mode' => 'edition-fiche-poste']); ?> + <?php echo $this->ficheMetierExterne($ficheType, ['mode' => 'edition-fiche-poste']); ?> <?php endforeach; ?> <!-- REGROUPE DES COMPETENCES, APPLICATIONS ET DES FORMATIONS -----------------------------------------------------> @@ -173,7 +182,7 @@ $this->headTitle("Modification de la fiche de poste #".$ficheId); </div> <div class="card-body"> <?php //echo $this->competenceBloc($competences, $fiche->getAgent()); ?> - <?php echo $this->partial('partial/competences', ['fiche' => $fiche, 'competences' => $competences, 'mode' => 'edition'], [], true); ?> + <?php echo $this->partial('partial/competences', ['fiche' => $fiche, 'competences' => $competences, 'mode' => 'edition'], [], true); ?> <?php echo $this->partial('partial/applications', ['fiche' => $fiche, 'applications' => $applications, 'mode' => 'edition'], [], true); ?> <?php //echo $this->partial('partial/parcours-de-formation', ['parcours' => $parcours, 'agent' => $agent, 'fiche' => $fiche, 'mode' => 'affichage'], [], true); ?> </div> @@ -181,18 +190,18 @@ $this->headTitle("Modification de la fiche de poste #".$ficheId); <!-- GRAPH --------------------------------------------------------------------------------------------------------> -<!-- <div class="row">--> -<!-- <div class="col-md-6">--> -<!-- --><?php //echo $this->fichePosteGraph($fiche, + <!-- <div class="row">--> + <!-- <div class="col-md-6">--> + <!-- --><?php //echo $this->fichePosteGraph($fiche, // ["applications" => $applications, "competences" => $competences, "formations" => $formations, "activites" => $activites], // 'radar', $date); ?> -<!-- </div>--> -<!-- <div class="col-md-6">--> -<!-- --><?php //echo $this->fichePosteGraph($fiche, + <!-- </div>--> + <!-- <div class="col-md-6">--> + <!-- --><?php //echo $this->fichePosteGraph($fiche, // ["applications" => $applications, "competences" => $competences, "formations" => $formations, "activites" => $activites], // 'bar', $date); ?> -<!-- </div>--> -<!-- </div>--> + <!-- </div>--> + <!-- </div>--> <!-- EXPERTISES LIEES A LA FICHE DE POSTE -----------------------------------------------------------------------------> <?php echo $this->partial('partial/expertise', ['fiche' => $fiche, 'mode' => 'edition'], [], true); ?> @@ -210,7 +219,7 @@ $this->headTitle("Modification de la fiche de poste #".$ficheId); </div> </div> <script> - $(function() { + $(function () { $("body").on("modification", function (event) { event.div.modal('hide'); window.location.reload(); diff --git a/module/Application/view/application/fiche-poste/index.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/index.phtml similarity index 94% rename from module/Application/view/application/fiche-poste/index.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/index.phtml index fefab250f..db8bee0a9 100644 --- a/module/Application/view/application/fiche-poste/index.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/index.phtml @@ -1,8 +1,8 @@ <?php -use Application\Controller\FichePosteController; -use Application\Entity\Db\FichePoste; -use Application\Provider\Privilege\FichePostePrivileges; +use FichePoste\Controller\FichePosteController; +use FichePoste\Entity\Db\FichePoste; +use FichePoste\Provider\Privilege\FichePostePrivileges; /** * @see FichePosteController::indexAction() diff --git a/module/Application/view/application/fiche-poste/modifier-repartition.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/modifier-repartition.phtml similarity index 92% rename from module/Application/view/application/fiche-poste/modifier-repartition.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/modifier-repartition.phtml index 2fd23e986..15c3b9dc2 100644 --- a/module/Application/view/application/fiche-poste/modifier-repartition.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/modifier-repartition.phtml @@ -1,15 +1,16 @@ <?php /** - * @see \Application\Controller\FichePosteController::modifierRepartitionAction() + * @see \FichePoste\Controller\FichePosteController::modifierRepartitionAction() * @var FichePoste $ficheposte * @var FicheTypeExterne $fichetype * @var Domaine[] $domaines * @var array $repartitions */ -use Metier\Entity\Db\Domaine; -use Application\Entity\Db\FichePoste; + use Application\Entity\Db\FicheTypeExterne; +use FichePoste\Entity\Db\FichePoste; +use Metier\Entity\Db\Domaine; ?> diff --git a/module/Application/view/application/fiche-poste/partial/applications.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/partial/applications.phtml similarity index 89% rename from module/Application/view/application/fiche-poste/partial/applications.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/partial/applications.phtml index 03abd3193..c793242c7 100644 --- a/module/Application/view/application/fiche-poste/partial/applications.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/partial/applications.phtml @@ -1,6 +1,6 @@ <?php -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; /** * @var FichePoste $fiche @@ -29,7 +29,7 @@ foreach ($applications as $item) { <div class="col-md-1" style="background-color:#d9edf7;"> <h3> <?php if ($mode === 'edition') : ?> - <a <?php /** @see \Application\Controller\FichePosteController::selectionnerApplicationsRetireesAction() */ ?> + <a <?php /** @see \FichePoste\Controller\FichePosteController::selectionnerApplicationsRetireesAction() */ ?> href="<?php echo $this->url('fiche-poste/selectionner-applications-retirees', ['fiche-poste' => $fiche->getId()], [], true); ?>" class="ajax-modal" data-event="modification"> <span class="icon icon-listing" title="Sélection des applications liées à la fiche de poste"></span></a> diff --git a/module/Application/view/application/fiche-poste/partial/competences.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/partial/competences.phtml similarity index 89% rename from module/Application/view/application/fiche-poste/partial/competences.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/partial/competences.phtml index cc9f6bef1..862823020 100644 --- a/module/Application/view/application/fiche-poste/partial/competences.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/partial/competences.phtml @@ -1,6 +1,6 @@ <?php -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; /** * @var FichePoste $fiche @@ -29,7 +29,7 @@ foreach ($competences as $item) { <div class="col-md-1" style="background-color:#d9edf7;"> <h3> <?php if ($mode === 'edition') : ?> - <a <?php /** @see \Application\Controller\FichePosteController::selectionnerCompetencesRetireesAction() */ ?> + <a <?php /** @see \FichePoste\Controller\FichePosteController::selectionnerCompetencesRetireesAction() */ ?> href="<?php echo $this->url('fiche-poste/selectionner-competences-retirees', ['fiche-poste' => $fiche->getId()], [], true); ?>" class="ajax-modal" data-event="modification"> <span class="icon icon-listing" title="Sélection des compétences liées à la fiche de poste"></span></a> diff --git a/module/Application/view/application/fiche-poste/partial/environnement-poste.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/partial/environnement-poste.phtml similarity index 94% rename from module/Application/view/application/fiche-poste/partial/environnement-poste.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/partial/environnement-poste.phtml index 11ad60f8c..2f830bfee 100644 --- a/module/Application/view/application/fiche-poste/partial/environnement-poste.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/partial/environnement-poste.phtml @@ -1,8 +1,8 @@ <?php use Application\Entity\Db\Agent; -use Application\Entity\Db\FichePoste; -use Application\Provider\Privilege\FichePostePrivileges; +use FichePoste\Entity\Db\FichePoste; +use FichePoste\Provider\Privilege\FichePostePrivileges; use Structure\Entity\Db\Structure; /** diff --git a/module/Application/view/application/fiche-poste/partial/expertise.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/partial/expertise.phtml similarity index 78% rename from module/Application/view/application/fiche-poste/partial/expertise.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/partial/expertise.phtml index 50e45d466..ab6085456 100644 --- a/module/Application/view/application/fiche-poste/partial/expertise.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/partial/expertise.phtml @@ -1,11 +1,11 @@ <?php -use Application\Entity\Db\FichePoste; -use Application\Provider\Privilege\FichePostePrivileges; +use FichePoste\Entity\Db\FichePoste; +use FichePoste\Provider\Privilege\FichePostePrivileges; /** * @var FichePoste $fiche - * @var string mode + * @var string $mode */ $canEditerExpertise = $this->isAllowed($fiche, FichePostePrivileges::FICHEPOSTE_MODIFIER); @@ -13,7 +13,7 @@ $date = new DateTime(); ?> -<?php if( $fiche->hasExpertise()) : ?> +<?php if( true || $fiche->hasExpertise()) : ?> <?php $expertises = $fiche->getCurrentExpertises($date); ?> <?php if ($mode === 'edition' OR !empty($expertises)) : ?> @@ -25,8 +25,8 @@ $date = new DateTime(); </div> <div class="col-md-6"> <?php if($mode === 'edition' AND $canEditerExpertise) : ?> - <a <?php /** @see \Application\Controller\FichePosteController::ajouterExpertiseAction() */?> - href="<?php echo $this->url('fiche-poste/ajouter-expertise',['fiche-poste' => $fiche->getId()], [], true); ?>" + <a <?php /** @see \FichePoste\Controller\ExpertiseController::ajouterAction() */?> + href="<?php echo $this->url('fiche-poste/expertise/ajouter',['fiche-poste' => $fiche->getId()], [], true); ?>" class="btn btn-primary action ajax-modal pull-right" data-event="modification" > @@ -43,8 +43,8 @@ $date = new DateTime(); <li> <strong><?php echo $expertise->getLibelle(); ?></strong> <?php if($mode === 'edition' AND $canEditerExpertise) : ?> - <a <?php /** @see \Application\Controller\FichePosteController::modifierExpertiseAction() */?> - href="<?php echo $this->url('fiche-poste/modifier-expertise',['expertise' => $expertise->getId()], [], true); ?>" + <a <?php /** @see \FichePoste\Controller\ExpertiseController::modifierAction() */?> + href="<?php echo $this->url('fiche-poste/expertise/modifier',['expertise' => $expertise->getId()], [], true); ?>" class="ajax-modal" data-event="modification" title="Modifier l'expertise" @@ -53,7 +53,7 @@ $date = new DateTime(); <?php endif; ?> <?php if ($expertise->estNonHistorise()) : ?> <?php if($mode === 'edition' AND $canEditerExpertise) : ?> - <a <?php /** @see \Application\Controller\FichePosteController::historiserExpertiseAction() */?> + <a <?php /** @see \FichePoste\Controller\ExpertiseController::historiserAction() */?> href="<?php echo $this->url('fiche-poste/historiser-expertise',['expertise' => $expertise->getId()], [], true); ?>" title="Historiser l'expertise" > @@ -61,16 +61,16 @@ $date = new DateTime(); <?php endif; ?> <?php else : ?> <?php if($mode === 'edition' AND $canEditerExpertise) : ?> - <a <?php /** @see \Application\Controller\FichePosteController::restaurerExpertiseAction() */?> - href="<?php echo $this->url('fiche-poste/restaurer-expertise',['expertise' => $expertise->getId()], [], true); ?>" + <a <?php /** @see \FichePoste\Controller\ExpertiseController::restaurerAction() */?> + href="<?php echo $this->url('fiche-poste/expertise/restaurer',['expertise' => $expertise->getId()], [], true); ?>" title="Restaurer l'expertise" > <span class="icon icon-restaurer"></span></a> <?php endif; ?> <?php endif; ?> <?php if($mode === 'edition' AND $canEditerExpertise) : ?> - <a <?php /** @see \Application\Controller\FichePosteController::supprimerExpertiseAction() */?> - href="<?php echo $this->url('fiche-poste/supprimer-expertise',['expertise' => $expertise->getId()], [], true); ?>" + <a <?php /** @see \FichePoste\Controller\ExpertiseController::supprimerAction() */?> + href="<?php echo $this->url('fiche-poste/expertise/supprimer',['expertise' => $expertise->getId()], [], true); ?>" title="Supprimer l'expertise" class="ajax-modal" data-event="modification" > diff --git a/module/Application/view/application/fiche-poste/partial/formations.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/partial/formations.phtml similarity index 92% rename from module/Application/view/application/fiche-poste/partial/formations.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/partial/formations.phtml index 9ceb8b3c3..55c8d8d91 100644 --- a/module/Application/view/application/fiche-poste/partial/formations.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/partial/formations.phtml @@ -2,7 +2,7 @@ use Application\Entity\Db\Activite; use Application\Entity\Db\FicheMetier; -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; /** * @var FichePoste $fiche @@ -31,7 +31,7 @@ foreach ($formations as $item) { </div> <div class="col-md-1"> <?php if ($mode === 'edition') : ?> - <a <?php /** @see \Application\Controller\FichePosteController::selectionnerFormationsRetireesAction() */ ?> + <a <?php /** @see \FichePoste\Controller\FichePosteController::selectionnerFormationsRetireesAction() */ ?> href="<?php echo $this->url('fiche-poste/selectionner-formations-retirees', ['fiche-poste' => $fiche->getId()], [], true); ?>" class="ajax-modal" data-event="modification"> <span class="icon icon-listing" title="Sélection des formations liées à la fiche de poste"></span></a> diff --git a/module/Application/view/application/fiche-poste/partial/informations-poste.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/partial/informations-poste.phtml similarity index 92% rename from module/Application/view/application/fiche-poste/partial/informations-poste.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/partial/informations-poste.phtml index 8366b2ab7..8fe56a7b6 100644 --- a/module/Application/view/application/fiche-poste/partial/informations-poste.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/partial/informations-poste.phtml @@ -6,11 +6,12 @@ * @var string $mode */ -use Application\Entity\Db\FichePoste; -use Application\Provider\Privilege\FichePostePrivileges; +use FichePoste\Entity\Db\FichePoste; +use FichePoste\Provider\Privilege\FichePostePrivileges; $canAfficher = $this->isAllowed(FichePostePrivileges::getResourceId(FichePostePrivileges::FICHEPOSTE_AFFICHER_POSTE)); $canModifier = $this->isAllowed(FichePostePrivileges::getResourceId(FichePostePrivileges::FICHEPOSTE_MODIFIER_POSTE)); + ?> <?php if ($canAfficher) : ?> @@ -22,7 +23,7 @@ $canModifier = $this->isAllowed(FichePostePrivileges::getResourceId(FichePostePr </div> <div class="col-md-3"> <?php if ($mode === 'edition' AND $canModifier) : ?> - <?php /** @see \Application\Controller\FichePosteController::modifierInformationPosteAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::modifierInformationPosteAction() */ ?> <a href="<?php echo $this->url('fiche-poste/modifier-information-poste', ['fiche-poste' => $fiche->getId()], [], true); ?>" class="btn btn-primary ajax-modal" data-event="modification"> <span class="icon icon-editer"></span> diff --git a/module/Application/view/application/fiche-poste/partial/intitule.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/partial/intitule.phtml similarity index 93% rename from module/Application/view/application/fiche-poste/partial/intitule.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/partial/intitule.phtml index cba3b979a..ba5e150a7 100644 --- a/module/Application/view/application/fiche-poste/partial/intitule.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/partial/intitule.phtml @@ -1,6 +1,6 @@ <?php -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; /** * @var FichePoste $ficheposte diff --git a/module/Application/view/application/fiche-poste/partial/parcours-de-formation.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/partial/parcours-de-formation.phtml similarity index 96% rename from module/Application/view/application/fiche-poste/partial/parcours-de-formation.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/partial/parcours-de-formation.phtml index 623d6a117..3af7728f1 100644 --- a/module/Application/view/application/fiche-poste/partial/parcours-de-formation.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/partial/parcours-de-formation.phtml @@ -10,7 +10,7 @@ */ use Application\Entity\Db\Agent; -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; $canValidate = false; diff --git a/module/Application/view/application/fiche-poste/partial/retour-structure.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/partial/retour-structure.phtml similarity index 100% rename from module/Application/view/application/fiche-poste/partial/retour-structure.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/partial/retour-structure.phtml diff --git a/module/Application/view/application/fiche-poste/partial/rifseep.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/partial/rifseep.phtml similarity index 88% rename from module/Application/view/application/fiche-poste/partial/rifseep.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/partial/rifseep.phtml index 5dea25801..e305b345e 100644 --- a/module/Application/view/application/fiche-poste/partial/rifseep.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/partial/rifseep.phtml @@ -1,7 +1,7 @@ <?php -use Application\Entity\Db\FichePoste; -use Application\Provider\Privilege\FichePostePrivileges; +use FichePoste\Entity\Db\FichePoste; +use FichePoste\Provider\Privilege\FichePostePrivileges; /** * @var FichePoste $fiche @@ -22,7 +22,7 @@ $date = new DateTime(); <div class="col-md-6"> <?php if($canEditerSpecificte AND $mode === 'edition') : ?> <a - <?php /** @see \Application\Controller\FichePosteController::editerRifseepAction(); */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::editerRifseepAction(); */ ?> href="<?php echo $this->url('fiche-poste/editer-rifseep',['fiche-poste' => $fiche->getId()], [], true); ?>" class="btn btn-primary action ajax-modal pull-right" data-event="modification" diff --git a/module/Application/view/application/fiche-poste/partial/specificite.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/partial/specificite.phtml similarity index 86% rename from module/Application/view/application/fiche-poste/partial/specificite.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/partial/specificite.phtml index 2b2e47135..fb4e5b21b 100644 --- a/module/Application/view/application/fiche-poste/partial/specificite.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/partial/specificite.phtml @@ -1,7 +1,7 @@ <?php -use Application\Entity\Db\FichePoste; -use Application\Provider\Privilege\FichePostePrivileges; +use FichePoste\Entity\Db\FichePoste; +use FichePoste\Provider\Privilege\FichePostePrivileges; /** * @var FichePoste $fiche @@ -23,7 +23,7 @@ $date = new DateTime(); <div class="col-md-6"> <?php if($canEditerSpecificte AND $mode === 'edition') : ?> <a - <?php /** @see \Application\Controller\FichePosteController::editerSpecificiteAction(); */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::editerSpecificiteAction(); */ ?> href="<?php echo $this->url('fiche-poste/editer-specificite',['fiche-poste' => $fiche->getId()], [], true); ?>" class="btn btn-primary action ajax-modal pull-right" data-event="modification" diff --git a/module/Application/view/application/fiche-poste/partial/validations.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/partial/validations.phtml similarity index 88% rename from module/Application/view/application/fiche-poste/partial/validations.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/partial/validations.phtml index 99e686d9e..a7510fe13 100644 --- a/module/Application/view/application/fiche-poste/partial/validations.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/partial/validations.phtml @@ -1,8 +1,8 @@ <?php -use Application\Entity\Db\FichePoste; -use Application\Provider\Privilege\FichePostePrivileges; use Application\Provider\Validation\FichePosteValidations; +use FichePoste\Entity\Db\FichePoste; +use FichePoste\Provider\Privilege\FichePostePrivileges; /** * @var FichePoste $fiche @@ -46,14 +46,14 @@ $canFichePosteValiderAgent = $this->isAllowed($fiche, FichePostePrivile <?php if ($canFichePosteValiderResponsable AND $validationAgent === null) :?> <?php if ($validationResponsable === null) : ?> - <?php /** @see \Application\Controller\FichePosteController::validerAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::validerAction() */ ?> <a href="<?php echo $this->url('fiche-poste/valider', ['fiche-poste' => $fiche->getId(), 'type' => FichePosteValidations::VALIDATION_RESPONSABLE], [], true); ?>" class="btn btn-success action ajax-modal" data-event="modification"> <span class="icon icon-checked"></span> Valider la fiche de poste (responsable) </a> <?php else : ?> - <?php /** @see \Application\Controller\FichePosteController::revoquerAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::revoquerAction() */ ?> <a href="<?php echo $this->url('fiche-poste/revoquer', ['fiche-poste' => $fiche->getId(), 'validation' => $validationResponsable->getId()], [], true); ?>" class="btn btn-danger action"> <span class="icon icon-retirer"></span> @@ -63,14 +63,14 @@ $canFichePosteValiderAgent = $this->isAllowed($fiche, FichePostePrivile <?php endif ;?> <?php if ($canFichePosteValiderAgent AND $validationResponsable !== null) :?> <?php if ($validationAgent === null) : ?> - <?php /** @see \Application\Controller\FichePosteController::validerAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::validerAction() */ ?> <a href="<?php echo $this->url('fiche-poste/valider', ['fiche-poste' => $fiche->getId(), 'type' => FichePosteValidations::VALIDATION_AGENT], [], true); ?>" class="btn btn-success action ajax-modal" data-event="modification"> <span class="icon icon-checked"></span> Valider la fiche de poste (agent) </a> <?php else : ?> - <?php /** @see \Application\Controller\FichePosteController::revoquerAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::revoquerAction() */ ?> <a href="<?php echo $this->url('fiche-poste/revoquer', ['fiche-poste' => $fiche->getId(), 'validation' => $validationAgent->getId()], [], true); ?>" class="btn btn-danger action"> <span class="icon icon-retirer"></span> @@ -89,7 +89,7 @@ $canFichePosteValiderAgent = $this->isAllowed($fiche, FichePostePrivile <br/> <?php if ($canFichePosteModifierEtat) : ?> <a - <?php /** @see \Application\Controller\FichePosteController::changerEtatAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::changerEtatAction() */ ?> href="<?php echo $this->url('fiche-poste/changer-etat', ['fiche-poste' => $fiche->getId()], [], true); ?>" class="btn btn-primary action ajax-modal" data-event="modification" diff --git a/module/Application/view/application/fiche-poste/selectionner-activite.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/selectionner-activite.phtml similarity index 100% rename from module/Application/view/application/fiche-poste/selectionner-activite.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/selectionner-activite.phtml diff --git a/module/Application/view/application/fiche-poste/selectionner-applications-retirees.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/selectionner-applications-retirees.phtml similarity index 87% rename from module/Application/view/application/fiche-poste/selectionner-applications-retirees.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/selectionner-applications-retirees.phtml index e59bf35d9..b81b05d99 100644 --- a/module/Application/view/application/fiche-poste/selectionner-applications-retirees.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/selectionner-applications-retirees.phtml @@ -1,13 +1,13 @@ <?php /** - * @see \Application\Controller\FichePosteController::selectionnerApplicationsRetireesAction() + * @see \FichePoste\Controller\FichePosteController::selectionnerApplicationsRetireesAction() * * @var FichePoste $ficheposte * @var array $applications */ -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; usort($applications, function($a, $b) { return $a['entite']->getLibelle() > $b['entite']->getLibelle();}); ?> diff --git a/module/Application/view/application/fiche-poste/selectionner-competences-retirees.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/selectionner-competences-retirees.phtml similarity index 90% rename from module/Application/view/application/fiche-poste/selectionner-competences-retirees.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/selectionner-competences-retirees.phtml index e2773d910..c4fe422f7 100644 --- a/module/Application/view/application/fiche-poste/selectionner-competences-retirees.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/selectionner-competences-retirees.phtml @@ -1,13 +1,13 @@ <?php /** - * @see \Application\Controller\FichePosteController::selectionnerCompetencesRetireesAction() + * @see \FichePoste\Controller\FichePosteController::selectionnerCompetencesRetireesAction() * * @var FichePoste $ficheposte * @var array $competences */ -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; $listings = []; $listings["Connaissances"] = []; diff --git a/module/Application/view/application/fiche-poste/selectionner-descriptions-retirees.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/selectionner-descriptions-retirees.phtml similarity index 92% rename from module/Application/view/application/fiche-poste/selectionner-descriptions-retirees.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/selectionner-descriptions-retirees.phtml index beaf37ce0..f3f09bcff 100644 --- a/module/Application/view/application/fiche-poste/selectionner-descriptions-retirees.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/selectionner-descriptions-retirees.phtml @@ -1,7 +1,7 @@ <?php /** - * @see \Application\Controller\FichePosteController::selectionnerApplicationsRetireesAction() + * @see \FichePoste\Controller\FichePosteController::selectionnerApplicationsRetireesAction() * * @var FichePoste $ficheposte * @var FicheMetier $fichemetier @@ -13,8 +13,8 @@ use Application\Entity\Db\Activite; use Application\Entity\Db\ActiviteDescription; use Application\Entity\Db\FicheMetier; -use Application\Entity\Db\FichePoste; use Application\Entity\Db\FicheposteActiviteDescriptionRetiree; +use FichePoste\Entity\Db\FichePoste; /** * @param FicheposteActiviteDescriptionRetiree[] $retirees diff --git a/module/Application/view/application/fiche-poste/selectionner-formations-retirees.phtml b/module/FichePoste/view/fiche-poste/fiche-poste/selectionner-formations-retirees.phtml similarity index 86% rename from module/Application/view/application/fiche-poste/selectionner-formations-retirees.phtml rename to module/FichePoste/view/fiche-poste/fiche-poste/selectionner-formations-retirees.phtml index bc6254e8a..50a49c154 100644 --- a/module/Application/view/application/fiche-poste/selectionner-formations-retirees.phtml +++ b/module/FichePoste/view/fiche-poste/fiche-poste/selectionner-formations-retirees.phtml @@ -1,13 +1,13 @@ <?php /** - * @see \Application\Controller\FichePosteController::selectionnerFormationsRetireesAction() + * @see \FichePoste\Controller\FichePosteController::selectionnerFormationsRetireesAction() * * @var FichePoste $ficheposte * @var array $formations */ -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; ?> diff --git a/module/Structure/src/Structure/Controller/StructureController.php b/module/Structure/src/Structure/Controller/StructureController.php index ba9cd9217..aac4be01e 100644 --- a/module/Structure/src/Structure/Controller/StructureController.php +++ b/module/Structure/src/Structure/Controller/StructureController.php @@ -3,21 +3,21 @@ namespace Structure\Controller; use Application\Entity\Db\Agent; -use Application\Entity\Db\FichePoste; -use Application\Entity\Db\Interfaces\HasSourceInterface; use Application\Form\AgentMissionSpecifique\AgentMissionSpecifiqueFormAwareTrait; use Application\Form\HasDescription\HasDescriptionFormAwareTrait; use Application\Form\SelectionAgent\SelectionAgentFormAwareTrait; use Application\Provider\Etat\FichePosteEtats; use Application\Service\Agent\AgentServiceAwareTrait; use Application\Service\AgentMissionSpecifique\AgentMissionSpecifiqueServiceAwareTrait; -use Application\Service\FichePoste\FichePosteServiceAwareTrait; use Application\Service\FicheProfil\FicheProfilServiceAwareTrait; use Application\Service\SpecificitePoste\SpecificitePosteServiceAwareTrait; use DateTime; use EntretienProfessionnel\Service\Campagne\CampagneServiceAwareTrait; use EntretienProfessionnel\Service\Delegue\DelegueServiceAwareTrait; use EntretienProfessionnel\Service\EntretienProfessionnel\EntretienProfessionnelServiceAwareTrait; +use FichePoste\Controller\FichePosteController; +use FichePoste\Entity\Db\FichePoste; +use FichePoste\Service\FichePoste\FichePosteServiceAwareTrait; use Laminas\Http\Request; use Laminas\Http\Response; use Laminas\Mvc\Controller\AbstractActionController; @@ -28,7 +28,6 @@ use Structure\Service\Structure\StructureServiceAwareTrait; use Structure\Service\StructureAgentForce\StructureAgentForceServiceAwareTrait; use UnicaenApp\View\Model\CsvModel; use UnicaenDbImport\Entity\Db\Service\Source\SourceServiceAwareTrait; -use UnicaenDbImport\Entity\Db\Source; use UnicaenEtat\Service\Etat\EtatServiceAwareTrait; use UnicaenPdf\Exporter\PdfExporter; use UnicaenUtilisateur\Service\User\UserServiceAwareTrait; diff --git a/module/Structure/src/Structure/Controller/StructureControllerFactory.php b/module/Structure/src/Structure/Controller/StructureControllerFactory.php index 6f05dc9f3..7102f2105 100644 --- a/module/Structure/src/Structure/Controller/StructureControllerFactory.php +++ b/module/Structure/src/Structure/Controller/StructureControllerFactory.php @@ -8,12 +8,12 @@ use Application\Form\HasDescription\HasDescriptionFormAwareTrait; use Application\Form\SelectionAgent\SelectionAgentForm; use Application\Service\Agent\AgentService; use Application\Service\AgentMissionSpecifique\AgentMissionSpecifiqueService; -use Application\Service\FichePoste\FichePosteService; use Application\Service\FicheProfil\FicheProfilService; use Application\Service\SpecificitePoste\SpecificitePosteService; use EntretienProfessionnel\Service\Campagne\CampagneService; use EntretienProfessionnel\Service\Delegue\DelegueService; use EntretienProfessionnel\Service\EntretienProfessionnel\EntretienProfessionnelService; +use FichePoste\Service\FichePoste\FichePosteService; use Interop\Container\ContainerInterface; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; diff --git a/module/Structure/src/Structure/Entity/Db/Mapping/Structure.Entity.Db.Structure.dcm.xml b/module/Structure/src/Structure/Entity/Db/Mapping/Structure.Entity.Db.Structure.dcm.xml index 2be9cdfdf..17c7283e3 100644 --- a/module/Structure/src/Structure/Entity/Db/Mapping/Structure.Entity.Db.Structure.dcm.xml +++ b/module/Structure/src/Structure/Entity/Db/Mapping/Structure.Entity.Db.Structure.dcm.xml @@ -26,7 +26,7 @@ <one-to-many field="gestionnaires" target-entity="Structure\Entity\Db\StructureGestionnaire" mapped-by="structure"/> <one-to-many field="responsables" target-entity="Structure\Entity\Db\StructureResponsable" mapped-by="structure"/> - <many-to-many field="fichesPostesRecrutements" target-entity="Application\Entity\Db\FichePoste" inversed-by="structure" fetch="LAZY"> + <many-to-many field="fichesPostesRecrutements" target-entity="FichePoste\Entity\Db\FichePoste" inversed-by="structure" fetch="LAZY"> <join-table name="structure_ficheposte"> <join-columns> <join-column name="structure_id" referenced-column-name="id"/> @@ -36,7 +36,7 @@ </inverse-join-columns> </join-table> </many-to-many> - <one-to-many target-entity="Application\Entity\Db\Poste" mapped-by="structure" field="postes"/> + <one-to-many target-entity="FichePoste\Entity\Db\Poste" mapped-by="structure" field="postes"/> <one-to-many target-entity="Application\Entity\Db\AgentMissionSpecifique" mapped-by="structure" field="missions"/> <many-to-one target-entity="Structure\Entity\Db\Structure" field="parent"> diff --git a/module/Structure/src/Structure/Entity/Db/Structure.php b/module/Structure/src/Structure/Entity/Db/Structure.php index 4d1d9264a..1a472be6f 100644 --- a/module/Structure/src/Structure/Entity/Db/Structure.php +++ b/module/Structure/src/Structure/Entity/Db/Structure.php @@ -3,13 +3,13 @@ namespace Structure\Entity\Db; use Application\Entity\Db\AgentMissionSpecifique; -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; use Application\Entity\Db\Interfaces\HasDescriptionInterface; -use Application\Entity\Db\Poste; use Application\Entity\Db\Traits\DbImportableAwareTrait; use Application\Entity\Db\Traits\HasDescriptionTrait; use DateTime; use Doctrine\Common\Collections\Collection; +use FichePoste\Entity\Db\Poste; use Laminas\Permissions\Acl\Resource\ResourceInterface; class Structure implements ResourceInterface, HasDescriptionInterface { diff --git a/module/Structure/src/Structure/Service/Structure/StructureService.php b/module/Structure/src/Structure/Service/Structure/StructureService.php index 22a07449c..8544e5ba5 100644 --- a/module/Structure/src/Structure/Service/Structure/StructureService.php +++ b/module/Structure/src/Structure/Service/Structure/StructureService.php @@ -4,13 +4,14 @@ namespace Structure\Service\Structure; use Application\Entity\Db\Agent; use Application\Entity\Db\AgentAffectation; -use Application\Entity\Db\FichePoste; use DateTime; use Doctrine\DBAL\Driver\Exception as DRV_Exception; use Doctrine\DBAL\Exception as DBA_Exception; use Doctrine\ORM\NonUniqueResultException; use Doctrine\ORM\ORMException; use Doctrine\ORM\QueryBuilder; +use FichePoste\Entity\Db\FichePoste; +use Laminas\Mvc\Controller\AbstractActionController; use Structure\Entity\Db\Structure; use Structure\Entity\Db\StructureAgentForce; use Structure\Entity\Db\StructureGestionnaire; @@ -21,7 +22,6 @@ use UnicaenApp\Service\EntityManagerAwareTrait; use UnicaenUtilisateur\Entity\Db\Role; use UnicaenUtilisateur\Entity\Db\User; use UnicaenUtilisateur\Service\User\UserServiceAwareTrait; -use Laminas\Mvc\Controller\AbstractActionController; class StructureService { diff --git a/module/Structure/view/structure/structure/afficher.phtml b/module/Structure/view/structure/structure/afficher.phtml index 35f8c5582..11ead494f 100644 --- a/module/Structure/view/structure/structure/afficher.phtml +++ b/module/Structure/view/structure/structure/afficher.phtml @@ -33,7 +33,7 @@ use Application\Entity\Db\Agent; use Application\Entity\Db\AgentMissionSpecifique; -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; use EntretienProfessionnel\Entity\Db\Campagne; use EntretienProfessionnel\Entity\Db\Delegue; use EntretienProfessionnel\Entity\Db\EntretienProfessionnel; diff --git a/module/Structure/view/structure/structure/dupliquer-fiche-poste.phtml b/module/Structure/view/structure/structure/dupliquer-fiche-poste.phtml index a268087a9..1d2e98a35 100644 --- a/module/Structure/view/structure/structure/dupliquer-fiche-poste.phtml +++ b/module/Structure/view/structure/structure/dupliquer-fiche-poste.phtml @@ -5,7 +5,7 @@ * @var string $url */ -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; ?> diff --git a/module/Structure/view/structure/structure/partial/fiches-postes.phtml b/module/Structure/view/structure/structure/partial/fiches-postes.phtml index 434ae21c3..4d7121e68 100644 --- a/module/Structure/view/structure/structure/partial/fiches-postes.phtml +++ b/module/Structure/view/structure/structure/partial/fiches-postes.phtml @@ -11,7 +11,6 @@ use Application\Entity\Db\Agent; use Application\Provider\Etat\FichePosteEtats; use Application\Provider\Privilege\AgentPrivileges; -use Application\Provider\Privilege\FichePostePrivileges; use Fichier\Entity\Db\Fichier; use Structure\Entity\Db\Structure; use UnicaenEtat\Entity\Db\EtatType; @@ -54,7 +53,7 @@ $date = new DateTime(); <?php endif; ?> <?php if ($canAjouterFichePoste) : ?> - <?php /** @see \Application\Controller\FichePosteController::ajouterAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::ajouterAction() */ ?> <a href="<?php echo $this->url('fiche-poste/ajouter', ['agent' => $agent->getId()], [], true); ?>" target="_blank"> <span class="icon icon-ajouter" data-bs-toggle="tooltip" data-bs-html="true" title="Ajouter la fiche de poste"></span></a> @@ -63,7 +62,7 @@ $date = new DateTime(); <?php endif; ?> <?php if ($structure AND $canAjouterFichePoste) : ?> - <?php /** @see \Application\Controller\FichePosteController::dupliquerAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::dupliquerAction() */ ?> <a href="<?php echo $this->url('fiche-poste/dupliquer', ['structure' => $structure->getId(), 'agent' => $agent->getId()], [], true); ?>" class="ajax-modal" data-event="duplication" > <span class="icon icon-cloner" data-bs-toggle="tooltip" data-bs-html="true" title="Dupliquer une fiche existante"></span></a> @@ -150,7 +149,7 @@ $date = new DateTime(); </td> <td class="action"> <?php if ($canVoirFichePoste) : ?> - <?php /** @see \Application\Controller\FichePosteController::afficherAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::afficherAction() */ ?> <a href="<?php echo $this->url('fiche-poste/afficher', ['fiche-poste' => $ficheposte['id']], [], true); ?>" target="_blank"> <span class="icon icon-voir" data-bs-toggle="tooltip" data-bs-html="true" title="Afficher la fiche de poste"></span></a> @@ -158,7 +157,7 @@ $date = new DateTime(); <span class="icon icon-voir nope" ></span> <?php endif; ?> <?php if ($canExporterFichePoste) : ?> - <?php /** @see \Application\Controller\FichePosteController::exporterAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::exporterAction() */ ?> <a href="<?php echo $this->url('fiche-poste/exporter', ['fiche-poste' => $ficheposte['id']], [], true); ?>" target="_blank"> <span class="icon icon-pdf" data-bs-toggle="tooltip" data-bs-html="true" title="Exporter la fiche de poste"></span></a> @@ -166,7 +165,7 @@ $date = new DateTime(); <span class="icon icon-pdf nope" ></span> <?php endif; ?> <?php if ($canModifierFichePoste AND $ficheposte['etat_code'] !== FichePosteEtats::ETAT_CODE_SIGNEE) : ?> - <?php /** @see \Application\Controller\FichePosteController::editerAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::editerAction() */ ?> <a href="<?php echo $this->url('fiche-poste/editer', ['fiche-poste' => $ficheposte['id']], [], true); ?>" target="_blank"> <span class="icon icon-editer" data-bs-toggle="tooltip" data-bs-html="true" title="Modifier la fiche de poste"></span></a> @@ -175,11 +174,11 @@ $date = new DateTime(); <?php endif; ?> <?php if ($canHistoriserFichePoste AND $ficheposte['etat_code'] !== FichePosteEtats::ETAT_CODE_SIGNEE) : ?> <?php if ($ficheposte['histo_destruction']) : ?> - <?php /** @see \Application\Controller\FichePosteController::restaurerAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::restaurerAction() */ ?> <a href="<?php echo $this->url('fiche-poste/restaurer', ['fiche-poste' => $ficheposte['id']], ['query' => ['retour' => $this->url('structure/afficher', ['structure' => $structure->getId()], ['fragment' => 'informations'], true)]], true); ?>" > <span class="icon icon-restaurer" data-bs-toggle="tooltip" data-bs-html="true" title="Restaurer la fiche de poste"></span></a> <?php else : ?> - <?php /** @see \Application\Controller\FichePosteController::historiserAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::historiserAction() */ ?> <a href="<?php echo $this->url('fiche-poste/historiser', ['fiche-poste' => $ficheposte['id']], ['query' => ['retour' => $this->url('structure/afficher', ['structure' => $structure->getId()], ['fragment' => 'informations'], true)]], true); ?>" > <span class="icon icon-historiser" data-bs-toggle="tooltip" data-bs-html="true" title="Historiser la fiche de poste"></span></a> <?php endif; ?> @@ -187,7 +186,7 @@ $date = new DateTime(); <span class="icon icon-historiser nope"></span> <?php endif; ?> <?php if ($canDetruireFichePoste) : ?> - <?php /** @see \Application\Controller\FichePosteController::detruireAction() */ ?> + <?php /** @see \FichePoste\Controller\FichePosteController::detruireAction() */ ?> <a href="<?php echo $this->url('fiche-poste/detruire', ['fiche-poste' => $ficheposte['id']], [], true); ?>" class="ajax-modal" data-event="modification"> <span class="icon icon-retirer"></span></a> diff --git a/module/Structure/view/structure/structure/partial/postes.phtml b/module/Structure/view/structure/structure/partial/postes.phtml index 88e7cb92b..7018cc6dc 100644 --- a/module/Structure/view/structure/structure/partial/postes.phtml +++ b/module/Structure/view/structure/structure/partial/postes.phtml @@ -1,10 +1,10 @@ <?php /** - * @var Poste[] $postes + * @var \FichePoste\Entity\Db\Poste[] $postes */ -use Application\Entity\Db\Poste; +use FichePoste\Entity\Db\Poste; ?> diff --git a/module/Structure/view/structure/structure/partial/profil.phtml b/module/Structure/view/structure/structure/partial/profil.phtml index 39612889a..e7cb44de2 100644 --- a/module/Structure/view/structure/structure/partial/profil.phtml +++ b/module/Structure/view/structure/structure/partial/profil.phtml @@ -6,7 +6,7 @@ * @var FichePoste[] $fichesRecrutements */ -use Application\Entity\Db\FichePoste; +use FichePoste\Entity\Db\FichePoste; use Application\Entity\Db\FicheProfil; use Application\Provider\Privilege\FicheprofilPrivileges; use Structure\Entity\Db\Structure; -- GitLab