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/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..2acbf9dea 100644 --- a/config/initializers/extends.rb +++ b/config/initializers/extends.rb @@ -62,14 +62,18 @@ 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', 'active_storage_blobs.filename'] # 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, repository_asset_value: { asset: { file_attachment: :blob } }] # List of implemented core API versions