From 8d445b2d1d4c5df8179ca4e96073e6daae0ef96a Mon Sep 17 00:00:00 2001 From: "florian.azizian" <florian.azizian@maarch.org> Date: Mon, 14 Dec 2020 23:56:04 +0100 Subject: [PATCH] FEAT #14565 TIME 1:30 sometimes signature was not set on document --- .../CertificateSignatureController.php | 2 +- .../DigitalSignatureController.php | 2 +- .../controllers/DocumentController.php | 28 ++++++------------- 3 files changed, 11 insertions(+), 21 deletions(-) diff --git a/src/app/document/controllers/CertificateSignatureController.php b/src/app/document/controllers/CertificateSignatureController.php index 47deffc95f..2edc751aeb 100755 --- a/src/app/document/controllers/CertificateSignatureController.php +++ b/src/app/document/controllers/CertificateSignatureController.php @@ -151,7 +151,7 @@ class CertificateSignatureController $height = $imageXObject->getHeight($width); $fieldName = $signer->addSignatureField( - \SetaPDF_Signer_SignatureField::DEFAULT_FIELD_NAME, + 'Signature_' . rand(), $signatureInfo['page'], \SetaPDF_Signer_SignatureField::POSITION_LEFT_TOP, ['x' => $signatureInfo['positionX'], 'y' => -$signatureInfo['positionY']], diff --git a/src/app/document/controllers/DigitalSignatureController.php b/src/app/document/controllers/DigitalSignatureController.php index ab2bfdf2c6..9679e2f154 100755 --- a/src/app/document/controllers/DigitalSignatureController.php +++ b/src/app/document/controllers/DigitalSignatureController.php @@ -198,7 +198,7 @@ class DigitalSignatureController $height = $imageXObject->getHeight($width); $fieldName = $signer->addSignatureField( - \SetaPDF_Signer_SignatureField::DEFAULT_FIELD_NAME, + 'Signature_' . rand(), $args['signatureInfo']['page'], \SetaPDF_Signer_SignatureField::POSITION_LEFT_TOP, ['x' => $args['signatureInfo']['positionX'], 'y' => -$args['signatureInfo']['positionY']], diff --git a/src/app/document/controllers/DocumentController.php b/src/app/document/controllers/DocumentController.php index 4103285b09..67c15d1827 100755 --- a/src/app/document/controllers/DocumentController.php +++ b/src/app/document/controllers/DocumentController.php @@ -144,6 +144,7 @@ class DocumentController if (empty($adr[0]['count']) && $document['status'] != 'CONVERTING') { $configPath = CoreConfigModel::getConfigPath(); exec("php src/app/convert/scripts/ThumbnailScript.php '{$configPath}' {$args['id']} 'document' '{$GLOBALS['id']}' > /dev/null"); + $adr[0]['count'] = 1; } $formattedDocument = [ @@ -515,10 +516,10 @@ class DocumentController return $response->withStatus(400)->withJson(['errors' => 'Action does not exist']); } - $workflow = WorkflowModel::getCurrentStep(['select' => ['id', 'mode', 'user_id', 'signature_mode', 'digital_signature_id'], 'documentId' => $args['id']]); - $libDir = CoreConfigModel::getLibrariesDirectory(); + $workflow = WorkflowModel::getCurrentStep(['select' => ['id', 'mode', 'user_id', 'signature_mode', 'digital_signature_id'], 'documentId' => $args['id']]); + $libDir = CoreConfigModel::getLibrariesDirectory(); $loadedXml = CoreConfigModel::getConfig(); - $tmpPath = CoreConfigModel::getTmpPath(); + $tmpPath = CoreConfigModel::getTmpPath(); if ($workflow['mode'] == 'sign' && $workflow['signature_mode'] != 'stamp') { if (empty($libDir) || !is_file($libDir . 'SetaPDF-Signer/library/SetaPDF/Autoload.php')) { @@ -1139,25 +1140,14 @@ class DocumentController ValidatorModel::notEmpty($args, ['id']); ValidatorModel::intVal($args, ['id']); - $adr = AdrModel::getDocumentsAdr([ - 'select' => ['path', 'filename'], - 'where' => ['main_document_id = ?', 'type = ?'], - 'data' => [$args['id'], 'DOC'] - ]); - if (empty($adr)) { + $content = DocumentController::getContentPath(['id' => $args['id'], 'eSignDocument' => false]); + if (empty($content)) { return ['errors' => 'Document does not exist']; - } - $docserver = DocserverModel::getByType(['type' => 'DOC', 'select' => ['path']]); - if (empty($docserver['path']) || !file_exists($docserver['path'])) { - return ['errors' => 'Docserver does not exist']; - } - - $pathToDocument = $docserver['path'] . $adr[0]['path'] . $adr[0]['filename']; - if (!is_file($pathToDocument) || !is_readable($pathToDocument)) { - return ['errors' => 'Document not found on docserver or not readable']; + } elseif (!empty($content['errors'])) { + return ['errors' => $content['errors']]; } - return ['path' => $pathToDocument]; + return ['path' => $content['path']]; } private static function processSignatures(array $args) -- GitLab