|
|
|
@ -1,24 +1,25 @@ |
|
|
|
class FilterManager |
|
|
|
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 |
|
|
|
@current_user = current_user |
|
|
|
@session = session |
|
|
|
@session = session |
|
|
|
@params = params |
|
|
|
@params = params |
|
|
|
|
|
|
|
@filter_type = filter_type |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
def serialize_filters_to_session(filter_type, specific_org: false) |
|
|
|
def serialize_filters_to_session(specific_org: false) |
|
|
|
session["#{filter_type}_filters"] = session_filters(filter_type, specific_org:).to_json |
|
|
|
session["#{@filter_type}_filters"] = session_filters(specific_org:).to_json |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
def session_filters(filter_type, specific_org: false) |
|
|
|
def session_filters(specific_org: false) |
|
|
|
@session_filters ||= deserialize_filters_from_session(filter_type, specific_org) |
|
|
|
@session_filters ||= deserialize_filters_from_session(specific_org) |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
def deserialize_filters_from_session(filter_type, specific_org) |
|
|
|
def deserialize_filters_from_session(specific_org) |
|
|
|
current_filters = session["#{filter_type}_filters"] |
|
|
|
current_filters = session["#{@filter_type}_filters"] |
|
|
|
new_filters = current_filters.present? ? JSON.parse(current_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| |
|
|
|
current_user.logs_filters(specific_org:).each do |filter| |
|
|
|
new_filters[filter] = params[filter] if params[filter].present? |
|
|
|
new_filters[filter] = params[filter] if params[filter].present? |
|
|
|
end |
|
|
|
end |
|
|
|
|