diff --git a/config/unicaen-signature.local.php.dist b/config/unicaen-signature.local.php.dist index 37b89a4fd0cb8f3895dedf3be0ad5811e79cb803..4a28c3dce9acf13af7dc61c5fff646b8e6be2b6b 100644 --- a/config/unicaen-signature.local.php.dist +++ b/config/unicaen-signature.local.php.dist @@ -120,7 +120,7 @@ return [ // Niveaux de signature disponible 'levels' => [ - \UnicaenSignature\Utils\SignatureConstants::VISA_HIDDEN => 'hidden', + \UnicaenSignature\Utils\SignatureConstants::VISA_HIDDEN => 'hiddenVisa', \UnicaenSignature\Utils\SignatureConstants::VISA_VISUAL => 'visa', \UnicaenSignature\Utils\SignatureConstants::SIGN_VISUAL => 'pdfImageStamp', \UnicaenSignature\Utils\SignatureConstants::SIGN_CERTIF => 'certSign', diff --git a/config/unicaen-signature.local.php.full-dist b/config/unicaen-signature.local.php.full-dist index a0f9764f4df3d1f2926dd1fb9f4513a790c044a4..c65d67a4149cdc785d3935af888c9cb91c97210d 100644 --- a/config/unicaen-signature.local.php.full-dist +++ b/config/unicaen-signature.local.php.full-dist @@ -196,7 +196,7 @@ return [ // Niveaux de signature disponible 'levels' => [ - \UnicaenSignature\Utils\SignatureConstants::VISA_HIDDEN => 'hidden', + \UnicaenSignature\Utils\SignatureConstants::VISA_HIDDEN => 'hiddenVisa', \UnicaenSignature\Utils\SignatureConstants::VISA_VISUAL => 'visa', \UnicaenSignature\Utils\SignatureConstants::SIGN_VISUAL => 'pdfImageStamp', \UnicaenSignature\Utils\SignatureConstants::SIGN_CERTIF => 'certSign', diff --git a/src/Service/ProcessService.php b/src/Service/ProcessService.php index 8fb919cdd9371d872bf72b05f20377ef461d019c..328499f2762e0168982eac51b8dc71f501eee434 100644 --- a/src/Service/ProcessService.php +++ b/src/Service/ProcessService.php @@ -267,6 +267,7 @@ class ProcessService $process->setCurrentStep(1); $processStep = $process->getStep(); $process->setStatus(Signature::STATUS_SIGNATURE_WAIT); + $process->setLastUpdate(new \DateTime()); $this->getObjectManager()->flush(); $this->getObjectManager()->refresh($process); $this->getObjectManager()->refresh($processStep); @@ -296,6 +297,7 @@ class ProcessService if ($processStep->getStatus() == Signature::STATUS_SIGNATURE_REJECT) { $process->setStatus(Signature::STATUS_SIGNATURE_REJECT); + $process->setLastUpdate(new \DateTime()); /** @var SignatureRecipient $recipient */ foreach ($processStep->getSignature()->getRecipients() as $recipient) { if ($recipient->getStatus() != Signature::STATUS_SIGNATURE_REJECT) { @@ -316,6 +318,7 @@ class ProcessService if ($currentStep == $totalSteps) { // FIN du PROCESSUS $process->setStatus(Signature::STATUS_SIGNATURE_SIGNED); + $process->setLastUpdate(new \DateTime()); $this->getObjectManager()->flush(); $this->triggerProcessEvent($process, ProcessEvent::EVENT_TYPE_SIGNED); return; @@ -323,6 +326,7 @@ class ProcessService else { // PASSAGE à l'ETAPE SUIVANTE $process->setCurrentStep($process->getCurrentStep() + 1); + $process->setLastUpdate(new \DateTime()); $this->getObjectManager()->flush(); $this->trigger($process); } @@ -345,6 +349,48 @@ 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; + $signature = $step->getSignature(); + $recipients = $signature->getRecipients(); + foreach($recipients as $recipient) { + $urlDocumentSigned = $recipient->getUrlDocument(); + break; + } + $infosProcess[$keyStep]['urlDocumentSigned'] = $urlDocumentSigned; + + } + if ($step->getStatus() == Signature::STATUS_SIGNATURE_WAIT) { + $labelInfo = 'en attente de signature'; + $infosProcess[$keyStep]['labelInfos'] = $labelInfo; + } + } + + } + + return $infosProcess; + + } + /** * @param Process $process * @param string $eventType diff --git a/src/Service/SignatureService.php b/src/Service/SignatureService.php index b40a59317dec94064d29dc07839cdd379ec7a9a4..92360169a4a5461312edad6b675488980dbc203d 100644 --- a/src/Service/SignatureService.php +++ b/src/Service/SignatureService.php @@ -310,6 +310,7 @@ class SignatureService } else { $optionsStep = $step->getOptions(); + $recipients = []; if(array_key_exists('recipients', $optionsStep)) { $recipients = $step->getOptions()['recipients'];