From e93cdd56fe6431416d33b2e7364a9f13ebb9845d Mon Sep 17 00:00:00 2001 From: Damien <damien.burel@maarch.org> Date: Thu, 28 Jun 2018 11:27:59 +0200 Subject: [PATCH] [Refactoring] Get natures --- rest/index.php | 1 + .../action/controllers/ActionController.php | 5 +- .../resource/controllers/ResController.php | 7 ++- src/app/resource/models/ResModelAbstract.php | 50 +++++++++++++++++++ src/core/models/CoreConfigModel.php | 29 ----------- 5 files changed, 60 insertions(+), 32 deletions(-) diff --git a/rest/index.php b/rest/index.php index 0584f1b4268..cb0b243c560 100755 --- a/rest/index.php +++ b/rest/index.php @@ -212,6 +212,7 @@ $app->get('/res/{resId}/lock', \Resource\controllers\ResController::class . ':is $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'); +$app->get('/natures', \Resource\controllers\ResController::class . ':getNatures'); //SignatureBook $app->get('/{basketId}/signatureBook/resList', \SignatureBook\controllers\SignatureBookController::class . ':getResList'); diff --git a/src/app/action/controllers/ActionController.php b/src/app/action/controllers/ActionController.php index 82af0b13149..b46818d432f 100644 --- a/src/app/action/controllers/ActionController.php +++ b/src/app/action/controllers/ActionController.php @@ -13,6 +13,7 @@ namespace Action\controllers; use History\controllers\HistoryController; +use Resource\models\ResModel; use Respect\Validation\Validator; use Action\models\ActionModel; use SrcCore\models\CoreConfigModel; @@ -52,7 +53,7 @@ class ActionController } $obj['action']['actionCategories'] = $actionCategories; - $obj['categoriesList'] = CoreConfigModel::getLettersBoxCategories(); + $obj['categoriesList'] = ResModel::getCategories(); if (empty($obj['action']['actionCategories'])) { $categoriesList = []; foreach ($obj['categoriesList'] as $key => $category) { @@ -203,7 +204,7 @@ class ActionController $obj['action']['is_folder_action'] = false; $obj['action']['action_page'] = ''; $obj['action']['id_status'] = '_NOSTATUS_'; - $obj['categoriesList'] = CoreConfigModel::getLettersBoxCategories(); + $obj['categoriesList'] = ResModel::getCategories(); foreach ($obj['categoriesList'] as $key => $value) { $obj['categoriesList'][$key]['selected'] = true; diff --git a/src/app/resource/controllers/ResController.php b/src/app/resource/controllers/ResController.php index 2942cb2831f..25aa66e0da9 100755 --- a/src/app/resource/controllers/ResController.php +++ b/src/app/resource/controllers/ResController.php @@ -379,6 +379,11 @@ class ResController public function getCategories(Request $request, Response $response) { - return $response->withJson(['categories' => CoreConfigModel::getLettersBoxCategories()]); + return $response->withJson(['categories' => ResModel::getCategories()]); + } + + public function getNatures(Request $request, Response $response) + { + return $response->withJson(['natures' => ResModel::getNatures()]); } } diff --git a/src/app/resource/models/ResModelAbstract.php b/src/app/resource/models/ResModelAbstract.php index b4c1d1d578f..15268416915 100644 --- a/src/app/resource/models/ResModelAbstract.php +++ b/src/app/resource/models/ResModelAbstract.php @@ -307,4 +307,54 @@ abstract class ResModelAbstract return $date->format('Y-m-d H:i:s'); } + + public static function getCategories() + { + $loadedXml = CoreConfigModel::getXmlLoaded(['path' => 'apps/maarch_entreprise/xml/config.xml']); + + $categories = []; + + if ($loadedXml) { + foreach ($loadedXml->COLLECTION as $collection) { + $collection = (array)$collection; + + if ($collection['id'] == 'letterbox_coll') { + foreach ($collection['categories']->category as $category) { + $category = (array)$category; + + $categories[] = [ + 'id' => $category['id'], + 'label' => defined($category['label']) ? constant($category['label']) : $category['label'], + 'defaultCategory' => $category['id'] == $collection['categories']->default_category + ]; + } + } + } + } + + return $categories; + } + + public static function getNatures() + { + $loadedXml = CoreConfigModel::getXmlLoaded(['path' => 'apps/maarch_entreprise/xml/entreprise.xml']); + + $natures = []; + + if ($loadedXml) { + foreach ($loadedXml->mail_natures->nature as $nature) { + $withReference = (string)$nature['with_reference'] == 'true' ? true : false; + $nature = (array)$nature; + + $natures[] = [ + 'id' => $nature['id'], + 'label' => defined($nature['label']) ? constant($nature['label']) : $nature['label'], + 'withReference' => $withReference, + 'defaultNature' => $nature['id'] == $loadedXml->mail_natures->default_nature + ]; + } + } + + return $natures; + } } diff --git a/src/core/models/CoreConfigModel.php b/src/core/models/CoreConfigModel.php index 47ff3f89575..8bff0fd2fe2 100644 --- a/src/core/models/CoreConfigModel.php +++ b/src/core/models/CoreConfigModel.php @@ -149,35 +149,6 @@ class CoreConfigModel return $ozwilloConfig; } - public static function getLettersBoxCategories() - { - $loadedXml = CoreConfigModel::getXmlLoaded(['path' => 'apps/maarch_entreprise/xml/config.xml']); - - $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 - ]; - } - } - } - } - - return $categories; - } - public static function getXmlLoaded(array $aArgs) { ValidatorModel::notEmpty($aArgs, ['path']); -- GitLab