DatafieldTable: search case insensitive

fixes #2359
This commit is contained in:
Thomas Gelf 2022-12-05 12:40:14 +01:00
parent 7ed87f0cd4
commit 7a29d7db87

View File

@ -5,12 +5,13 @@ namespace Icinga\Module\Director\Web\Table;
use gipfl\IcingaWeb2\Link; use gipfl\IcingaWeb2\Link;
use gipfl\IcingaWeb2\Table\ZfQueryBasedTable; use gipfl\IcingaWeb2\Table\ZfQueryBasedTable;
use Zend_Db_Adapter_Abstract as ZfDbAdapter; use Zend_Db_Adapter_Abstract as ZfDbAdapter;
use Zend_Db_Expr as DbExpr;
use Zend_Db_Select as ZfDbSelect; use Zend_Db_Select as ZfDbSelect;
class DatafieldTable extends ZfQueryBasedTable class DatafieldTable extends ZfQueryBasedTable
{ {
protected $searchColumns = [ protected $searchColumns = [
'df.varname', 'lc_varname',
'df.caption', 'df.caption',
]; ];
@ -19,6 +20,7 @@ class DatafieldTable extends ZfQueryBasedTable
return [ return [
'id' => 'df.id', 'id' => 'df.id',
'varname' => 'df.varname', 'varname' => 'df.varname',
'lc_varname' => new DbExpr('LOWER(df.varname)'),
'caption' => 'df.caption', 'caption' => 'df.caption',
'description' => 'df.description', 'description' => 'df.description',
'datatype' => 'df.datatype', 'datatype' => 'df.datatype',
@ -88,6 +90,15 @@ class DatafieldTable extends ZfQueryBasedTable
)->group('df.id')->group('df.varname')->group('dfc.category_name')->order('caption ASC'); )->group('df.id')->group('df.varname')->group('dfc.category_name')->order('caption ASC');
} }
public function search($search)
{
if ($search !== null) {
$search = strtolower($search);
}
return parent::search($search);
}
/** /**
* @param $type * @param $type
* @param ZfDbAdapter $db * @param ZfDbAdapter $db