From 6f2c419131279a408a79132033eaac5a8a888f57 Mon Sep 17 00:00:00 2001 From: Angel Aviel Domaoan Date: Tue, 1 Mar 2022 08:54:02 +0000 Subject: [PATCH] Fix sort_by and years --- app/components/document_advanced_search_component.rb | 6 ++++-- app/controllers/api/documents_controller.rb | 2 +- app/controllers/api/jurisprudences_controller.rb | 4 +++- app/controllers/concerns/document_search.rb | 7 +++++-- app/controllers/concerns/jurisprudence_search.rb | 9 ++++++--- app/controllers/decisions_controller.rb | 7 +++++-- 6 files changed, 24 insertions(+), 11 deletions(-) diff --git a/app/components/document_advanced_search_component.rb b/app/components/document_advanced_search_component.rb index 5ecc0e2..b392792 100644 --- a/app/components/document_advanced_search_component.rb +++ b/app/components/document_advanced_search_component.rb @@ -6,6 +6,8 @@ class DocumentAdvancedSearchComponent < BaseComponent end def years - (1901..Time.zone.today.year).entries.reverse + start_year = Cdao::Jurisprudence.order(year: :desc).first(10).compact.map(&:year).uniq.first + end_year = Cdao::Jurisprudence.order(year: :asc).last(10).compact.map(&:year).uniq.first + (start_year..end_year).entries.reverse end -end \ No newline at end of file +end diff --git a/app/controllers/api/documents_controller.rb b/app/controllers/api/documents_controller.rb index 38ce687..1900cff 100644 --- a/app/controllers/api/documents_controller.rb +++ b/app/controllers/api/documents_controller.rb @@ -46,7 +46,7 @@ module Api def search_params params.permit(:reference_number, :title, :short_title, :year, :citation_finder, :q, :page, :per_page, - exclude_ids: []) + exclude_ids: [], sort_by: %i[search_year reference_number search_doc_date]) end end end diff --git a/app/controllers/api/jurisprudences_controller.rb b/app/controllers/api/jurisprudences_controller.rb index 326ee28..b88077a 100644 --- a/app/controllers/api/jurisprudences_controller.rb +++ b/app/controllers/api/jurisprudences_controller.rb @@ -19,7 +19,9 @@ module Api def years authorize! :index, Cdao::Jurisprudence - @years = (1901..Time.zone.today.year).entries.reverse + start_year = Cdao::Jurisprudence.order(year: :desc).first(10).compact.map(&:year).uniq.first + end_year = Cdao::Jurisprudence.order(year: :asc).last(10).compact.map(&:year).uniq.first + @years = (start_year..end_year).entries.reverse respond_with @years end diff --git a/app/controllers/concerns/document_search.rb b/app/controllers/concerns/document_search.rb index 230d1a1..35510dd 100644 --- a/app/controllers/concerns/document_search.rb +++ b/app/controllers/concerns/document_search.rb @@ -17,8 +17,11 @@ module DocumentSearch with(:is_only_in_premium_libraries, false) - order_by :doc_date, :desc - order_by :year, :desc + if search_params[:sort_by].blank? + order_by :search_year, :desc + order_by :reference_number, :desc + order_by :search_doc_date, :desc + end paginate page: search_params[:page] || 1, per_page: search_params[:per_page] || 20 end diff --git a/app/controllers/concerns/jurisprudence_search.rb b/app/controllers/concerns/jurisprudence_search.rb index a61e06e..2965661 100644 --- a/app/controllers/concerns/jurisprudence_search.rb +++ b/app/controllers/concerns/jurisprudence_search.rb @@ -25,9 +25,12 @@ module JurisprudenceSearch with(:is_only_in_premium_libraries, false) - order_by :doc_date, :desc - order_by :year, :desc - + if search_params[:sort_by].blank? + order_by :search_year, :desc + order_by :reference_number, :desc + order_by :search_doc_date, :desc + end + paginate page: search_params[:page] || 1, per_page: search_params[:per_page] || 20 end diff --git a/app/controllers/decisions_controller.rb b/app/controllers/decisions_controller.rb index 0a649f9..e2e334f 100644 --- a/app/controllers/decisions_controller.rb +++ b/app/controllers/decisions_controller.rb @@ -9,7 +9,10 @@ class DecisionsController < ApplicationController search = jurisprudence_search(search_params) @jurisprudences = search.results - @years = (1901..Time.zone.today.year).entries.reverse + + start_year = Cdao::Jurisprudence.order(year: :desc).first(10).compact.map(&:year).uniq.first + end_year = Cdao::Jurisprudence.order(year: :asc).last(10).compact.map(&:year).uniq.first + @years = (start_year..end_year).entries.reverse respond_to do |format| format.html @@ -20,6 +23,6 @@ class DecisionsController < ApplicationController def search_params params.permit(:reference_number, :title, :short_title, :q, :page, :per_page, - :subject_ids) + :subject_ids, sort_by: %i[search_year reference_number search_doc_date]) end end