diff --git a/module/Application/src/Controller/ContratController.php b/module/Application/src/Controller/ContratController.php index c16bf502e19841f6d92ffc7976208a3cee8769ed..a62e13be21a84daca07f19d194361fbb89ef759e 100755 --- a/module/Application/src/Controller/ContratController.php +++ b/module/Application/src/Controller/ContratController.php @@ -312,17 +312,21 @@ class ContratController extends AbstractController if (!$this->isAllowed($contrat, Privileges::CONTRAT_SAISIE_DATE_RETOUR_SIGNE)) { throw new UnAuthorizedException('Vous n\'avez pas les droits requis pour saisir la date de retour du contrat signé.'); } + $canSaisieDateSigne = true; + if ($contrat->getDateRetourSigne() != null || $contrat->getFichier()->count() > 0) { + $form->bindRequestSave($contrat, $this->getRequest(), function () use ($contrat, $contratToString) { - $form->bindRequestSave($contrat, $this->getRequest(), function () use ($contrat, $contratToString) { - - $this->getServiceContrat()->save($contrat); - $this->updateTableauxBord($contrat->getIntervenant()); - $this->flashMessenger()->addSuccessMessage( - "Saisie du retour $contratToString signé enregistrée avec succès." - ); - }); + $this->getServiceContrat()->save($contrat); + $this->updateTableauxBord($contrat->getIntervenant()); + $this->flashMessenger()->addSuccessMessage( + "Saisie du retour $contratToString signé enregistrée avec succès." + ); + }); + } else { + $canSaisieDateSigne = false; + } - return compact('form', 'done', 'title'); + return compact('form', 'done', 'title', 'canSaisieDateSigne'); } diff --git a/module/Application/view/application/contrat/saisir-retour.phtml b/module/Application/view/application/contrat/saisir-retour.phtml index c0fac3357409e6a8a1ffbcb4d94fe5612f968abb..e202ae6a71984ff780d23e9d549640bddf1a4371 100755 --- a/module/Application/view/application/contrat/saisir-retour.phtml +++ b/module/Application/view/application/contrat/saisir-retour.phtml @@ -12,10 +12,13 @@ <?php if (!$done) echo $this->messenger()->addMessagesFromFlashMessenger(); - -$form->prepare(); -echo $this->form()->openTag($form); -echo $this->formControlGroup($form->get('dateRetourSigne')); -echo $this->formHidden($form->get('security')); -echo $this->formSubmit($form->get('submit')->setAttribute('class', 'btn btn-primary')); -echo $this->form()->closeTag(); \ No newline at end of file +if ($canSaisieDateSigne) { + $form->prepare(); + echo $this->form()->openTag($form); + echo $this->formControlGroup($form->get('dateRetourSigne')); + echo $this->formHidden($form->get('security')); + echo $this->formSubmit($form->get('submit')->setAttribute('class', 'btn btn-primary')); + echo $this->form()->closeTag(); +} else { + echo "Vous ne pouvez pas renseigner la date de retour signé"; +}