From 40f37c5948a67cf3aca5ce991e76993ec8d3faaa Mon Sep 17 00:00:00 2001 From: eladeyal-intel Date: Sat, 7 Mar 2020 17:04:05 +0200 Subject: [PATCH] fix filter by blank string --- app/controllers/events_controller.rb | 4 ++-- app/helpers/events_helper.rb | 4 +++- app/views/events/_filters.html.haml | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/controllers/events_controller.rb b/app/controllers/events_controller.rb index db0b087ad..f8b098a58 100644 --- a/app/controllers/events_controller.rb +++ b/app/controllers/events_controller.rb @@ -64,7 +64,7 @@ def filter_modal case @filter.type when :text @options = helpers.localized_filter_options(@conference.events.includes(:track).distinct.pluck(@filter.attribute_name), @filter.i18n_scope) - @selected_values = helpers.split_filter_string(params[@filter.qname]) if params[@filter.qname].present? + @selected_values = helpers.split_filter_string(params[@filter.qname]) if params[@filter.qname] when :range @op, @current_numeric_value = helpers.get_op_and_val(params[@filter.qname]) end @@ -338,7 +338,7 @@ def clean_events_attributes def search(events) filter = events helpers.filters_data.each do |f| - if params[f.qname].present? + if params[f.qname] filter = filter.where(f.attribute_name => criteria_from_param(f)) end end diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb index ce8527781..b827b916c 100644 --- a/app/helpers/events_helper.rb +++ b/app/helpers/events_helper.rb @@ -69,10 +69,11 @@ def filters_data def show_filters_pane? filters_data.each do |f| - return true if params[f.qname].present? + return true if params[f.qname] end false end + def localized_filter_options(c, i18n_scope) c = split_filter_string(c) if c.is_a? String options = (c - ['',nil]).map{|v| [ if i18n_scope @@ -88,6 +89,7 @@ def localized_filter_options(c, i18n_scope) end def split_filter_string(s) + return [''] if s=='' s.split('|', -1) end diff --git a/app/views/events/_filters.html.haml b/app/views/events/_filters.html.haml index e3ede4b7f..771af4aa6 100644 --- a/app/views/events/_filters.html.haml +++ b/app/views/events/_filters.html.haml @@ -2,7 +2,7 @@ %div.filters-row %b= t('col_filters') - filters_data.each do |f| - - if params[f.qname].present? + - if params[f.qname] %span{:class => 'filterbox'} = link_to "╳", request.query_parameters.except(f.qname), class: 'filterbox-close-btn' = f.filter_name || t(f.filter_name_i18n)