diff --git a/app/controllers/application_controller/filter.rb b/app/controllers/application_controller/filter.rb index 8217182f8c3..1d92b82d04b 100644 --- a/app/controllers/application_controller/filter.rb +++ b/app/controllers/application_controller/filter.rb @@ -947,7 +947,7 @@ def adv_search_build(model) # Restore @edit hash if it's saved in @settings @expkey = :expression # Reset to use default expression key if session[:adv_search] && session[:adv_search][model.to_s] - @edit = copy_hash(session[:adv_search][model.to_s]) + @edit = copy_hash(session[:edit]) # default search doesnt exist or if it is marked as hidden if @edit && @edit[:expression] && !@edit[:expression][:selected].blank? && !MiqSearch.exists?(@edit[:expression][:selected][:id]) diff --git a/app/controllers/provider_foreman_controller.rb b/app/controllers/provider_foreman_controller.rb index a5706f905c2..c64d4d508af 100644 --- a/app/controllers/provider_foreman_controller.rb +++ b/app/controllers/provider_foreman_controller.rb @@ -82,7 +82,7 @@ def load_or_clear_adv_search session[:edit] = @edit @explorer = true - if x_active_tree != :configuration_manager_cs_filter_tree || x_node == "root" + if (x_active_tree != :configuration_manager_cs_filter_tree || x_node == "root") && params[:button] != 'saveit' listnav_search_selected(0) else @nodetype, id = parse_nodetype_and_id(valid_active_node(x_node)) @@ -96,6 +96,8 @@ def load_or_clear_adv_search self.x_node = params[:id] quick_search_show end + elsif x_active_tree == :configuration_manager_cs_filter_tree && params[:button] != 'saveit' + listnav_search_selected(id) end end end