From 2fb02d66c3804ff3f6e8c7a5df97d1f0679539c5 Mon Sep 17 00:00:00 2001 From: "florian.azizian" <florian.azizian@maarch.org> Date: Fri, 16 Oct 2020 17:17:29 +0200 Subject: [PATCH] FEAT #15045 TIME 0:30 WIP Export seda action + fix admin doctypes --- .../controllers/ExportSEDATrait.php | 19 ++++++++++++++++--- .../exportSeda/controllers/SedaController.php | 7 ++++--- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/app/external/exportSeda/controllers/ExportSEDATrait.php b/src/app/external/exportSeda/controllers/ExportSEDATrait.php index 8af6dc4e621..84cc5a476c4 100644 --- a/src/app/external/exportSeda/controllers/ExportSEDATrait.php +++ b/src/app/external/exportSeda/controllers/ExportSEDATrait.php @@ -161,7 +161,13 @@ trait ExportSEDATrait } $messageSaved = ExportSEDATrait::saveMessage(['messageObject' => $sedaPackage['messageObject']]); - $elementSend = ExportSEDATrait::sendSedaPackage(['messageId' => $messageSaved, 'config' => $config, 'encodedFile' => $sedaPackage['encodedFile'], 'resId' => $resource['res_id']]); + $elementSend = ExportSEDATrait::sendSedaPackage([ + 'messageId' => $messageSaved['messageId'], + 'config' => $config, + 'encodedFilePath' => $sedaPackage['encodedFilePath'], + 'messageFilename' => $sedaPackage['messageFilename'], + 'resId' => $resource['res_id'] + ]); if (!empty($elementSend['errors'])) { return ['errors' => [$elementSend['errors']]]; } @@ -171,15 +177,21 @@ trait ExportSEDATrait private static function sendSedaPackage() { + $bodyData = [ + 'messageFile' => base64_encode(file_get_contents($args['encodedFilePath'])), + 'filename' => $args['messageFilename'], + 'schema' => 'seda2' + ]; $curlResponse = CurlModel::execSimple([ - 'url' => rtrim($args['config']['exportSeda']['urlSAEService'], '/') . '/medona/create', + 'url' => rtrim($args['config']['exportSeda']['urlSAEService'], '/') . '/medona/archiveTransfer', 'method' => 'POST', 'cookie' => 'LAABS-AUTH=' . urlencode($args['config']['exportSeda']['token']), 'headers' => [ 'Accept: application/json', 'Content-Type: application/json', 'User-Agent: ' . $args['config']['exportSeda']['userAgent'] - ] + ], + 'body' => json_encode($bodyData) ]); if (!empty($curlResponse['errors'])) { @@ -189,6 +201,7 @@ trait ExportSEDATrait } // TODO GET XML + $pathToDocument = 'xmlFile'; $id = StoreController::storeAttachment([ 'encodedFile' => base64_encode(file_get_contents($pathToDocument)), diff --git a/src/app/external/exportSeda/controllers/SedaController.php b/src/app/external/exportSeda/controllers/SedaController.php index 62c91d609ea..53307890034 100755 --- a/src/app/external/exportSeda/controllers/SedaController.php +++ b/src/app/external/exportSeda/controllers/SedaController.php @@ -430,12 +430,13 @@ class SedaController return $response->withStatus(403)->withJson(['errors' => 'Service forbidden']); } + $retentionRules = []; + $config = CoreConfigModel::getJsonLoaded(['path' => 'apps/maarch_entreprise/xml/config.json']); if (empty($config['exportSeda']['sae'])) { - return $response->withStatus(400)->withJson(['errors' => 'No SAE found in config.json']); + return $response->withJson(['retentionRules' => $retentionRules]); } - - $retentionRules = []; + if (strtolower($config['exportSeda']['sae']) == 'maarchrm') { $curlResponse = CurlModel::execSimple([ 'url' => rtrim($config['exportSeda']['urlSAEService'], '/') . '/recordsManagement/retentionRule/Index', -- GitLab