diff --git a/app/models/saved_search.rb b/app/models/saved_search.rb index 301c1ec24..2e7cc7cbf 100644 --- a/app/models/saved_search.rb +++ b/app/models/saved_search.rb @@ -104,7 +104,16 @@ class SavedSearch < ApplicationRecord q = q.labeled(params[:label]) end - q.apply_default_order(params) + case params[:order] + when "query" + q = q.order(:query).order(id: :desc) + when "label" + q = q.order(:labels).order(id: :desc) + else + q = q.apply_default_order(params) + end + + q end def populate(query, timeout: 10_000) diff --git a/app/views/saved_searches/index.html.erb b/app/views/saved_searches/index.html.erb index cc4b1a21e..370e1cc8d 100644 --- a/app/views/saved_searches/index.html.erb +++ b/app/views/saved_searches/index.html.erb @@ -8,8 +8,9 @@ <%= search_form_for(saved_searches_path) do |f| %> - <%= f.input :query_ilike, label: "Query", input_html: { value: params[:search][:query_ilike] } %> + <%= f.input :query_ilike, label: "Query", hint: "Use * for wildcard", input_html: { value: params[:search][:query_ilike] } %> <%= f.input :label, label: "Label", input_html: { value: params[:search][:label] } %> + <%= f.input :order, collection: [%w[Newest id], %w[Query query], %w[Label label]], include_blank: false, selected: params[:search][:order] %> <%= f.submit "Search" %> <% end %>