From 3caa6b53dea2f81e4c79b7c6643faeb913176b0b Mon Sep 17 00:00:00 2001 From: Damien <damien.burel@maarch.org> Date: Wed, 22 Jan 2020 11:40:58 +0100 Subject: [PATCH] FEAT #12091 TIME 0:15 Non searchable statuses in search controller --- src/app/search/controllers/SearchController.php | 7 +++++++ src/app/status/models/StatusModelAbstract.php | 12 +++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/app/search/controllers/SearchController.php b/src/app/search/controllers/SearchController.php index 3583383767d..5105a763463 100644 --- a/src/app/search/controllers/SearchController.php +++ b/src/app/search/controllers/SearchController.php @@ -127,6 +127,13 @@ class SearchController } } + $nonSearchableStatuses = StatusModel::get(['select' => ['id'], 'where' => ['can_be_searched = ?'], 'data' => ['N']]); + if (!empty($nonSearchableStatuses)) { + $nonSearchableStatuses = array_column($nonSearchableStatuses, 'id'); + $searchWhere[] = 'status not in (?)'; + $searchData[] = $nonSearchableStatuses; + } + $limit = 25; if (!empty($queryParams['limit']) && is_numeric($queryParams['limit'])) { $limit = (int)$queryParams['limit']; diff --git a/src/app/status/models/StatusModelAbstract.php b/src/app/status/models/StatusModelAbstract.php index 51600bd30d0..1b91e475d86 100755 --- a/src/app/status/models/StatusModelAbstract.php +++ b/src/app/status/models/StatusModelAbstract.php @@ -19,17 +19,19 @@ use SrcCore\models\DatabaseModel; abstract class StatusModelAbstract { - public static function get(array $aArgs = []) + public static function get(array $args = []) { - ValidatorModel::arrayType($aArgs, ['select']); + ValidatorModel::arrayType($args, ['select', 'where', 'data']); - $aReturn = DatabaseModel::select([ - 'select' => empty($aArgs['select']) ? ['*'] : $aArgs['select'], + $statuses = DatabaseModel::select([ + 'select' => empty($args['select']) ? ['*'] : $args['select'], 'table' => ['status'], + 'where' => $args['where'] ?? [], + 'data' => $args['data'] ?? [], 'order_by' => ['label_status'] ]); - return $aReturn; + return $statuses; } public static function getById(array $aArgs) -- GitLab