Skip to content

Commit

Permalink
Only qualify base columns during quick searches
Browse files Browse the repository at this point in the history
All other columns are already qualified relative to the
base model. This is usually sufficient because qualification
is only required if applied to a query, which isn't happening
at this stage.

fixes #979
  • Loading branch information
nilmerg committed Mar 14, 2024
1 parent b18db1c commit ecb5126
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 6 deletions.
8 changes: 6 additions & 2 deletions library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php
Original file line number Diff line number Diff line change
Expand Up @@ -121,8 +121,12 @@ protected function createQuickSearchFilter($searchTerm)

$quickFilter = Filter::any();
foreach ($model->getSearchColumns() as $column) {
$where = Filter::like($resolver->qualifyColumn($column, $model->getTableName()), $searchTerm);
$where->metaData()->set('columnLabel', $resolver->getColumnDefinition($where->getColumn())->getLabel());
if (strpos($column, '.') === false) {
$column = $resolver->qualifyColumn($column, $model->getTableName());
}

$where = Filter::like($column, $searchTerm);
$where->metaData()->set('columnLabel', $resolver->getColumnDefinition($column)->getLabel());
$quickFilter->add($where);
}

Expand Down
9 changes: 5 additions & 4 deletions library/Icingadb/Web/Controller.php
Original file line number Diff line number Diff line change
Expand Up @@ -307,10 +307,11 @@ protected function prepareSearchFilter(Query $query, string $search, Filter\Any
{
$columns = array_merge($query->getModel()->getSearchColumns(), $additionalColumns);
foreach ($columns as $column) {
$filter->add(Filter::like(
$query->getResolver()->qualifyColumn($column, $query->getModel()->getTableName()),
"*$search*"
));
if (strpos($column, '.') === false) {
$column = $query->getResolver()->qualifyColumn($column, $query->getModel()->getTableName());
}

$filter->add(Filter::like($column, "*$search*"));
}
}

Expand Down

0 comments on commit ecb5126

Please sign in to comment.