From 57db5555b2f52d3bc7843fbeea8e0509d58d166b Mon Sep 17 00:00:00 2001 From: Damien <damien.burel@maarch.org> Date: Wed, 27 Jun 2018 18:08:53 +0200 Subject: [PATCH] [Refactoring] Get categories --- rest/index.php | 1 + .../resource/controllers/ResController.php | 6 ++++ src/core/models/CoreConfigModel.php | 34 +++++++++++-------- 3 files changed, 26 insertions(+), 15 deletions(-) diff --git a/rest/index.php b/rest/index.php index 83b58730664..0584f1b4268 100755 --- a/rest/index.php +++ b/rest/index.php @@ -211,6 +211,7 @@ $app->post('/res/list', \Resource\controllers\ResController::class . ':getList') $app->get('/res/{resId}/lock', \Resource\controllers\ResController::class . ':isLock'); $app->get('/res/{resId}/notes/count', \Resource\controllers\ResController::class . ':getNotesCountForCurrentUserById'); $app->put('/res/externalInfos', \Resource\controllers\ResController::class . ':updateExternalInfos'); +$app->get('/categories', \Resource\controllers\ResController::class . ':getCategories'); //SignatureBook $app->get('/{basketId}/signatureBook/resList', \SignatureBook\controllers\SignatureBookController::class . ':getResList'); diff --git a/src/app/resource/controllers/ResController.php b/src/app/resource/controllers/ResController.php index 8a963ce0426..2942cb2831f 100755 --- a/src/app/resource/controllers/ResController.php +++ b/src/app/resource/controllers/ResController.php @@ -20,6 +20,7 @@ use Docserver\models\DocserverModel; use Group\controllers\GroupController; use Note\models\NoteModel; use Group\models\ServiceModel; +use SrcCore\models\CoreConfigModel; use Status\models\StatusModel; use SrcCore\models\ValidatorModel; use History\controllers\HistoryController; @@ -375,4 +376,9 @@ class ResController return $response->withJson(['resources' => $resources, 'count' => count($resources)]); } + + public function getCategories(Request $request, Response $response) + { + return $response->withJson(['categories' => CoreConfigModel::getLettersBoxCategories()]); + } } diff --git a/src/core/models/CoreConfigModel.php b/src/core/models/CoreConfigModel.php index a8c5a69ba32..47ff3f89575 100644 --- a/src/core/models/CoreConfigModel.php +++ b/src/core/models/CoreConfigModel.php @@ -153,25 +153,29 @@ class CoreConfigModel { $loadedXml = CoreConfigModel::getXmlLoaded(['path' => 'apps/maarch_entreprise/xml/config.xml']); - $categoriesTypes = []; - $categories = $loadedXml->COLLECTION->categories; - if (count($categories) > 0) { - foreach ($categories->category as $category) { - $categoriesTmp = [ - 'id' => (string)$category->id, - 'label' => defined((string)$category->label) ? constant((string)$category->label) : (string)$category->label - ]; - - if ($category->id == (string)$categories->default_category) { - $categoriesTmp['default_category'] = true; - } else { - $categoriesTmp['default_category'] = false; + $categories = []; + + foreach ($loadedXml->COLLECTION as $collection) { + if ($collection->id == 'letterbox_coll') { + foreach ($collection->categories->category as $category) { + if ($category->id == (string)$collection->categories->default_category) { + $categories[] = [ + 'id' => (string)$category->id, + 'label' => defined($category->label) ? constant($category->label) : $category->label, + 'defaultCategory' => true + ]; + } else { + $categories[] = [ + 'id' => (string)$category->id, + 'label' => defined($category->label) ? constant($category->label) : $category->label, + 'defaultCategory' => false + ]; + } } - $categoriesTypes[] = $categoriesTmp; } } - return $categoriesTypes; + return $categories; } public static function getXmlLoaded(array $aArgs) -- GitLab