diff --git a/module/ExportRh/src/Controller/ExportRhController.php b/module/ExportRh/src/Controller/ExportRhController.php index e1e83983c1ead60b3d450c338ffe2db7a5b21bbe..8284ec2bc00b69ba2eb41f1c688b0c7b1a0718fd 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 5ef4a91ac82f129624b56d2df5af6b1c29b7664a..85f82c10968033f254a846ab7c6cb58afec858c5 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 0000000000000000000000000000000000000000..a59feeac9601f7338d9d8f9d3d0563985edb89ee --- /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 9a873c6cfacc598ca032de03530ad1e28fe09784..3aa87825b9df4d5e87b76970fd36a11acb5813fd 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; ?>