aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/admin_public_body_controller.rb31
1 files changed, 29 insertions, 2 deletions
diff --git a/app/controllers/admin_public_body_controller.rb b/app/controllers/admin_public_body_controller.rb
index 4185acf4f..8f51a4cfb 100644
--- a/app/controllers/admin_public_body_controller.rb
+++ b/app/controllers/admin_public_body_controller.rb
@@ -4,7 +4,7 @@
# Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved.
# Email: francis@mysociety.org; WWW: http://www.mysociety.org/
#
-# $Id: admin_public_body_controller.rb,v 1.21 2009-03-24 09:01:28 tony Exp $
+# $Id: admin_public_body_controller.rb,v 1.22 2009-08-26 00:45:38 francis Exp $
class AdminPublicBodyController < AdminController
def index
@@ -12,8 +12,11 @@ class AdminPublicBodyController < AdminController
render :action => 'list'
end
- def list
+ def _lookup_query_internal
@query = params[:query]
+ if @query == ""
+ @query = nil
+ end
@public_bodies = PublicBody.paginate :order => "name", :page => params[:page], :per_page => 100,
:conditions => @query.nil? ? nil : ["lower(name) like lower('%'||?||'%') or
lower(short_name) like lower('%'||?||'%') or
@@ -21,6 +24,30 @@ class AdminPublicBodyController < AdminController
@public_bodies_by_tag = PublicBody.find_by_tag(@query)
end
+ def list
+ self._lookup_query_internal
+ 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."
+ end
+
+ redirect_to admin_url('body/list') + "?query=" + @query # XXX construct this URL properly
+ end
+
def missing_scheme
# There might be a way to do this in ActiveRecord, but I can't find it
@public_bodies = PublicBody.find_by_sql("