From bd3c94a4ec6530fc33e6c102e0b775905451c0c9 Mon Sep 17 00:00:00 2001 From: Antony Le Courtes <antony.lecourtes@unicaen.fr> Date: Mon, 27 Sep 2021 10:46:48 +0200 Subject: [PATCH] Ajout hydrator pour mapper le statut OSE avec le statut SIHAM --- .../src/Controller/ExportRhController.php | 1 + module/ExportRh/src/Form/ExportRhForm.php | 4 + .../src/Hydrator/ExportRhHydrator.php | 73 +++++++++++++++++++ .../view/export-rh/export-rh/exporter.phtml | 15 ++-- 4 files changed, 88 insertions(+), 5 deletions(-) create mode 100644 module/ExportRh/src/Hydrator/ExportRhHydrator.php diff --git a/module/ExportRh/src/Controller/ExportRhController.php b/module/ExportRh/src/Controller/ExportRhController.php index e1e83983c1..8284ec2bc0 100644 --- a/module/ExportRh/src/Controller/ExportRhController.php +++ b/module/ExportRh/src/Controller/ExportRhController.php @@ -148,6 +148,7 @@ class ExportRhController extends AbstractController $nameConnecteur = $this->exportRhService->getConnecteurName(); $form = $this->getExportRhForm($intervenant); + $form->bind($intervenantDossier); } catch (\Exception $e) { $this->flashMessenger()->addErrorMessage($e->getMessage()); } diff --git a/module/ExportRh/src/Form/ExportRhForm.php b/module/ExportRh/src/Form/ExportRhForm.php index 5ef4a91ac8..85f82c1096 100644 --- a/module/ExportRh/src/Form/ExportRhForm.php +++ b/module/ExportRh/src/Form/ExportRhForm.php @@ -4,6 +4,7 @@ namespace ExportRh\Form; use Application\Form\AbstractForm; use ExportRh\Form\Fieldset\GeneriqueFieldset; +use ExportRh\Hydrator\ExportRhHydrator; use Zend\Form\Fieldset; class ExportRhForm extends AbstractForm @@ -29,6 +30,9 @@ class ExportRhForm extends AbstractForm $this->add($generiqueFieldset->init()); //Partie sépcifique au connecteur SI RH $this->add($this->fieldsetConnecteur->init()); + + $hydrator = new ExportRhHydrator(); + $this->setHydrator($hydrator); $this->add([ diff --git a/module/ExportRh/src/Hydrator/ExportRhHydrator.php b/module/ExportRh/src/Hydrator/ExportRhHydrator.php new file mode 100644 index 0000000000..a59feeac96 --- /dev/null +++ b/module/ExportRh/src/Hydrator/ExportRhHydrator.php @@ -0,0 +1,73 @@ +<?php + +namespace ExportRh\Hydrator; + + +use Zend\Hydrator\HydratorInterface; + +/** + * + * + */ +class ExportRhHydrator implements HydratorInterface +{ + + /** + * Extract values from an object + * + * @param IntervenantDossier $object + * + * @return array + */ + public function extract($object) + { + //On mappe automatiquement le bon statut RH selon le statut OSE + $statut = $object->getStatut(); + $statutRh = ''; + + switch ($statut->getCode()) { + case 'VACFONCSUAPS': + case 'VACNONFONCSUAPS': + case 'VAC.SUAPS': + $statutRh = 'C1204'; + break; + case 'INTERMITTENT': + $statutRh = 'C1201'; + break; + case 'SALAR_PRIVE': + case 'AUTO_LIBER_INDEP': + $statutRh = 'C2038'; + break; + case 'SALAR_PUBLIC': + $statutRh = 'C2052'; + break; + case 'RETR_HORS_UCBN': + case 'ETUD_UCBN': + $statutRh = 'C2041'; + break; + } + + $data['connecteurForm'] = [ + 'statut' => $statutRh, + ]; + + + return $data; + } + + + + /** + * @param array $data + * @param object $object + * + * @return object + */ + + public function hydrate(array $data, $object) + { + + return $object; + } + +} \ No newline at end of file diff --git a/module/ExportRh/view/export-rh/export-rh/exporter.phtml b/module/ExportRh/view/export-rh/export-rh/exporter.phtml index 9a873c6cfa..3aa87825b9 100755 --- a/module/ExportRh/view/export-rh/export-rh/exporter.phtml +++ b/module/ExportRh/view/export-rh/export-rh/exporter.phtml @@ -29,7 +29,8 @@ if ($priseEnCharge) { </div> <?php elseif ($haveContratOse === false): ?> <div class="messenger alert alert-warning"> - L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> n'a pas encore retourné son contrat. Vous pourrez le renouveller ou le prendre en charge dans <?= $nameConnecteur; ?> une fois le contrat retourné et daté. + L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> (<?= $intervenantDossier->getStatut()->getLibelle() ?>) n'a pas encore retourné son contrat. Vous pourrez le renouveller ou le prendre en charge dans <?= $nameConnecteur; ?> une fois le + contrat retourné et daté. </div> @@ -37,17 +38,21 @@ if ($priseEnCharge) { <div class="well"> <?php if (empty($intervenantRh)): ?> - <p>L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> n'a pas été trouvé dans <?= $nameConnecteur; ?>. Vous pouvez si vous le souhaiter prendre en charge cet intervenant avec les données de son dossier, résumées ci-dessous :</p> + <p>L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> (<?= $intervenantDossier->getStatut()->getLibelle() ?>) n'a pas été trouvé dans <?= $nameConnecteur; ?>. Vous pouvez si vous le souhaiter prendre en charge cet intervenant avec les + données de son dossier, résumées ci-dessous :</p> <?php else: ?> <?php if (!empty($affectationEnCours) && !empty($contratsEnCours)): ?> - <p>L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> est bien dans le <?= $nameConnecteur ?> (<strong>numéro de matricule :</strong> <?= $intervenantRh->getCodeRh() ?>). Il possède déjà actuellement une affectation pour l'année + <p>L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> (<?= $intervenantDossier->getStatut()->getLibelle() ?>) est bien dans le <?= $nameConnecteur ?> (<strong>numéro de matricule :</strong> <?= $intervenantRh->getCodeRh() ?>). Il + possède déjà actuellement une affectation pour l'année universitaire <?= $intervenant->getAnnee()->getLibelle() ?>. Vous pouvez mettre à jour ses données personnelles si vous le souhaitez avec le bouton synchronisation en bas de page.</p> <?php elseif (!empty($affectationEnCours) && empty($contratsEnCours)): ?> - <p>L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> est bien dans le <?= $nameConnecteur ?> (<strong>numéro de matricule :</strong> <?= $intervenantRh->getCodeRh() ?>).Il possède une affectation mais pas encore de contrat + <p>L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> (<?= $intervenantDossier->getStatut()->getLibelle() ?>) est bien dans le <?= $nameConnecteur ?> (<strong>numéro de matricule :</strong> <?= $intervenantRh->getCodeRh() ?>).Il + possède une affectation mais pas encore de contrat pour l'année <?= $intervenant->getAnnee()->getLibelle() ?>. Vous pouvez mettre à jour ses données personnelles si vous le souhaitez avec le bouton synchronisation en bas de page</p> <?php else: ?> - <p>L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> est bien dans le <?= $nameConnecteur ?> (<strong>numéro de matricule :</strong> <?= $intervenantRh->getCodeRh() ?>).Il ne possède pas encore d'affectation pour + <p>L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> (<?= $intervenantDossier->getStatut()->getLibelle() ?>) est bien dans le <?= $nameConnecteur ?> (<strong>numéro de matricule :</strong> <?= $intervenantRh->getCodeRh() ?>).Il ne + possède pas encore d'affectation pour l'année <?= $intervenant->getAnnee()->getLibelle() ?>. Vous pouvez le renouveller pour cette année à l'aide du formulaire ci-dessous.</p> <?php endif; ?> <?php endif; ?> -- GitLab