diff --git a/module/ExportRh/src/Controller/ExportRhController.php b/module/ExportRh/src/Controller/ExportRhController.php index eadb5d04999d55033c915345f918cbed00632b22..e4eb53bceeff67a1486a783f09e884f780ccad3e 100644 --- a/module/ExportRh/src/Controller/ExportRhController.php +++ b/module/ExportRh/src/Controller/ExportRhController.php @@ -7,11 +7,13 @@ use Application\Controller\AbstractController; use Application\Entity\Db\Contrat; use Application\Service\Traits\ContextServiceAwareTrait; use Application\Service\Traits\DossierServiceAwareTrait; +use Application\Service\Traits\IntervenantServiceAwareTrait; use ExportRh\Form\ExportRhForm; use ExportRh\Form\Traits\ExportRhFormAwareTrait; use ExportRh\Service\ExportRhService; use ExportRh\Service\ExportRhServiceAwareTrait; use UnicaenSiham\Exception\SihamException; +use Zend\Validator\Date; use Zend\View\Model\ViewModel; class ExportRhController extends AbstractController @@ -21,6 +23,7 @@ class ExportRhController extends AbstractController use ContextServiceAwareTrait; use DossierServiceAwareTrait; use ExportRhFormAwareTrait; + use IntervenantServiceAwareTrait; /** * @var ExportRhService $exportRhService @@ -117,7 +120,9 @@ class ExportRhController extends AbstractController * */ try { - $intervenantRh = $this->exportRhService->getIntervenantRh($intervenant); + if ($intervenant->getStatut()->getCode() != 'BIATSS' && $typeIntervenant != 'P') { + $intervenantRh = $this->exportRhService->getIntervenantRh($intervenant); + } //On a trouvé un intervenant dans le SI RH @@ -143,7 +148,7 @@ class ExportRhController extends AbstractController } catch (\Exception $e) { $this->flashMessenger()->addErrorMessage($e->getMessage()); } - $haveContratOse = true; + $vm = new ViewModel(); $vm->setTemplate('export-rh/export-rh/exporter'); @@ -182,6 +187,7 @@ class ExportRhController extends AbstractController if ($result !== false) { $this->flashMessenger()->addSuccessMessage('succes matricule : ' . $result); + $this->getServiceIntervenant()->updateExportDate($intervenant); } else { $this->flashMessenger()->addErrorMessage('Probleme prise en charge'); } @@ -205,10 +211,14 @@ class ExportRhController extends AbstractController throw new \LogicException('Intervenant non précisé ou inexistant'); } + $dateExport = new \DateTime(); + $intervenant->setExportDate($dateExport); + $this->getServiceIntervenant()->save($intervenant); $posts = $this->getRequest()->getPost(); $result = $this->exportRhService->renouvellementIntervenantRh($intervenant, $posts); if ($result !== false) { $this->flashMessenger()->addSuccessMessage('Le renouvellement s\'est déroulé avec succés'); + $this->getServiceIntervenant()->updateExportDate($intervenant); } else { $this->flashMessenger()->addErrorMessage('Un problème est survenu lors de la tentative de renouvellement de l\'intervenant'); } diff --git a/module/ExportRh/view/export-rh/export-rh/exporter.phtml b/module/ExportRh/view/export-rh/export-rh/exporter.phtml index 491f814ca571d5271657d503edda7dcb72bc986b..e3b0f0382262350a1bfb619b1a399f597c1b3a6b 100755 --- a/module/ExportRh/view/export-rh/export-rh/exporter.phtml +++ b/module/ExportRh/view/export-rh/export-rh/exporter.phtml @@ -20,21 +20,20 @@ if ($priseEnCharge) { <?php if ($this->isAllowed($intervenant, \ExportRh\Assertion\ExportRhAssertion::PRIV_CAN_INTERVENANT_EXPORT_RH)): ?> <form class="form-export-rh" action="<?= $this->url($action, ['intervenant' => $intervenant->getId()]) ?>" method="post"> - <?php echo $this->messenger()->addCurrentMessagesFromFlashMessenger(); ?> - <?php if ($typeIntervenant == 'P'): ?> + <?php if ($typeIntervenant == 'P' || $intervenant->getStatut()->getCode() == 'BIATSS'): ?> <div class="messenger alert alert-warning"> - L'export des données intervenants vers <?= $nameConnecteur; ?> n'est pas disponible pour les intervenants permanents. + L'export des données intervenants vers <?= $nameConnecteur; ?> est disponible uniquement pour les vacataires (hors BIATSS) </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é. </div> - <?php endif; ?> - <?php if ($haveContratOse === true): ?> + + <?php elseif ($haveContratOse === true): ?> <div class="well"> <?php if (empty($intervenantRh)): ?>