From bae1e298d76cff11e7079f6062fc202f97a6400c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Zrim=C5=A1ek?= Date: Wed, 14 Jun 2017 19:49:08 +0200 Subject: [PATCH] Fixed repositories search to only search the current repository. [SCI-1357] --- app/datatables/repository_datatable.rb | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/app/datatables/repository_datatable.rb b/app/datatables/repository_datatable.rb index bf1f2f947..9e9550c98 100644 --- a/app/datatables/repository_datatable.rb +++ b/app/datatables/repository_datatable.rb @@ -185,18 +185,20 @@ class RepositoryDatatable < AjaxDatatablesRails::Base end # Overriden to make it work for custom columns, because they are polymorphic - def simple_search(records) - return records unless params[:search].present? && - params[:search][:value].present? + # NOTE: Function assumes the provided records/rows are only from the current + # repository! + def simple_search(repo_rows) + return repo_rows unless params[:search].present? && + params[:search][:value].present? search_val = params[:search][:value] - filtered_ids = RepositoryRow.select do |r| + filtered_rows = repo_rows.select do |r| row_cells = [r.name, r.created_at.strftime(Constants::DATE_FORMAT), r.created_by.full_name] row_cells.push(*r.repository_cells.collect { |c| c.value.data }) row_cells.any? { |c| c.include?(search_val) } end - records.where!(id: filtered_ids) + repo_rows.where(id: filtered_rows) end # Override default sort method if needed