From e6c5509bf225f37248fd1fbbcc1d691372f5477c Mon Sep 17 00:00:00 2001
From: "florian.azizian" <florian.azizian@maarch.org>
Date: Mon, 14 Dec 2020 14:07:01 +0100
Subject: [PATCH] FEAT #14565 TIME 0:15 get refused document in proof folder

---
 src/app/history/controllers/HistoryController.php | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/app/history/controllers/HistoryController.php b/src/app/history/controllers/HistoryController.php
index 0669d4bbbd..e2ecfac9ad 100755
--- a/src/app/history/controllers/HistoryController.php
+++ b/src/app/history/controllers/HistoryController.php
@@ -211,25 +211,25 @@ class HistoryController
         }
 
         $workflow = WorkflowModel::getByDocumentId(['select' => ['user_id', 'process_date', 'note', 'status', 'signature_mode'], 'documentId' => $args['id'], 'orderBy' => ['"order"']]);
-        $hasEidas             = false;
+        $hasCertificate       = false;
         $workflowTerminated   = true;
-        $canGetdocaposteProof = true;
+        $workflowCompleted    = true;
         foreach ($workflow as $step) {
-            if (!$hasEidas && in_array($step['signature_mode'], ['eidas', 'rgs_2stars', 'rgs_2stars_timestamped', 'inca_card', 'inca_card_eidas'])) {
-                $hasEidas = true;
+            if (!$hasCertificate && in_array($step['signature_mode'], ['eidas', 'rgs_2stars', 'rgs_2stars_timestamped', 'inca_card', 'inca_card_eidas'])) {
+                $hasCertificate = true;
             }
             if (empty($step['status'])) {
                 $workflowTerminated = false;
             }
             if (in_array($step['status'], ['REF', 'STOP'])) {
-                $canGetdocaposteProof = false;
+                $workflowCompleted = false;
             }
         }
         if (empty($workflow) || !$workflowTerminated) {
             return $response->withStatus(403)->withJson(['errors' => 'The document is still being processed']);
         }
 
-        if ($canGetdocaposteProof) {
+        if ($workflowCompleted) {
             $proofDocument = DigitalSignatureController::proof(['documentId' => $args['id']]);
             if (!empty($proofDocument['errors'])) {
                 return $response->withStatus(403)->withJson(['errors' => $proofDocument['errors']]);
@@ -270,7 +270,7 @@ class HistoryController
                 $mimeType = 'application/xml';
             }
         } else {
-            $eSignDocument = $queryParams['eSignDocument'] ?? $hasEidas;
+            $eSignDocument = $workflowCompleted && ($queryParams['eSignDocument'] ?? $hasCertificate);
 
             $mainDocument = DocumentController::getContentPath(['id' => $args['id'], 'eSignDocument' => $eSignDocument]);
             if (!empty($mainDocument['errors'])) {
-- 
GitLab