From e06225fcf16eaf28a5d98120113ed5efb7d2b53c Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Wed, 27 May 2015 11:45:00 +0200 Subject: [PATCH] monitoring: Fix that searching for specific columns is no longer possible if default search columns are set --- library/Icinga/Web/Widget/FilterEditor.php | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/library/Icinga/Web/Widget/FilterEditor.php b/library/Icinga/Web/Widget/FilterEditor.php index 2d64e4c2b..dd84a5e52 100644 --- a/library/Icinga/Web/Widget/FilterEditor.php +++ b/library/Icinga/Web/Widget/FilterEditor.php @@ -216,25 +216,22 @@ class FilterEditor extends AbstractWidget $filter = $this->getFilter(); if ($search !== null) { - if (empty($this->searchColumns)) { - if (strpos($search, '=') === false) { - Notification::error(mt('monitoring', 'Cannot search here')); - return $this; - } else { - list($k, $v) = preg_split('/=/', $search); - $filter = $this->mergeRootExpression($filter, trim($k), '=', ltrim($v)); - } - } else { - if (false === $this->resetSearchColumns($filter)) { + if (strpos($search, '=') !== false) { + list($k, $v) = preg_split('/=/', $search); + $filter = $this->mergeRootExpression($filter, trim($k), '=', ltrim($v)); + } elseif (! empty($this->searchColumns)) { + if (! $this->resetSearchColumns($filter)) { $filter = Filter::matchAll(); } - $filters = array(); $search = ltrim($search); foreach ($this->searchColumns as $searchColumn) { $filters[] = Filter::expression($searchColumn, '=', "*$search*"); } $filter->andFilter(new FilterOr($filters)); + } else { + Notification::error(mt('monitoring', 'Cannot search here')); + return $this; } $url = $this->url()->setQueryString(