monitoring: Fix that searching for specific columns is no longer possible if default search columns are set

This commit is contained in:
Eric Lippmann 2015-05-27 11:45:00 +02:00
parent 124173f3c8
commit 31400ea16a

View File

@ -216,25 +216,22 @@ class FilterEditor extends AbstractWidget
$filter = $this->getFilter(); $filter = $this->getFilter();
if ($search !== null) { if ($search !== null) {
if (empty($this->searchColumns)) { if (strpos($search, '=') !== false) {
if (strpos($search, '=') === false) { list($k, $v) = preg_split('/=/', $search);
Notification::error(mt('monitoring', 'Cannot search here')); $filter = $this->mergeRootExpression($filter, trim($k), '=', ltrim($v));
return $this; } elseif (! empty($this->searchColumns)) {
} else { if (! $this->resetSearchColumns($filter)) {
list($k, $v) = preg_split('/=/', $search);
$filter = $this->mergeRootExpression($filter, trim($k), '=', ltrim($v));
}
} else {
if (false === $this->resetSearchColumns($filter)) {
$filter = Filter::matchAll(); $filter = Filter::matchAll();
} }
$filters = array(); $filters = array();
$search = ltrim($search); $search = ltrim($search);
foreach ($this->searchColumns as $searchColumn) { foreach ($this->searchColumns as $searchColumn) {
$filters[] = Filter::expression($searchColumn, '=', "*$search*"); $filters[] = Filter::expression($searchColumn, '=', "*$search*");
} }
$filter->andFilter(new FilterOr($filters)); $filter->andFilter(new FilterOr($filters));
} else {
Notification::error(mt('monitoring', 'Cannot search here'));
return $this;
} }
$url = $this->url()->setQueryString( $url = $this->url()->setQueryString(