From ab1f2ddf0b789fc681eaf1c71204c1d0750e9138 Mon Sep 17 00:00:00 2001
From: joriot221 <florian.joriot@unicarn.fr>
Date: Mon, 14 Feb 2022 16:45:49 +0100
Subject: [PATCH] =?UTF-8?q?Verification=20de=20presence=20de=20fichier=20p?=
 =?UTF-8?q?our=20la=20saisie=20de=20date=20de=20retour=20sign=C3=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../src/Controller/ContratController.php      | 22 +++++++++++--------
 .../application/contrat/saisir-retour.phtml   | 17 ++++++++------
 2 files changed, 23 insertions(+), 16 deletions(-)

diff --git a/module/Application/src/Controller/ContratController.php b/module/Application/src/Controller/ContratController.php
index c16bf502e1..a62e13be21 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 c0fac33574..e202ae6a71 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é";
+}
-- 
GitLab