diff --git a/app/controllers/public/search_controller.rb b/app/controllers/public/search_controller.rb index 7f1dcd7..e17e97f 100644 --- a/app/controllers/public/search_controller.rb +++ b/app/controllers/public/search_controller.rb @@ -18,6 +18,25 @@ class SearchController < PublicController no_design_blocks + def index + @results = {} + @order = [] + @names = {} + @results_only = true + + @enabled_searches.select { |key,description| @searching[key] }.each do |key, description| + load_query + @asset = key + send(:get_results, key) + @order << key + @names[key] = getterm(description) + end + @asset = nil + + render :action => @results.keys.first if @results.keys.size == 1 + end + + def articles if @search_engine && !@empty_query full_text_search @@ -127,7 +146,7 @@ class SearchController < PublicController protected def load_query - @asset = params[:action].to_sym + @asset = (params[:asset] || params[:action]).to_sym @order ||= [@asset] params[:display] ||= 'list' @results ||= {} @@ -196,7 +215,7 @@ class SearchController < PublicController @titles = {} @enabled_searches.each do |key, name| @titles[key] = _(name) - @searching[key] = params[:action] == key.to_s + @searching[key] = params[:action] == 'index' || params[:action] == key.to_s end @names = @titles if @names.nil? end diff --git a/app/helpers/search_helper.rb b/app/helpers/search_helper.rb index 18910e0..c1ec497 100644 --- a/app/helpers/search_helper.rb +++ b/app/helpers/search_helper.rb @@ -18,7 +18,7 @@ module SearchHelper include EventsHelper def multiple_search? - @results.size > 1 + ['index', 'category_index'].include?(params[:action]) or @results.size > 1 end def map_search? diff --git a/app/views/search/_display_results.rhtml b/app/views/search/_display_results.rhtml index d18ba70..79e802e 100644 --- a/app/views/search/_display_results.rhtml +++ b/app/views/search/_display_results.rhtml @@ -4,7 +4,7 @@