From 08a58b919adb198a2555fc83c706996798abb21d Mon Sep 17 00:00:00 2001 From: Paolo Date: Mon, 10 Oct 2022 14:55:49 +0200 Subject: [PATCH] Added the operations equal and not equal for strings in the FilterComponent --- application/libraries/FilterCmptLib.php | 24 ++++++++++++++++++++---- public/js/components/filter/Filter.js | 2 ++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/application/libraries/FilterCmptLib.php b/application/libraries/FilterCmptLib.php index 97948facf..9d6dfa681 100644 --- a/application/libraries/FilterCmptLib.php +++ b/application/libraries/FilterCmptLib.php @@ -768,15 +768,31 @@ class FilterCmptLib { // comparison (==) case self::OP_EQUAL: - if (is_numeric($filterDefinition->condition)) $condition = '= '.$filterDefinition->condition; + // Numeric + if (is_numeric($filterDefinition->condition)) + { + $condition = '= '.$filterDefinition->condition; + } + else // string type + { + $condition = '= \''.$this->_ci->FiltersModel->escapeLike($filterDefinition->condition).'\''; + } break; // not equal (!=) case self::OP_NOT_EQUAL: - if (is_numeric($filterDefinition->condition)) $condition = '!= '.$filterDefinition->condition; + // Numeric + if (is_numeric($filterDefinition->condition)) + { + $condition = '!= '.$filterDefinition->condition; + } + else // string type + { + $condition = '!= \''.$this->_ci->FiltersModel->escapeLike($filterDefinition->condition).'\''; + } break; // greater than (>) case self::OP_GREATER_THAN: - // It it's a date type + // If it's a date type if (is_numeric($filterDefinition->condition) && isset($filterDefinition->option) && ($filterDefinition->option == self::OPT_HOURS @@ -793,7 +809,7 @@ class FilterCmptLib break; // less than (<) case self::OP_LESS_THAN: - // It it's a date type + // If it's a date type if (is_numeric($filterDefinition->condition) && isset($filterDefinition->option) && ($filterDefinition->option == self::OPT_HOURS diff --git a/public/js/components/filter/Filter.js b/public/js/components/filter/Filter.js index 478f2448e..87100a00c 100644 --- a/public/js/components/filter/Filter.js +++ b/public/js/components/filter/Filter.js @@ -644,6 +644,8 @@ export const CoreFilterCmpt = { || filterField.type.toLowerCase().indexOf('bpchar') >= 0">