From a73a1662bfca2286d55ef8d4558e96310049d932 Mon Sep 17 00:00:00 2001 From: natdeanlewissoftwire Date: Mon, 5 Jun 2023 13:58:57 +0100 Subject: [PATCH] refactor: initalize filter_type --- app/controllers/lettings_logs_controller.rb | 6 +++--- app/controllers/organisations_controller.rb | 6 +++--- app/controllers/sales_logs_controller.rb | 6 +++--- app/models/filter_manager.rb | 19 ++++++++++--------- 4 files changed, 19 insertions(+), 18 deletions(-) diff --git a/app/controllers/lettings_logs_controller.rb b/app/controllers/lettings_logs_controller.rb index ef7f079a9..88e32e6fe 100644 --- a/app/controllers/lettings_logs_controller.rb +++ b/app/controllers/lettings_logs_controller.rb @@ -115,15 +115,15 @@ class LettingsLogsController < LogsController private def set_session_filters - filter_manager.serialize_filters_to_session("lettings_logs") + filter_manager.serialize_filters_to_session end def session_filters - filter_manager.session_filters("lettings_logs") + filter_manager.session_filters end def filter_manager - FilterManager.new(current_user:, session:, params:) + FilterManager.new(current_user:, session:, params:, filter_type: "lettings_logs") end def org_params diff --git a/app/controllers/organisations_controller.rb b/app/controllers/organisations_controller.rb index 6888897bb..0a4072c98 100644 --- a/app/controllers/organisations_controller.rb +++ b/app/controllers/organisations_controller.rb @@ -167,15 +167,15 @@ private end def set_session_filters - filter_manager.serialize_filters_to_session(filter_type, specific_org: true) + filter_manager.serialize_filters_to_session(specific_org: true) end def session_filters - filter_manager.session_filters(filter_type, specific_org: true) + filter_manager.session_filters(specific_org: true) end def filter_manager - FilterManager.new(current_user:, session:, params:) + FilterManager.new(current_user:, session:, params:, filter_type: ) end def org_params diff --git a/app/controllers/sales_logs_controller.rb b/app/controllers/sales_logs_controller.rb index d52dea9bb..3b7d04698 100644 --- a/app/controllers/sales_logs_controller.rb +++ b/app/controllers/sales_logs_controller.rb @@ -82,15 +82,15 @@ class SalesLogsController < LogsController private def set_session_filters - filter_manager.serialize_filters_to_session("sales_logs") + filter_manager.serialize_filters_to_session end def session_filters - filter_manager.session_filters("sales_logs") + filter_manager.session_filters end def filter_manager - FilterManager.new(current_user:, session:, params:) + FilterManager.new(current_user:, session:, params:, filter_type: "sales_logs") end def extract_bulk_upload_from_session_filters diff --git a/app/models/filter_manager.rb b/app/models/filter_manager.rb index cbeb2d6b6..b5ee34c88 100644 --- a/app/models/filter_manager.rb +++ b/app/models/filter_manager.rb @@ -1,24 +1,25 @@ class FilterManager - attr_reader :current_user, :session, :params + attr_reader :current_user, :session, :params, :filter_type - def initialize(current_user:, session:, params:) + def initialize(current_user:, session:, params:, filter_type:) @current_user = current_user @session = session @params = params + @filter_type = filter_type end - def serialize_filters_to_session(filter_type, specific_org: false) - session["#{filter_type}_filters"] = session_filters(filter_type, specific_org:).to_json + def serialize_filters_to_session(specific_org: false) + session["#{@filter_type}_filters"] = session_filters(specific_org:).to_json end - def session_filters(filter_type, specific_org: false) - @session_filters ||= deserialize_filters_from_session(filter_type, specific_org) + def session_filters(specific_org: false) + @session_filters ||= deserialize_filters_from_session(specific_org) end - def deserialize_filters_from_session(filter_type, specific_org) - current_filters = session["#{filter_type}_filters"] + def deserialize_filters_from_session(specific_org) + current_filters = session["#{@filter_type}_filters"] new_filters = current_filters.present? ? JSON.parse(current_filters) : {} - if filter_type.include?("logs") + if @filter_type.include?("logs") current_user.logs_filters(specific_org:).each do |filter| new_filters[filter] = params[filter] if params[filter].present? end