From aeec2334d32c7b83a772aad97b3aac383bedf713 Mon Sep 17 00:00:00 2001 From: Luciano Prestes Cavalcanti Date: Fri, 6 Mar 2015 10:52:58 -0300 Subject: [PATCH] Show categories selected link when filter dont return software --- lib/ext/search_controller.rb | 18 ++++++++++-------- public/views/search-software-catalog.js | 10 ++++++---- views/search/_catalog_filter.html.erb | 4 ++-- views/search/_catalog_result_list.html.erb | 9 +++++++++ 4 files changed, 27 insertions(+), 14 deletions(-) diff --git a/lib/ext/search_controller.rb b/lib/ext/search_controller.rb index 1f86eee..6668e7e 100644 --- a/lib/ext/search_controller.rb +++ b/lib/ext/search_controller.rb @@ -59,8 +59,8 @@ class SearchController def get_filter_category_ids category_ids = [] - unless params[:selected_categories].blank? - category_ids = params[:selected_categories] + unless params[:selected_categories_id].blank? + category_ids = params[:selected_categories_id] end category_ids.map(&:to_i) end @@ -115,9 +115,9 @@ class SearchController def prepare_software_infos_params @titles[:software_infos] = _("Public Software Catalog") - @selected_categories = params[:selected_categories] - @selected_categories ||= [] - @selected_categories = @selected_categories.map(&:to_i) + @selected_categories_id = params[:selected_categories_id] + @selected_categories_id ||= [] + @selected_categories_id = @selected_categories_id.map(&:to_i) @include_non_public = params[:include_non_public] == "true" @per_page = prepare_per_page end @@ -134,11 +134,13 @@ class SearchController def prepare_software_infos_message @message_selected_options = "" - unless @selected_categories.empty? + + @selected_categories = [] + unless @selected_categories_id.empty? @message_selected_options = _("Selected options: ") - categories = Category.find(@selected_categories) - @message_selected_options += categories.collect { |category| + @selected_categories = Category.find(@selected_categories_id) + @message_selected_options += @selected_categories.collect { |category| "#{category.name}; " }.join() end diff --git a/public/views/search-software-catalog.js b/public/views/search-software-catalog.js index e7e9b84..a9fe121 100644 --- a/public/views/search-software-catalog.js +++ b/public/views/search-software-catalog.js @@ -30,10 +30,10 @@ modulejs.define('SearchSoftwareCatalog', ['jquery', 'NoosferoRoot', 'SoftwareCat var params = {}; params.query = $("#search-input").val(); - params.selected_categories = []; + params.selected_categories_id = []; $(".categories-catalog:checked").each(function(index, element) { - params.selected_categories.push(element.value); + params.selected_categories_id.push(element.value); }); params.software_display = $("#software_display").val(); @@ -69,18 +69,20 @@ modulejs.define('SearchSoftwareCatalog', ['jquery', 'NoosferoRoot', 'SoftwareCat var selected_categories_field = $("#filter-categories-select-catalog"); var pagination = $("#software-pagination"); var software_count = $("#software-count"); + var individually_category = $("#individually-category"); var result_list = response.find("#search-results").html(); var result_categories = response.find("#filter-categories-select-catalog").html(); var result_pagination = response.find("#software-pagination").html(); var result_software_count = response.find("#software-count").html(); - - + var result_individually_category = response.find("#individually-category").html(); search_list.html(result_list); selected_categories_field.html(result_categories); pagination.html(result_pagination); software_count.html(result_software_count); + individually_category.html(result_individually_category); + highlight_searched_terms(); catalog_message(); diff --git a/views/search/_catalog_filter.html.erb b/views/search/_catalog_filter.html.erb index 2ca664d..bcb77dd 100644 --- a/views/search/_catalog_filter.html.erb +++ b/views/search/_catalog_filter.html.erb @@ -14,7 +14,7 @@
<% @categories_groupe_one.each do |category| %>
<% end %> @@ -22,7 +22,7 @@
<% @categories_groupe_two.each do |category| %>
<% end %> diff --git a/views/search/_catalog_result_list.html.erb b/views/search/_catalog_result_list.html.erb index 6af3e1d..3e8c91e 100644 --- a/views/search/_catalog_result_list.html.erb +++ b/views/search/_catalog_result_list.html.erb @@ -33,7 +33,16 @@
+ + +
+ <% @selected_categories.each do |category| %> +
+ <%= link_to _("#{category.name}") + " (#{category.software_infos.count})", {:controller => :search, :action => :software_infos, :selected_categories_id => [category.id]} %> + <% end %> +
+ <% end %>
<% end %> -- libgit2 0.21.2