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