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