From 87288d077154eb2f2918acb7af046e2b9b6ef628 Mon Sep 17 00:00:00 2001 From: Urban Rotnik Date: Mon, 6 Jan 2020 09:39:38 +0100 Subject: [PATCH 1/2] Add search for statuses --- app/models/repository_number_value.rb | 2 +- app/views/search/results/_repositories.html.erb | 2 +- config/initializers/extends.rb | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/models/repository_number_value.rb b/app/models/repository_number_value.rb index e037cc3ce..ff3244c4c 100644 --- a/app/models/repository_number_value.rb +++ b/app/models/repository_number_value.rb @@ -14,7 +14,7 @@ class RepositoryNumberValue < ApplicationRecord SORTABLE_VALUE_INCLUDE = :repository_number_value def formatted - data + data.to_s end def data_changed?(new_data) diff --git a/app/views/search/results/_repositories.html.erb b/app/views/search/results/_repositories.html.erb index f6a31889d..ffd86beae 100644 --- a/app/views/search/results/_repositories.html.erb +++ b/app/views/search/results/_repositories.html.erb @@ -24,7 +24,7 @@ <% repository_row.repository_cells.each do |cell| %> <%=t "search.index.repositories.custom_column", column: cell.repository_column.name %> - <%= highlight cell.value.data, search_query.strip.split(/\s+/) %> + <%= highlight cell.value.formatted, search_query.strip.split(/\s+/) %>
<% end %> diff --git a/config/initializers/extends.rb b/config/initializers/extends.rb index 1a0343ec9..c6986ab8b 100644 --- a/config/initializers/extends.rb +++ b/config/initializers/extends.rb @@ -64,12 +64,14 @@ class Extends REPOSITORY_EXTRA_SEARCH_ATTR = ['repository_text_values.data', 'repository_list_items.data', 'repository_checklist_items.data', + 'repository_status_items.status', 'active_storage_blobs.filename'] # Array of includes used in search query for repository rows REPOSITORY_SEARCH_INCLUDES = [:repository_text_value, repository_list_value: :repository_list_item, repository_checklist_value: :repository_checklist_items, + repository_status_value: :repository_status_item, repository_asset_value: { asset: { file_attachment: :blob } }] # List of implemented core API versions From c15bcf0769c9fbc9f9ffd5a63a53c8ca5e6ec5fb Mon Sep 17 00:00:00 2001 From: Urban Rotnik Date: Mon, 6 Jan 2020 09:56:54 +0100 Subject: [PATCH 2/2] Add search support for numeric --- app/models/concerns/searchable_model.rb | 4 ++-- config/initializers/extends.rb | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/models/concerns/searchable_model.rb b/app/models/concerns/searchable_model.rb index c61a54ea1..75a4dd73e 100644 --- a/app/models/concerns/searchable_model.rb +++ b/app/models/concerns/searchable_model.rb @@ -44,7 +44,7 @@ module SearchableModel "CAST(#{a} AS TEXT) #{like} :t#{i} OR " else col = options[:at_search].to_s == 'true' ? "lower(#{a})": a - "(trim_html_tags(#{col})) #{like} :t#{i} OR " + "(trim_html_tags((#{col})::text)) #{like} :t#{i} OR " end end ).join[0..-5] @@ -86,7 +86,7 @@ module SearchableModel if a == 'repository_rows.id' "CAST(#{a} AS TEXT) #{like} :t#{i} OR " else - "(trim_html_tags(#{a})) #{like} :t#{i} OR " + "(trim_html_tags((#{a})::text)) #{like} :t#{i} OR " end end ).join[0..-5] diff --git a/config/initializers/extends.rb b/config/initializers/extends.rb index c6986ab8b..2acbf9dea 100644 --- a/config/initializers/extends.rb +++ b/config/initializers/extends.rb @@ -62,6 +62,7 @@ class Extends # Extra attributes used for search in repositories, text columns # are only supported REPOSITORY_EXTRA_SEARCH_ATTR = ['repository_text_values.data', + 'repository_number_values.data', 'repository_list_items.data', 'repository_checklist_items.data', 'repository_status_items.status', @@ -69,6 +70,7 @@ class Extends # Array of includes used in search query for repository rows REPOSITORY_SEARCH_INCLUDES = [:repository_text_value, + :repository_number_value, repository_list_value: :repository_list_item, repository_checklist_value: :repository_checklist_items, repository_status_value: :repository_status_item,