From 44766a20ec7bc1417b3b533979953805e30ec6ae Mon Sep 17 00:00:00 2001 From: Ioannis Igoumenos Date: Mon, 2 May 2022 13:12:02 +0300 Subject: [PATCH] Construct filtering fields dynamically --- app/src/Lib/Traits/SearchFilterTrait.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/app/src/Lib/Traits/SearchFilterTrait.php b/app/src/Lib/Traits/SearchFilterTrait.php index 6a13472f9..b685e3279 100644 --- a/app/src/Lib/Traits/SearchFilterTrait.php +++ b/app/src/Lib/Traits/SearchFilterTrait.php @@ -95,7 +95,18 @@ public function setSearchFilter(string $attribute, bool $caseSensitive=false, string $label=null, bool $substring=true): void { - $this->searchFilters[$attribute] = compact('caseSensitive', 'label', 'substring'); +// $this->searchFilters[$attribute] = compact('caseSensitive', 'label', 'substring'); + foreach ($this->filterMetadataFields() as $column => $type) { + // If the column is an array then we are accessing the Metadata fields. Skip + if(is_array($column)) { + continue; + } + $this->searchFilters[$column] = [ + 'substring' => ($type === "string"), + 'label' => null, + 'caseSensitive' => false, + ]; + } } /**