From 1161b72618d89a49f561dda31b2b0d3135ab8220 Mon Sep 17 00:00:00 2001 From: Damien <damien.burel@maarch.org> Date: Tue, 24 Nov 2020 15:20:07 +0100 Subject: [PATCH] FEAT #15397 TIME 0:15 Alfresco folder metadata creation --- apps/maarch_entreprise/xml/alfresco.json.default | 5 ++++- .../alfresco/controllers/AlfrescoController.php | 10 +++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/apps/maarch_entreprise/xml/alfresco.json.default b/apps/maarch_entreprise/xml/alfresco.json.default index 98ecf5e434b..0a41d5ca6b5 100644 --- a/apps/maarch_entreprise/xml/alfresco.json.default +++ b/apps/maarch_entreprise/xml/alfresco.json.default @@ -7,7 +7,10 @@ "attachment" : { "cm:name": "title" }, - "folder" : { + "folderCreation" : { + "cm:title": "un titre" + }, + "folderModification" : { "cm:description": "une description" } } diff --git a/src/app/external/alfresco/controllers/AlfrescoController.php b/src/app/external/alfresco/controllers/AlfrescoController.php index 064eacad3c5..d6d0d29e4cc 100644 --- a/src/app/external/alfresco/controllers/AlfrescoController.php +++ b/src/app/external/alfresco/controllers/AlfrescoController.php @@ -593,12 +593,16 @@ class AlfrescoController return ['errors' => 'Alfresco mapping file does not exist']; } + $body = ['name' => str_replace('/', '_', $document['alt_identifier']), 'nodeType' => 'cm:folder']; + if (!empty($alfrescoParameters['mapping']['folderCreation'])) { + $body['properties'] = $alfrescoParameters['mapping']['folderCreation']; + } $curlResponse = CurlModel::execSimple([ 'url' => "{$alfrescoUri}/alfresco/versions/1/nodes/{$args['folderId']}/children", 'basicAuth' => ['user' => $entityInformations['alfresco']['login'], 'password' => $entityInformations['alfresco']['password']], 'headers' => ['content-type:application/json', 'Accept: application/json'], 'method' => 'POST', - 'body' => json_encode(['name' => str_replace('/', '_', $document['alt_identifier']), 'nodeType' => 'cm:folder']) + 'body' => json_encode($body) ]); if ($curlResponse['code'] != 201) { return ['errors' => "Create folder {$document['alt_identifier']} failed : " . json_encode($curlResponse['response'])]; @@ -819,9 +823,9 @@ class AlfrescoController AttachmentModel::update(['set' => ['external_id' => json_encode($externalId)], 'where' => ['res_id = ?'], 'data' => [$attachment['res_id']]]); } - if (!empty($alfrescoParameters['mapping']['folder'])) { + if (!empty($alfrescoParameters['mapping']['folderModification'])) { $body = [ - 'properties' => $alfrescoParameters['mapping']['folder'], + 'properties' => $alfrescoParameters['mapping']['folderModification'], ]; $curlResponse = CurlModel::execSimple([ 'url' => "{$alfrescoUri}/alfresco/versions/1/nodes/{$resourceFolderId}", -- GitLab