diff --git a/phpunit.xml b/phpunit.xml index 43d61f22e107509f0fddeb946a0366fe04a35526..fc229e56468909eebbe9b5238d015b75044c3e1c 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 6eedc24b6a7d6af127f3624c2d6d5f9206710cf0..4fc50f04e2fa74b9e8a261e3dd536cb9b71eb8e9 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 2e503e6a0cd4265120e461a840b6c58cb45b85f5..e3dfbc3b06e27f6cb18681c92e22dc81eea6b50e 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 0000000000000000000000000000000000000000..b4476834b74ae519b98476f2fc9f25ed04f127ee --- /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); + } +}