Loading module/Application/src/Application/Controller/EntretienProfessionnelController.php +4 −2 Original line number Diff line number Diff line Loading @@ -107,8 +107,10 @@ class EntretienProfessionnelController extends AbstractActionController $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $instance = $this->getFormulaireInstanceService()->createInstance('ENTRETIEN_PROFESSIONNEL'); $entretien->setFormulaireInstance($instance); $entretien_instance = $this->getFormulaireInstanceService()->createInstance('ENTRETIEN_PROFESSIONNEL'); $formation_instance = $this->getFormulaireInstanceService()->createInstance('FORMATION'); $entretien->setFormulaireInstance($entretien_instance); $entretien->setFormationInstance($formation_instance); $this->getEntretienProfessionnelService()->create($entretien); $this->getEntretienProfessionnelService()->recopiePrecedent($entretien); $this->getMailingService()->sendMailType("ENTRETIEN_CONVOCATION_AGENT", ['campagne' => $entretien->getCampagne(), 'entretien' => $entretien, 'user' => $entretien->getAgent()->getUtilisateur()]); Loading module/Application/src/Application/Entity/Db/EntretienProfessionnel.php +20 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,8 @@ class EntretienProfessionnel implements HistoriqueAwareInterface, ResourceInterf private $dateEntretien; /** @var FormulaireInstance */ private $formulaireInstance; /** @var FormulaireInstance */ private $formationInstance; /** @var ArrayCollection (Observation) */ private $observations; Loading Loading @@ -151,6 +153,24 @@ class EntretienProfessionnel implements HistoriqueAwareInterface, ResourceInterf return $this; } /** * @return FormulaireInstance */ public function getFormationInstance() { return $this->formationInstance; } /** * @param FormulaireInstance $formationInstance * @return EntretienProfessionnel */ public function setFormationInstance($formationInstance) { $this->formationInstance = $formationInstance; return $this; } /** OBSERVATIONS **************************************************************************************************/ /** Loading module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.EntretienProfessionnel.dcm.xml +3 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,9 @@ <many-to-one target-entity="Autoform\Entity\Db\FormulaireInstance" field="formulaireInstance"> <join-column name="formulaire_instance" referenced-column-name="id"/> </many-to-one> <many-to-one target-entity="Autoform\Entity\Db\FormulaireInstance" field="formationInstance"> <join-column name="formation_instance" referenced-column-name="id"/> </many-to-one> <field name="dateEntretien" type="datetime" column="date_entretien" nullable="false"/> Loading module/Application/view/application/entretien-professionnel/partial/formulaire.phtml +1 −1 Original line number Diff line number Diff line Loading @@ -93,6 +93,6 @@ $now = new DateTime(); <?php endif; ?> <?php else : ?> <div class="alert alert-danger"> Vous ne pouvez vous le formulaire d'entretien professionnel. Vous ne pouvez pas saisir le formulaire d'entretien professionnel. </div> <?php endif; ?> module/Application/view/application/entretien-professionnel/partial/parcours.phtml +41 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ use Application\Entity\Db\AgentFormation; use Application\Entity\Db\EntretienProfessionnel; use Application\Entity\Db\ParcoursDeFormation; use Application\Provider\Privilege\AgentPrivileges; use Application\Provider\Privilege\EntretienproPrivileges; $agent = $entretien->getAgent(); Loading @@ -22,6 +23,11 @@ $canHistoriser = $this->isAllowed($agent, AgentPrivileges::AGENT_ELEMENT_HISTOR $canDetruire = $this->isAllowed($agent, AgentPrivileges::AGENT_ELEMENT_DETRUIRE); $canValider = $this->isAllowed($agent, AgentPrivileges::AGENT_ELEMENT_VALIDER); $canValiderAgent = $this->isAllowed($entretien, EntretienproPrivileges::ENTRETIENPRO_VALIDER_AGENT); $canValiderResponsable = $this->isAllowed($entretien, EntretienproPrivileges::ENTRETIENPRO_VALIDER_RESPONSABLE); $canValiderDrh = $this->isAllowed($entretien, EntretienproPrivileges::ENTRETIENPRO_VALIDER_DRH); $canRenseigner = $canValiderDrh OR $canValiderResponsable OR $canValiderAgent; $droits = [ 'afficher' => $canVoir, 'ajouter' => $canAjouter, Loading Loading @@ -75,8 +81,42 @@ $now = new DateTime(); </div> <?php endif; ?> <h2> Compte-rendu d'entretien de formation </h2> <?php $instance = $entretien->getFormationInstance(); $formulaire = $instance->getFormulaire(); $reponses = $instance->getReponses(); /** nécessaire car l'aide de vue var utiliser l'id du champ comme référence dans le tableau ... */ $data = []; foreach ($reponses as $reponse) { $data[$reponse->getChamp()->getId()] = $reponse; } ?> <?php if ($canRenseigner) : ?> <?php if (($entretien->getDateEntretien() > $now) AND ($entretien->getValidationResponsable() === null OR $entretien->getValidationResponsable()->estHistorise())) : ?> <?php /** @see \Autoform\View\Helper\InstanceAsFormulaireHelper */ $retour = $this->url('entretien-professionnel/renseigner', ['entretien' => $entretien->getId()], ['force_canonical' => false], true); $url = $this->url('autoform/formulaire/afficher-formulaire', ['formulaire' => $formulaire->getId(), 'instance' => $instance->getId()], ['query' => ['retour' => $retour], 'force_canonical' => false], true); echo $this->instanceAsFormulaire()->render($instance, $url, $data); ?> <?php else : ?> <?php echo $this->instanceAsText()->render($instance); ?> <?php endif; ?> <?php else : ?> <div class="alert alert-danger"> Vous ne pouvez saisir le formulaire d'entretien de formation. </div> <?php endif; ?> <h2> Parcours obligatoire d'entrée dans le métier </h2> <div class="row"> <div class="col-md-1"></div> <div class="col-md-10"> Loading Loading @@ -121,3 +161,4 @@ $now = new DateTime(); /** @see \Application\View\Helper\AgentFormationViewHelper */ echo $this->agentFormation($agent, $options); ?> Loading
module/Application/src/Application/Controller/EntretienProfessionnelController.php +4 −2 Original line number Diff line number Diff line Loading @@ -107,8 +107,10 @@ class EntretienProfessionnelController extends AbstractActionController $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $instance = $this->getFormulaireInstanceService()->createInstance('ENTRETIEN_PROFESSIONNEL'); $entretien->setFormulaireInstance($instance); $entretien_instance = $this->getFormulaireInstanceService()->createInstance('ENTRETIEN_PROFESSIONNEL'); $formation_instance = $this->getFormulaireInstanceService()->createInstance('FORMATION'); $entretien->setFormulaireInstance($entretien_instance); $entretien->setFormationInstance($formation_instance); $this->getEntretienProfessionnelService()->create($entretien); $this->getEntretienProfessionnelService()->recopiePrecedent($entretien); $this->getMailingService()->sendMailType("ENTRETIEN_CONVOCATION_AGENT", ['campagne' => $entretien->getCampagne(), 'entretien' => $entretien, 'user' => $entretien->getAgent()->getUtilisateur()]); Loading
module/Application/src/Application/Entity/Db/EntretienProfessionnel.php +20 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,8 @@ class EntretienProfessionnel implements HistoriqueAwareInterface, ResourceInterf private $dateEntretien; /** @var FormulaireInstance */ private $formulaireInstance; /** @var FormulaireInstance */ private $formationInstance; /** @var ArrayCollection (Observation) */ private $observations; Loading Loading @@ -151,6 +153,24 @@ class EntretienProfessionnel implements HistoriqueAwareInterface, ResourceInterf return $this; } /** * @return FormulaireInstance */ public function getFormationInstance() { return $this->formationInstance; } /** * @param FormulaireInstance $formationInstance * @return EntretienProfessionnel */ public function setFormationInstance($formationInstance) { $this->formationInstance = $formationInstance; return $this; } /** OBSERVATIONS **************************************************************************************************/ /** Loading
module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.EntretienProfessionnel.dcm.xml +3 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,9 @@ <many-to-one target-entity="Autoform\Entity\Db\FormulaireInstance" field="formulaireInstance"> <join-column name="formulaire_instance" referenced-column-name="id"/> </many-to-one> <many-to-one target-entity="Autoform\Entity\Db\FormulaireInstance" field="formationInstance"> <join-column name="formation_instance" referenced-column-name="id"/> </many-to-one> <field name="dateEntretien" type="datetime" column="date_entretien" nullable="false"/> Loading
module/Application/view/application/entretien-professionnel/partial/formulaire.phtml +1 −1 Original line number Diff line number Diff line Loading @@ -93,6 +93,6 @@ $now = new DateTime(); <?php endif; ?> <?php else : ?> <div class="alert alert-danger"> Vous ne pouvez vous le formulaire d'entretien professionnel. Vous ne pouvez pas saisir le formulaire d'entretien professionnel. </div> <?php endif; ?>
module/Application/view/application/entretien-professionnel/partial/parcours.phtml +41 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ use Application\Entity\Db\AgentFormation; use Application\Entity\Db\EntretienProfessionnel; use Application\Entity\Db\ParcoursDeFormation; use Application\Provider\Privilege\AgentPrivileges; use Application\Provider\Privilege\EntretienproPrivileges; $agent = $entretien->getAgent(); Loading @@ -22,6 +23,11 @@ $canHistoriser = $this->isAllowed($agent, AgentPrivileges::AGENT_ELEMENT_HISTOR $canDetruire = $this->isAllowed($agent, AgentPrivileges::AGENT_ELEMENT_DETRUIRE); $canValider = $this->isAllowed($agent, AgentPrivileges::AGENT_ELEMENT_VALIDER); $canValiderAgent = $this->isAllowed($entretien, EntretienproPrivileges::ENTRETIENPRO_VALIDER_AGENT); $canValiderResponsable = $this->isAllowed($entretien, EntretienproPrivileges::ENTRETIENPRO_VALIDER_RESPONSABLE); $canValiderDrh = $this->isAllowed($entretien, EntretienproPrivileges::ENTRETIENPRO_VALIDER_DRH); $canRenseigner = $canValiderDrh OR $canValiderResponsable OR $canValiderAgent; $droits = [ 'afficher' => $canVoir, 'ajouter' => $canAjouter, Loading Loading @@ -75,8 +81,42 @@ $now = new DateTime(); </div> <?php endif; ?> <h2> Compte-rendu d'entretien de formation </h2> <?php $instance = $entretien->getFormationInstance(); $formulaire = $instance->getFormulaire(); $reponses = $instance->getReponses(); /** nécessaire car l'aide de vue var utiliser l'id du champ comme référence dans le tableau ... */ $data = []; foreach ($reponses as $reponse) { $data[$reponse->getChamp()->getId()] = $reponse; } ?> <?php if ($canRenseigner) : ?> <?php if (($entretien->getDateEntretien() > $now) AND ($entretien->getValidationResponsable() === null OR $entretien->getValidationResponsable()->estHistorise())) : ?> <?php /** @see \Autoform\View\Helper\InstanceAsFormulaireHelper */ $retour = $this->url('entretien-professionnel/renseigner', ['entretien' => $entretien->getId()], ['force_canonical' => false], true); $url = $this->url('autoform/formulaire/afficher-formulaire', ['formulaire' => $formulaire->getId(), 'instance' => $instance->getId()], ['query' => ['retour' => $retour], 'force_canonical' => false], true); echo $this->instanceAsFormulaire()->render($instance, $url, $data); ?> <?php else : ?> <?php echo $this->instanceAsText()->render($instance); ?> <?php endif; ?> <?php else : ?> <div class="alert alert-danger"> Vous ne pouvez saisir le formulaire d'entretien de formation. </div> <?php endif; ?> <h2> Parcours obligatoire d'entrée dans le métier </h2> <div class="row"> <div class="col-md-1"></div> <div class="col-md-10"> Loading Loading @@ -121,3 +161,4 @@ $now = new DateTime(); /** @see \Application\View\Helper\AgentFormationViewHelper */ echo $this->agentFormation($agent, $options); ?>