From 4c02e4b27e4939711e6e5edb69e511bb675d0e5f Mon Sep 17 00:00:00 2001 From: Damien <damien.burel@maarch.org> Date: Tue, 24 Mar 2020 11:25:14 +0100 Subject: [PATCH] FEAT #11902 TIME 1:00 Fix reconcile when already signed --- src/app/action/controllers/ActionMethodController.php | 6 +++++- src/app/action/controllers/PreProcessActionController.php | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/app/action/controllers/ActionMethodController.php b/src/app/action/controllers/ActionMethodController.php index ff7a9a24377..810287aa4a8 100644 --- a/src/app/action/controllers/ActionMethodController.php +++ b/src/app/action/controllers/ActionMethodController.php @@ -920,6 +920,11 @@ class ActionMethodController if (!empty($storeResult['errors'])) { return ['errors' => ["[storeResourceOnDocServer] {$storeResult['errors']}"]]; } + + $alreadySigned = AdrModel::getDocuments(['select' => [1], 'where' => ['type = ?', 'res_id = ?', 'version = ?'], 'data' => ['SIGN', $args['data']['resId'], $targetResource['version']]]); + if (!empty($alreadySigned)) { + AdrModel::deleteDocumentAdr(['where' => ['res_id = ?', 'type in (?)', 'version = ?'], 'data' => [$args['data']['resId'], ['SIGN', 'TNL'], $targetResource['version']]]); + } AdrModel::createDocumentAdr([ 'resId' => $args['data']['resId'], 'type' => 'SIGN', @@ -929,7 +934,6 @@ class ActionMethodController 'version' => $targetResource['version'], 'fingerprint' => $storeResult['fingerPrint'] ]); - } else { $id = StoreController::storeAttachment([ 'encodedFile' => base64_encode(file_get_contents($pathToDocument)), diff --git a/src/app/action/controllers/PreProcessActionController.php b/src/app/action/controllers/PreProcessActionController.php index 396f54a7e98..dac99fedfbb 100755 --- a/src/app/action/controllers/PreProcessActionController.php +++ b/src/app/action/controllers/PreProcessActionController.php @@ -1488,10 +1488,10 @@ class PreProcessActionController } if (empty($resource['filename'])) { - $resourcesInformation['error'][] = ['alt_identifier' => $resource['alt_identifier'], 'res_id' => $resId, 'reason' => 'noFilename']; + $resourcesInformation['error'][] = ['alt_identifier' => $resource['alt_identifier'], 'res_id' => $resId, 'reason' => 'noFile']; continue; } - + $resourcesInformation['success'][] = ['alt_identifier' => $resource['alt_identifier'], 'res_id' => $resId]; } -- GitLab