diff options
-rw-r--r-- | app/controllers/admin_public_body_controller.rb | 72 | ||||
-rw-r--r-- | app/controllers/public_body_controller.rb | 15 | ||||
-rw-r--r-- | app/controllers/request_controller.rb | 6 |
3 files changed, 50 insertions, 43 deletions
diff --git a/app/controllers/admin_public_body_controller.rb b/app/controllers/admin_public_body_controller.rb index 3e0613a1f..4b212c24b 100644 --- a/app/controllers/admin_public_body_controller.rb +++ b/app/controllers/admin_public_body_controller.rb @@ -9,47 +9,50 @@ class AdminPublicBodyController < AdminController def index list - render :action => 'list' end def _lookup_query_internal - @locale = self.locale_from_params() - PublicBody.with_locale(@locale) do - @query = params[:query] - if @query == "" - @query = nil - end - @page = params[:page] - if @page == "" - @page = nil - end - @public_bodies = PublicBody.paginate :order => "name", :page => @page, :per_page => 100, - :conditions => @query.nil? ? nil : ["lower(name) like lower('%'||?||'%') or - lower(short_name) like lower('%'||?||'%') or - lower(request_email) like lower('%'||?||'%')", @query, @query, @query] - @public_bodies_by_tag = PublicBody.find_by_tag(@query) + @query = params[:query] + if @query == "" + @query = nil end + @page = params[:page] + if @page == "" + @page = nil + end + @public_bodies = PublicBody.paginate :order => "name", :page => @page, :per_page => 100, + :conditions => @query.nil? ? nil : ["lower(name) like lower('%'||?||'%') or + lower(short_name) like lower('%'||?||'%') or + lower(request_email) like lower('%'||?||'%')", @query, @query, @query] + @public_bodies_by_tag = PublicBody.find_by_tag(@query) end def list - self._lookup_query_internal + @locale = self.locale_from_params() + PublicBody.with_locale(@locale) do + self._lookup_query_internal + render :action => 'list' + end end def mass_tag_add - self._lookup_query_internal - - if params[:new_tag] and params[:new_tag] != "" - if params[:table_name] == 'exact' - bodies = @public_bodies_by_tag - elsif params[:table_name] == 'substring' - bodies = @public_bodies - else - raise "Unknown table_name " + params[:table_name] - end - for body in bodies - body.add_tag_if_not_already_present(params[:new_tag]) - end - flash[:notice] = "Added tag to table of bodies." + @locale = self.locale_from_params() + PublicBody.with_locale(@locale) do + self._lookup_query_internal + + if params[:new_tag] and params[:new_tag] != "" + if params[:table_name] == 'exact' + bodies = @public_bodies_by_tag + elsif params[:table_name] == 'substring' + bodies = @public_bodies + else + raise "Unknown table_name " + params[:table_name] + end + for body in bodies + body.add_tag_if_not_already_present(params[:new_tag]) + end + flash[:notice] = "Added tag to table of bodies." + end end redirect_to admin_url('body/list') + "?query=" + @query + (@page.nil? ? "" : "&page=" + @page) # XXX construct this URL properly @@ -75,6 +78,7 @@ class AdminPublicBodyController < AdminController @locale = self.locale_from_params() PublicBody.with_locale(@locale) do @public_body = PublicBody.find(params[:id]) + render end end @@ -82,6 +86,7 @@ class AdminPublicBodyController < AdminController @locale = self.locale_from_params() PublicBody.with_locale(@locale) do @public_body = PublicBody.new + render end end @@ -104,6 +109,7 @@ class AdminPublicBodyController < AdminController PublicBody.with_locale(@locale) do @public_body = PublicBody.find(params[:id]) @public_body.last_edit_comment = "" + render end end @@ -134,9 +140,9 @@ class AdminPublicBodyController < AdminController public_body.tag_string = "" public_body.destroy + flash[:notice] = "PublicBody was successfully destroyed." + redirect_to admin_url('body/list') end - flash[:notice] = "PublicBody was successfully destroyed." - redirect_to admin_url('body/list') end def import_csv diff --git a/app/controllers/public_body_controller.rb b/app/controllers/public_body_controller.rb index 688cfab3d..4e5bf8ad7 100644 --- a/app/controllers/public_body_controller.rb +++ b/app/controllers/public_body_controller.rb @@ -102,13 +102,6 @@ class PublicBodyController < ApplicationController and has_tag_string_tags.model = \'PublicBody\' and has_tag_string_tags.name = ?) > 0', @locale, @tag] end - PublicBody.with_locale(@locale) do - @public_bodies = PublicBody.paginate( - :order => "public_body_translations.name", :page => params[:page], :per_page => 1000, # fit all councils on one page - :conditions => conditions, - :joins => :translations - ) - end if @tag.size == 1 @description = "beginning with '" + @tag + "'" else @@ -117,6 +110,14 @@ class PublicBodyController < ApplicationController @description = @tag end end + PublicBody.with_locale(@locale) do + @public_bodies = PublicBody.paginate( + :order => "public_body_translations.name", :page => params[:page], :per_page => 1000, # fit all councils on one page + :conditions => conditions, + :joins => :translations + ) + render :template => "public_body/list" + end end # Used so URLs like /local/islington work, for use e.g. writing to a local paper. diff --git a/app/controllers/request_controller.rb b/app/controllers/request_controller.rb index 02abc12a8..024f87dd5 100644 --- a/app/controllers/request_controller.rb +++ b/app/controllers/request_controller.rb @@ -52,7 +52,7 @@ class RequestController < ApplicationController @last_info_request_event_id = @info_request.last_event_id_needing_description @new_responses_count = @info_request.events_needing_description.select {|i| i.event_type == 'response'}.size - +1 # Sidebar stuff # ... requests that have similar imporant terms behavior_cache :tag => ['similar', @info_request.id] do @@ -74,10 +74,10 @@ class RequestController < ApplicationController @last_response = @info_request.get_last_response respond_to do |format| - format.html { @has_json = true } + format.html { @has_json = true; render :template => 'request/show'} format.json { render :json => @info_request.json_for_api(true) } end - end + end end # Extra info about a request, such as event history |