diff options
author | tony <tony> | 2009-03-10 10:33:52 +0000 |
---|---|---|
committer | tony <tony> | 2009-03-10 10:33:52 +0000 |
commit | 7edb222ce842ee028c746e76429edae12117995c (patch) | |
tree | 05afff4dbbc5190dde075506f1c1270ea4ec88bc | |
parent | a0a6a42b7bcfdac236feea9e1f05f66f88a3677c (diff) |
Admin page to list most popular authorities without Publication Scheme info
-rw-r--r-- | app/controllers/admin_public_body_controller.rb | 14 | ||||
-rw-r--r-- | app/views/admin_public_body/missing_scheme.rhtml | 10 | ||||
-rw-r--r-- | config/routes.rb | 3 |
3 files changed, 25 insertions, 2 deletions
diff --git a/app/controllers/admin_public_body_controller.rb b/app/controllers/admin_public_body_controller.rb index 0e5a8b213..85a654c05 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.19 2009-01-29 12:10:10 francis Exp $ +# $Id: admin_public_body_controller.rb,v 1.20 2009-03-10 10:33:52 tony Exp $ class AdminPublicBodyController < AdminController def index @@ -21,6 +21,18 @@ class AdminPublicBodyController < AdminController @public_bodies_by_tag = PublicBody.find_by_tag(@query) 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(" + SELECT a.id, a.name, a.url_name, COUNT(*) AS howmany + FROM public_bodies a JOIN info_requests r ON a.id = r.public_body_id + WHERE a.publication_scheme = '' + GROUP BY a.id, a.name, a.url_name + ORDER BY howmany DESC + LIMIT 20 + ") + end + def show @public_body = PublicBody.find(params[:id]) end diff --git a/app/views/admin_public_body/missing_scheme.rhtml b/app/views/admin_public_body/missing_scheme.rhtml new file mode 100644 index 000000000..3a24fc5cc --- /dev/null +++ b/app/views/admin_public_body/missing_scheme.rhtml @@ -0,0 +1,10 @@ +<% @title = 'Popular authorities without Publication Scheme' %> + +<h1><%=@title%></h1> + +<ol> + <% for public_body in @public_bodies %> + <li><%= public_body_both_links(public_body) %></li> + <% end %> +</ul> + diff --git a/config/routes.rb b/config/routes.rb index 763bc8b27..36fe71489 100644 --- a/config/routes.rb +++ b/config/routes.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: routes.rb,v 1.82 2009-03-05 19:09:47 francis Exp $ +# $Id: routes.rb,v 1.83 2009-03-10 10:33:52 tony Exp $ ActionController::Routing::Routes.draw do |map| @@ -94,6 +94,7 @@ ActionController::Routing::Routes.draw do |map| map.connect '/admin/timeline', :controller => 'admin_general', :action => 'timeline' map.connect '/admin/debug', :controller => 'admin_general', :action => 'debug' map.connect '/admin/stats', :controller => 'admin_general', :action => 'stats' + map.connect '/admin/missing_scheme', :controller => 'admin_public_body', :action => 'missing_scheme' map.connect '/admin/body/:action/:id', :controller => 'admin_public_body' map.connect '/admin/request/:action/:id', :controller => 'admin_request' map.connect '/admin/user/:action/:id', :controller => 'admin_user' |