From 5a192c66d6fa44f4bff241a83b211a19f5a95b79 Mon Sep 17 00:00:00 2001 From: Damien <damien.burel@maarch.org> Date: Thu, 1 Mar 2018 18:21:13 +0100 Subject: [PATCH] [REFACTORING] Return id created when create and update listTemplate --- core/Test/ListTemplateControllerTest.php | 4 ++-- src/app/entity/controllers/ListTemplateController.php | 11 +++++++---- src/app/entity/models/ListTemplateModelAbstract.php | 7 +++++-- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/core/Test/ListTemplateControllerTest.php b/core/Test/ListTemplateControllerTest.php index b126ba0edba..60a2b9b29b8 100644 --- a/core/Test/ListTemplateControllerTest.php +++ b/core/Test/ListTemplateControllerTest.php @@ -51,7 +51,7 @@ class ListTemplateControllerTest extends TestCase $response = $listTemplateController->create($fullRequest, new \Slim\Http\Response()); $responseBody = json_decode((string)$response->getBody()); - $this->assertSame('success', $responseBody->success); + $this->assertInternalType('int', $responseBody->id); // READ $environment = \Slim\Http\Environment::mock(['REQUEST_METHOD' => 'GET']); @@ -136,7 +136,7 @@ class ListTemplateControllerTest extends TestCase $response = $listTemplateController->update($fullRequest, new \Slim\Http\Response(), ['id' => self::$id]); $responseBody = json_decode((string)$response->getBody()); - $this->assertSame('success', $responseBody->success); + $this->assertInternalType('int', $responseBody->id); // READ $environment = \Slim\Http\Environment::mock(['REQUEST_METHOD' => 'GET']); diff --git a/src/app/entity/controllers/ListTemplateController.php b/src/app/entity/controllers/ListTemplateController.php index 98b2c558865..0af7de2271e 100644 --- a/src/app/entity/controllers/ListTemplateController.php +++ b/src/app/entity/controllers/ListTemplateController.php @@ -97,8 +97,9 @@ class ListTemplateController return $response->withStatus(400)->withJson(['errors' => $checkItems['errors']]); } + $listTemplateId = null; foreach ($data['items'] as $item) { - ListTemplateModel::create([ + $listTemplateId = ListTemplateModel::create([ 'object_id' => $data['object_id'], 'object_type' => $data['object_type'], 'title' => $data['title'], @@ -119,7 +120,7 @@ class ListTemplateController 'eventId' => 'listTemplateCreation', ]); - return $response->withJson(['success' => 'success']); + return $response->withJson(['id' => $listTemplateId]); } public function update(Request $request, Response $response, array $aArgs) @@ -158,8 +159,10 @@ class ListTemplateController 'where' => ['object_id = ?', 'object_type = ?'], 'data' => [$listTemplates[0]['object_id'], $listTemplates[0]['object_type']] ]); + + $listTemplateId = null; foreach ($data['items'] as $item) { - ListTemplateModel::create([ + $listTemplateId = ListTemplateModel::create([ 'object_id' => $listTemplates[0]['object_id'], 'object_type' => $listTemplates[0]['object_type'], 'title' => $data['title'], @@ -180,7 +183,7 @@ class ListTemplateController 'eventId' => 'listTemplateModification', ]); - return $response->withJson(['success' => 'success']); + return $response->withJson(['id' => $listTemplateId]); } public function delete(Request $request, Response $response, array $aArgs) diff --git a/src/app/entity/models/ListTemplateModelAbstract.php b/src/app/entity/models/ListTemplateModelAbstract.php index 0e3bf3717f6..1f199dcdaa4 100644 --- a/src/app/entity/models/ListTemplateModelAbstract.php +++ b/src/app/entity/models/ListTemplateModelAbstract.php @@ -65,9 +65,12 @@ class ListTemplateModelAbstract ValidatorModel::stringType($aArgs, ['object_id', 'object_type', 'item_id', 'item_type', 'title', 'description']); ValidatorModel::intVal($aArgs, ['sequence']); + $nextSequenceId = DatabaseModel::getNextSequenceValue(['sequenceId' => 'listmodels_id_seq']); + DatabaseModel::insert([ 'table' => 'listmodels', 'columnsValues' => [ + 'id' => $nextSequenceId, 'object_id' => $aArgs['object_id'], 'object_type' => $aArgs['object_type'], 'sequence' => $aArgs['sequence'], @@ -76,11 +79,11 @@ class ListTemplateModelAbstract 'item_mode' => $aArgs['item_mode'], 'title' => $aArgs['title'], 'description' => $aArgs['description'], - 'visible' => 'Y', + 'visible' => 'Y' ] ]); - return true; + return $nextSequenceId; } public static function update(array $aArgs) -- GitLab