From e4433a9f8e153d2df7a6104090e5cdb1c3d9808b Mon Sep 17 00:00:00 2001
From: Antony Le Courtes <antony.lecourtes@unicaen.fr>
Date: Mon, 30 Sep 2024 13:58:03 +0200
Subject: [PATCH] =?UTF-8?q?Ajout=20methode=20qui=20renvoie=20une=20synth?=
 =?UTF-8?q?=C3=A8se=20du=20process=20adapt=C3=A9e=20=C3=A0=20l'affichage?=
 =?UTF-8?q?=20utilisateur?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/Service/ProcessService.php | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/src/Service/ProcessService.php b/src/Service/ProcessService.php
index 8fb919c..4655c70 100644
--- a/src/Service/ProcessService.php
+++ b/src/Service/ProcessService.php
@@ -345,6 +345,39 @@ class ProcessService
         }
     }
 
+    /**
+     * Méthode qui renvoie une synthèse des infos process de signature pour affichage
+     *
+     * @param Process $process
+     * @return array
+    */
+    public function getInfosProcess(Process $process): array
+    {
+        $infosProcess = [];
+        foreach ($process->getSteps() as $keyStep => $step) {
+            if ($step->getStatus() == Signature::STATUS_SIGNATURE_SIGNED ||
+                $step->getStatus() == Signature::STATUS_SIGNATURE_WAIT) {
+                $infosProcess[$keyStep] = $step->toArray();
+                if ($step->getStatus() == Signature::STATUS_SIGNATURE_SIGNED) {
+                    $labelInfo     = 'signé par ';
+                    $recipient     = current($infosProcess[$keyStep]['recipients']);
+                    $dateSignature = new \DateTime($recipient['dateFinished']);
+                    $labelInfo     .= $recipient['fullname'] . ' le ' . $dateSignature->format('d/m/Y');
+
+                    $infosProcess[$keyStep]['labelInfos'] = $labelInfo;
+                }
+                if ($step->getStatus() == Signature::STATUS_SIGNATURE_WAIT) {
+                    $labelInfo                                           = 'en attente de signature';
+                    $infosProcess[$keyStep]['labelInfos'] = $labelInfo;
+                }
+            }
+
+        }
+
+        return $infosProcess;
+
+    }
+
     /**
      * @param Process $process
      * @param string $eventType
-- 
GitLab