diff --git a/app/controllers/workshops_controller.rb b/app/controllers/workshops_controller.rb index ea3349ae8..f2e38e9e0 100644 --- a/app/controllers/workshops_controller.rb +++ b/app/controllers/workshops_controller.rb @@ -3,8 +3,9 @@ class WorkshopsController < ApplicationController def index - search_service = WorkshopSearchService.new(params, super_user: current_user.super_user?).call - @sort = params[:sort] # search_service.default_sort + search_service = WorkshopSearchService.new(params, + super_user: current_user.super_user?).call + @sort = search_service.sort @workshops = search_service.workshops .includes(:categories, :sectors, :windows_type, :user, :images, :bookmarks) diff --git a/app/services/workshop_search_service.rb b/app/services/workshop_search_service.rb index 52515d16a..edd44f0f0 100644 --- a/app/services/workshop_search_service.rb +++ b/app/services/workshop_search_service.rb @@ -19,7 +19,7 @@ def call # Compute the effective sort def default_sort - params[:sort].presence || 'title' + params[:sort].presence || "created" # return params[:sort] if params[:sort].present? # return 'keywords' if params[:query].present? # only when returning weighted results from # search_by_query # 'title' @@ -153,7 +153,7 @@ def order_by_params when 'keywords' # already ordered in filter_by_query else - @workshops = @workshops.order(title: :asc) + @workshops = @workshops.order(created_at: :asc, title: :asc) end end diff --git a/app/views/workshops/_sort_by_options.html.erb b/app/views/workshops/_sort_by_options.html.erb index 5b47b8afb..58da01c7d 100644 --- a/app/views/workshops/_sort_by_options.html.erb +++ b/app/views/workshops/_sort_by_options.html.erb @@ -1,7 +1,7 @@
@@ -9,7 +9,7 @@
diff --git a/spec/services/workshop_search_service_spec.rb b/spec/services/workshop_search_service_spec.rb index 9e5dbf14e..f9c838774 100644 --- a/spec/services/workshop_search_service_spec.rb +++ b/spec/services/workshop_search_service_spec.rb @@ -73,9 +73,9 @@ expect(service.sort).to eq('keywords') end - it "defaults to title if no query or sort is provided" do + it "defaults to created if no query or sort is provided" do service = WorkshopSearchService.new({}).call - expect(service.sort).to eq('title') + expect(service.sort).to eq('created') end end end