diff options
Diffstat (limited to 'app/controllers/general_controller.rb')
-rw-r--r-- | app/controllers/general_controller.rb | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/app/controllers/general_controller.rb b/app/controllers/general_controller.rb index 342355c75..986579874 100644 --- a/app/controllers/general_controller.rb +++ b/app/controllers/general_controller.rb @@ -5,7 +5,7 @@ # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ # -# $Id: general_controller.rb,v 1.3 2008-03-06 21:49:33 francis Exp $ +# $Id: general_controller.rb,v 1.4 2008-03-07 23:13:38 francis Exp $ class GeneralController < ApplicationController @@ -39,20 +39,24 @@ class GeneralController < ApplicationController # Just does a redirect from ?query= search to /query def search_redirect - query = params[:query] - redirect_to search_url(:query => query) + @query = params[:query] + if @query.nil? + render :action => "search" + else + redirect_to search_url(:query => @query) + end end # Actual search def search @per_page = 20 - query = params[:query] + @query = params[:query].join("/") - query_nopunc = query.gsub(/[^a-z0-9]/i, " ") + query_nopunc = @query.gsub(/[^a-z0-9]/i, " ") query_nopunc = query_nopunc.gsub(/\s+/, " ") @highlight_words = query_nopunc.split(" ") - @solr_object = InfoRequest.multi_solr_search(query, :models => [ OutgoingMessage, IncomingMessage ], + @solr_object = InfoRequest.multi_solr_search(@query, :models => [ OutgoingMessage, IncomingMessage, PublicBody, User ], :limit => @per_page, :offset => ((params[:page]||"1").to_i-1) * @per_page) @search_results = @solr_object.results end |