diff --git a/app/controllers/case_logs_controller.rb b/app/controllers/case_logs_controller.rb index 3f0e2ea53..b4b4f4851 100644 --- a/app/controllers/case_logs_controller.rb +++ b/app/controllers/case_logs_controller.rb @@ -135,7 +135,7 @@ private def set_session_filters new_filters = session[:case_logs_filters].present? ? JSON.parse(session[:case_logs_filters]) : {} - %i[status year].each { |filter| new_filters[filter] = params[filter] if params[filter].present? } + %i[status years].each { |filter| new_filters[filter] = params[filter] if params[filter].present? } session[:case_logs_filters] = new_filters.to_json end end diff --git a/app/models/case_log.rb b/app/models/case_log.rb index d19957594..b398c4eb6 100644 --- a/app/models/case_log.rb +++ b/app/models/case_log.rb @@ -35,15 +35,14 @@ class CaseLog < ApplicationRecord scope :for_organisation, ->(org) { where(owning_organisation: org).or(where(managing_organisation: org)) } scope :filter_by_status, ->(status) { where status: status } - scope :filter_by_year, lambda { |year_s| - years = Array(year_s) + scope :filter_by_years, lambda { |years| first_year = years.shift - query = where("startdate >= ?", Time.utc(first_year.to_i, 4, 1)).where("startdate <= ?", Time.utc(first_year.to_i + 1, 3, 31).end_of_day) - years.each do |year| - query = query.or(where("startdate >= ?", Time.utc(year.to_i, 4, 1)).where("startdate <= ?", Time.utc(year.to_i + 1, 3, 31).end_of_day)) - end + query = filter_by_year(first_year) + years.each { |year| query = query.or(filter_by_year(year)) } query.all } + scope :filter_by_year, ->(year) { where(startdate: Time.utc(year.to_i, 4, 1)...Time.utc(year.to_i + 1, 4, 1)) } + AUTOGENERATED_FIELDS = %w[id status created_at updated_at discarded_at].freeze OPTIONAL_FIELDS = %w[postcode_known la_known first_time_property_let_as_social_housing tenant_code propcode].freeze diff --git a/app/views/case_logs/_log_filters.erb b/app/views/case_logs/_log_filters.erb index fb1cb32fa..09432faa7 100644 --- a/app/views/case_logs/_log_filters.erb +++ b/app/views/case_logs/_log_filters.erb @@ -2,9 +2,9 @@