aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/admin_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/admin_controller.rb')
-rw-r--r--app/controllers/admin_controller.rb65
1 files changed, 9 insertions, 56 deletions
diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb
index aa3341e8e..9f7be2ac0 100644
--- a/app/controllers/admin_controller.rb
+++ b/app/controllers/admin_controller.rb
@@ -1,65 +1,18 @@
-# app/controllers/admin_controller.rb:
-# Controller for admin interface.
+# controllers/admin.rb:
+# All admin controllers are dervied from this.
#
-# Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved.
+# Copyright (c) 2009 UK Citizens Online Democracy. All rights reserved.
# Email: francis@mysociety.org; WWW: http://www.mysociety.org/
#
-# $Id: admin_controller.rb,v 1.22 2008-11-17 16:08:22 francis Exp $
+# $Id: admin_controller.rb,v 1.23 2009-01-29 12:10:10 francis Exp $
-class AdminController < ApplicationController
+
+class AdminController < ActionController::Base
layout "admin"
before_filter :assign_http_auth_user
- def index
- # Overview counts of things
- @user_count = User.count
- @public_body_count = PublicBody.count
- @info_request_count = InfoRequest.count
- @track_thing_count = TrackThing.count
- @comment_count = Comment.count
-
- # Tasks to do
- @requires_admin_requests = InfoRequest.find(:all, :select => '*, ' + InfoRequest.last_event_time_clause + ' as last_event_time', :conditions => ["described_state = 'requires_admin'"], :order => "last_event_time")
- @blank_contacts = PublicBody.find(:all, :conditions => ["request_email = ''"], :order => "updated_at")
- @ten_days_old_unclassified = InfoRequest.find(:all, :select => '*, ' + InfoRequest.last_event_time_clause + ' as last_event_time', :conditions => [ "awaiting_description = ? and " + InfoRequest.last_event_time_clause + " < ? and prominence != 'backpage'", true, Time.now() - 10.days ], :order => "last_event_time")
- @holding_pen_messages = InfoRequest.holding_pen_request.incoming_messages
- end
-
- def timeline
- # Recent events
- @events_title = "Events in last two days"
- date_back_to = Time.now - 2.days
- if params[:week]
- @events_title = "Events in last week"
- date_back_to = Time.now - 1.week
- end
- if params[:month]
- @events_title = "Events in last month"
- date_back_to = Time.now - 1.month
- end
- if params[:all]
- @events_title = "Events, all time"
- date_back_to = Time.now - 1000.years
- end
- @events = InfoRequestEvent.find(:all, :order => "created_at desc, id desc",
- :conditions => ["created_at > ? ", date_back_to])
- @public_body_history = PublicBody.versioned_class.find(:all, :order => "updated_at desc, id desc",
- :conditions => ["updated_at > ? ", date_back_to])
- for pbh in @public_body_history
- pbh.created_at = pbh.updated_at
- end
- @events += @public_body_history
-
- @events.sort! { |a,b| b.created_at <=> a.created_at }
- end
-
- def stats
- @request_by_state = InfoRequest.count(:group => 'described_state')
- @tracks_by_type = TrackThing.count(:group => 'track_type')
- end
-
- def debug
- @request_env = request.env
+ # Always give full stack trace for admin interface
+ def local_request?
+ true
end
end
-