| 
									
										
										
										
											2012-02-13 05:02:52 +00:00
										 |  |  | class Admin::DashboardsController < ApplicationController | 
					
						
							|  |  |  |    | 
					
						
							|  |  |  |   layout "new_admin" | 
					
						
							|  |  |  |   before_filter :authenticate_user! | 
					
						
							| 
									
										
										
										
											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 |