diff --git a/src/Service/ProcessService.php b/src/Service/ProcessService.php index 8fb919cdd9371d872bf72b05f20377ef461d019c..4655c703327dc352e7d7bcac704bab766ee945d3 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