diff --git a/src/app/document/controllers/DigitalSignatureController.php b/src/app/document/controllers/DigitalSignatureController.php index 7b5f7076155c358baad5053fd0f8efa9d1136ff4..959946f65ea80697b8857b33d13d06de5e5462df 100755 --- a/src/app/document/controllers/DigitalSignatureController.php +++ b/src/app/document/controllers/DigitalSignatureController.php @@ -137,6 +137,10 @@ class DigitalSignatureController public static function signatory($args = []) { + $config = DigitalSignatureController::getConfig(); + if (!empty($config['signatureIdOverride'])) { + return (string)$config['signatureIdOverride']; + } $user = UserModel::getById(['id' => $args['user_id'], 'select' => ['firstname', 'lastname', 'email']]); $curlResponse = CurlModel::execSimple([ 'url' => $args['config']['url'] . '/transactions/' . $args['transactionId'] . '/signatory/' . $args['position'], @@ -248,13 +252,12 @@ class DigitalSignatureController if (empty($document['digital_signature_transaction_id'])) { return ['errors' => 'No digital_signature_transaction_id for resource : ' . $args['documentId']]; } - $signatureId = $config['signatureIdOverride'] ?? (integer)$args['signatureId']; $curlResponse = CurlModel::execSimple([ 'url' => $config['url'] . '/transactions/' . $document['digital_signature_transaction_id'] . '/signHashes', 'basicAuth' => ['user' => $config['user'], 'password' => $config['password']], 'method' => 'POST', 'multipartBody' => [ - 'signatureId' => $signatureId, + 'signatureId' => (integer)$args['signatureId'], 'hashes' => hash_file('sha256', $tmpDocument->getHashFile()->getPath()), 'hashAlgo' => 'SHA-256' ], @@ -287,7 +290,10 @@ class DigitalSignatureController 'transactionId' => $document['digital_signature_transaction_id'], 'fieldName' => $fieldName ]); - DigitalSignatureController::terminate(['config' => $config, 'transactionId' => $document['digital_signature_transaction_id']]); + $terminateSuccess = DigitalSignatureController::terminate(['config' => $config, 'transactionId' => $document['digital_signature_transaction_id']]); + if (!empty($terminateSuccess['errors'])) { + return ['errors' => $terminateSuccess['errors']]; + } } $storeInfos = DocserverController::storeResourceOnDocServer([ @@ -427,6 +433,9 @@ class DigitalSignatureController public static function abort($args = []) { $config = DigitalSignatureController::getConfig(); + if (!empty($config['signatureIdOverride'])) { + return true; + } $document = DocumentModel::getById(['select' => ['digital_signature_transaction_id'], 'id' => $args['documentId']]); if (empty($document['digital_signature_transaction_id'])) { return ['errors' => 'No digital_signature_transaction_id for resource : ' . $args['documentId']];