From aa210ef971d495e57b21e361abf4ae2be7b3f17b Mon Sep 17 00:00:00 2001 From: "florian.azizian" <florian.azizian@maarch.org> Date: Wed, 16 Jan 2019 14:19:18 +0100 Subject: [PATCH] FEAT #9284 get export template --- phpunit.xml | 1 + rest/index.php | 2 ++ .../resource/controllers/ExportController.php | 31 +++++++++---------- .../app/resource/ExportControllerTest.php | 28 +++++++++++++++++ 4 files changed, 46 insertions(+), 16 deletions(-) create mode 100644 test/unitTests/app/resource/ExportControllerTest.php diff --git a/phpunit.xml b/phpunit.xml index 43d61f22e10..fc229e56468 100755 --- a/phpunit.xml +++ b/phpunit.xml @@ -25,6 +25,7 @@ <file>test/unitTests/app/report/ReportControllerTest.php</file> <file>test/unitTests/app/resource/ResControllerTest.php</file> <file>test/unitTests/app/resource/ResourceListControllerTest.php</file> + <file>test/unitTests/app/resource/ExportControllerTest.php</file> <file>test/unitTests/app/status/StatusControllerTest.php</file> <file>test/unitTests/app/user/UserControllerTest.php</file> <file>test/unitTests/app/versionUpdate/VersionUpdateControllerTest.php</file> diff --git a/rest/index.php b/rest/index.php index 6eedc24b6a7..4fc50f04e2f 100755 --- a/rest/index.php +++ b/rest/index.php @@ -258,6 +258,8 @@ $app->get('/resources/{resId}/isAllowed', \Resource\controllers\ResController::c $app->get('/resourcesList/users/{userId}/groups/{groupId}/baskets/{basketId}', \Resource\controllers\ResourceListController::class . ':get'); $app->get('/resourcesList/users/{userId}/groups/{groupId}/baskets/{basketId}/filters', \Resource\controllers\ResourceListController::class . ':getFilters'); +$app->get('/resourcesList/exportTemplate', \Resource\controllers\ExportController::class . ':getExportTemplate'); + //Attachments $app->post('/attachments', \Attachment\controllers\AttachmentController::class . ':create'); $app->get('/res/{resId}/attachments', \Attachment\controllers\AttachmentController::class . ':getAttachmentsListById'); diff --git a/src/app/resource/controllers/ExportController.php b/src/app/resource/controllers/ExportController.php index 2e503e6a0cd..e3dfbc3b06e 100644 --- a/src/app/resource/controllers/ExportController.php +++ b/src/app/resource/controllers/ExportController.php @@ -36,6 +36,21 @@ use User\models\UserModel; class ExportController { + public function getExportTemplate(Request $request, Response $response) + { + $currentUser = UserModel::getByLogin(['login' => $GLOBALS['userId'], 'select' => ['id']]); + + $template = ExportTemplateModel::getByUserId(['userId' => $currentUser['id']]); + $delimiter = ""; + $templateData = ""; + if (!empty($template)) { + $delimiter = $template['delimiter']; + $templateData = (array)json_decode($template['data']); + } + + return $response->withJson(['template' => $templateData, 'delimiter' => $delimiter]); + } + public function getExport(Request $request, Response $response, array $aArgs) { $currentUser = UserModel::getByLogin(['login' => $GLOBALS['userId'], 'select' => ['id']]); @@ -192,41 +207,25 @@ class ExportController } if ($value['value'] == 'getStatus') { - } elseif ($value['value'] == 'getPriority') { - } elseif ($value['value'] == 'getCopyEntities') { - } elseif ($value['value'] == 'getDetailLink') { - } elseif ($value['value'] == 'getParentFolder') { - } elseif ($value['value'] == 'getCategory') { - } elseif ($value['value'] == 'getInitiatorEntity') { - } elseif ($value['value'] == 'getDestinationEntity') { - } elseif ($value['value'] == 'getContactType') { - } elseif ($value['value'] == 'getContactCivility') { - } elseif ($value['value'] == 'getContactFunction') { - } elseif ($value['value'] == 'getTags') { - } elseif ($value['value'] == 'getSignatories') { - } elseif ($value['value'] == 'getSignatureDates') { - } $resources = []; if (!empty($resIds)) { - $resources = ResourceListModel::get(['resIds' => $resIds]); - } return $response->withJson(['resources' => $resources, 'basketLabel' => $basket['basket_name']]); diff --git a/test/unitTests/app/resource/ExportControllerTest.php b/test/unitTests/app/resource/ExportControllerTest.php new file mode 100644 index 00000000000..b4476834b74 --- /dev/null +++ b/test/unitTests/app/resource/ExportControllerTest.php @@ -0,0 +1,28 @@ +<?php + +/** +* Copyright Maarch since 2008 under licence GPLv3. +* See LICENCE.txt file at the root folder for more details. +* This file is part of Maarch software. +* +*/ + +use PHPUnit\Framework\TestCase; + +class ExportControllerTest extends TestCase +{ + public function testGetExportTemplate() + { + $ExportController = new \Resource\controllers\ExportController(); + + // GET + $environment = \Slim\Http\Environment::mock(['REQUEST_METHOD' => 'GET']); + $request = \Slim\Http\Request::createFromEnvironment($environment); + + $response = $ExportController->getExportTemplate($request, new \Slim\Http\Response()); + $responseBody = json_decode((string)$response->getBody()); + + $this->assertInternalType('string', $responseBody->template); + $this->assertInternalType('string', $responseBody->delimiter); + } +} -- GitLab