From 2c673cf3284908d9f8b9d4cfa0aedc9ddaa5a7db Mon Sep 17 00:00:00 2001 From: "florian.azizian" <florian.azizian@maarch.org> Date: Tue, 19 Mar 2019 11:06:20 +0100 Subject: [PATCH] FEAT #9107 admin shipping --- .../controllers/ShippingController.php | 55 ++++++++++++++----- .../app/shipping/ShippingControllerTest.php | 2 +- 2 files changed, 42 insertions(+), 15 deletions(-) diff --git a/src/app/shipping/controllers/ShippingController.php b/src/app/shipping/controllers/ShippingController.php index 0716f247d60..99145023376 100755 --- a/src/app/shipping/controllers/ShippingController.php +++ b/src/app/shipping/controllers/ShippingController.php @@ -53,14 +53,28 @@ class ShippingController $shippingInfo['fee'] = (array)json_decode($shippingInfo['fee']); $shippingInfo['entities'] = (array)json_decode($shippingInfo['entities']); - $entities = EntityModel::getAllowedEntitiesByUserId(['userId' => 'superadmin']); - foreach ($entities as $key => $entity) { - $entities[$key]['state']['selected'] = false; - if (in_array($entity['id'], $shippingInfo['entities'])) { - $entities[$key]['state']['selected'] = true; + $allEntities = EntityModel::get(['select' => ['id', 'entity_id', 'entity_label', 'parent_entity_id'], 'where' => ['enabled = ?'], 'data' => ['Y'], 'orderBy' => ['parent_entity_id']]); + foreach ($allEntities as $key => $value) { + $allEntities[$key]['id'] = $value['entity_id']; + $allEntities[$key]['serialId'] = $value['id']; + if (empty($value['parent_entity_id'])) { + $allEntities[$key]['parent'] = '#'; + $allEntities[$key]['icon'] = "fa fa-building"; + } else { + $allEntities[$key]['parent'] = $value['parent_entity_id']; + $allEntities[$key]['icon'] = "fa fa-sitemap"; + } + $allEntities[$key]['state']['opened'] = false; + $allEntities[$key]['allowed'] = true; + if (in_array($value['id'], $shippingInfo['entities'])) { + $allEntities[$key]['state']['opened'] = true; + $allEntities[$key]['state']['selected'] = true; } + + $allEntities[$key]['text'] = $value['entity_label']; } - $shippingInfo['entities'] = $entities; + + $shippingInfo['entities'] = $allEntities; return $response->withJson($shippingInfo); } @@ -89,7 +103,7 @@ class ShippingController $id = ShippingModel::create($body); HistoryController::add([ - 'tableName' => 'shipping', + 'tableName' => 'shippings', 'recordId' => $id, 'eventType' => 'ADD', 'eventId' => 'shippingadd', @@ -128,7 +142,7 @@ class ShippingController ShippingModel::update($body); HistoryController::add([ - 'tableName' => 'shipping', + 'tableName' => 'shippings', 'recordId' => $aArgs['id'], 'eventType' => 'UP', 'eventId' => 'shippingup', @@ -152,7 +166,7 @@ class ShippingController ShippingModel::delete(['id' => $aArgs['id']]); HistoryController::add([ - 'tableName' => 'shipping', + 'tableName' => 'shippings', 'recordId' => $aArgs['id'], 'eventType' => 'DEL', 'eventId' => 'shippingdel', @@ -198,7 +212,7 @@ class ShippingController $errors[] = 'entities must be an array'; } foreach ($aArgs['entities'] as $entity) { - $info = EntityModel::getByEntityId(['entityId' => $entity, 'select' => ['id']]); + $info = EntityModel::getById(['id' => $entity, 'select' => ['id']]); if (empty($info)) { $errors[] = $entity . ' does not exists'; } @@ -214,13 +228,26 @@ class ShippingController return $response->withStatus(403)->withJson(['errors' => 'Service forbidden']); } - $entities = EntityModel::getAllowedEntitiesByUserId(['userId' => 'superadmin']); - foreach ($entities as $key => $entity) { - $entities[$key]['state']['selected'] = false; + $allEntities = EntityModel::get(['select' => ['id', 'entity_id', 'entity_label', 'parent_entity_id'], 'where' => ['enabled = ?'], 'data' => ['Y'], 'orderBy' => ['parent_entity_id']]); + foreach ($allEntities as $key => $value) { + $allEntities[$key]['id'] = $value['entity_id']; + $allEntities[$key]['serialId'] = $value['id']; + if (empty($value['parent_entity_id'])) { + $allEntities[$key]['parent'] = '#'; + $allEntities[$key]['icon'] = "fa fa-building"; + } else { + $allEntities[$key]['parent'] = $value['parent_entity_id']; + $allEntities[$key]['icon'] = "fa fa-sitemap"; + } + $allEntities[$key]['state']['opened'] = false; + $allEntities[$key]['allowed'] = true; + $allEntities[$key]['state']['opened'] = true; + + $allEntities[$key]['text'] = $value['entity_label']; } return $response->withJson([ - 'entities' => $entities, + 'entities' => $allEntities, ]); } } diff --git a/test/unitTests/app/shipping/ShippingControllerTest.php b/test/unitTests/app/shipping/ShippingControllerTest.php index 77f5d49f786..567e7826858 100755 --- a/test/unitTests/app/shipping/ShippingControllerTest.php +++ b/test/unitTests/app/shipping/ShippingControllerTest.php @@ -28,7 +28,7 @@ class ShippingControllerTest extends TestCase 'sendMode' => 'fast' ], 'fee' => ['first_page' => 1, 'next_page' => 2, 'postage_price' => 12], - 'entities' => ['COU', 'PJS'], + 'entities' => [1, 2], 'account' => ['id' => 'toto', 'password' => '1234'] ]; $fullRequest = \httpRequestCustom::addContentInBody($aArgs, $request); -- GitLab