2012-08-23 08:05:14 +00:00
|
|
|
class Admin::DashboardsController < OrbitBackendController
|
2012-02-13 05:02:52 +00:00
|
|
|
layout "new_admin"
|
2012-08-23 08:05:14 +00:00
|
|
|
#before_filter :set_current_user
|
|
|
|
#before_filter :authenticate_user!, :except => [:index]
|
2012-04-29 19:14:15 +00:00
|
|
|
# before_filter :is_admin?
|
2012-02-13 05:02:52 +00:00
|
|
|
|
|
|
|
def index
|
2012-05-08 21:53:07 +00:00
|
|
|
@module_app_contents, @module_app_contents_total = get_module_app_count('bulletin', 'news_bulletin', 'page_context', 'web_link')
|
|
|
|
@recent_updated = get_recently_updated('bulletin', 'news_bulletin', 'page_context', 'web_link')
|
2012-05-15 13:26:09 +00:00
|
|
|
@most_visited = get_most_visited('bulletin', 'news_bulletin', 'page_context')
|
2012-05-08 21:53:07 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
protected
|
|
|
|
|
|
|
|
def get_module_app_count(*args)
|
|
|
|
a = {}
|
|
|
|
total = 0
|
|
|
|
args.each do |module_app|
|
|
|
|
module_app_class = module_app.classify.constantize
|
|
|
|
count = module_app_class.count
|
|
|
|
a.merge!(module_app => count)
|
|
|
|
total += count
|
|
|
|
end
|
|
|
|
[a.sort {|a,b| b[1]<=>a[1]}, total]
|
|
|
|
end
|
|
|
|
|
|
|
|
def get_recently_updated(*args)
|
|
|
|
a = {}
|
|
|
|
args.each do |module_app|
|
|
|
|
module_app_class = module_app.classify.constantize
|
|
|
|
objects = module_app_class.order_by(:updated_at, :desc).limit(10)
|
|
|
|
objects.each do |object|
|
2012-05-18 06:13:11 +00:00
|
|
|
a.merge!(object => object.updated_at) unless (object.archived rescue nil)
|
2012-05-08 21:53:07 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
sorted_objects = a.sort {|a,b| b[1]<=>a[1]}
|
|
|
|
sorted_objects[0..9]
|
2012-02-13 05:02:52 +00:00
|
|
|
end
|
2012-05-15 13:26:09 +00:00
|
|
|
|
|
|
|
def get_most_visited(*args)
|
|
|
|
a = {}
|
|
|
|
args.each do |module_app|
|
|
|
|
module_app_class = module_app.classify.constantize
|
|
|
|
objects = module_app_class.order_by(:view_count, :desc).limit(10)
|
|
|
|
objects.each do |object|
|
2012-05-18 06:13:11 +00:00
|
|
|
a.merge!(object => object.view_count) if object.view_count > 0 && (!object.archived rescue true)
|
2012-05-15 13:26:09 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
sorted_objects = a.sort {|a,b| b[1]<=>a[1]}
|
|
|
|
sorted_objects[0..9]
|
|
|
|
end
|
2012-02-13 05:02:52 +00:00
|
|
|
|
|
|
|
end
|