fix for no modules and added gotcha for ask module

This commit is contained in:
Harry Bomrah 2014-10-23 17:07:01 +08:00
parent 24b24ad760
commit 97e8aaea2b
2 changed files with 21 additions and 13 deletions

View File

@ -78,6 +78,9 @@ group :test do
gem 'minitest-spec-rails' gem 'minitest-spec-rails'
end end
#ask
gem 'gotcha'
#desktop #desktop
gem 'angularjs-rails', '~> 1.2.20' gem 'angularjs-rails', '~> 1.2.20'
gem 'angular-ui-bootstrap-rails', '~> 0.11.0' gem 'angular-ui-bootstrap-rails', '~> 0.11.0'

View File

@ -31,23 +31,27 @@ class Admin::DashboardsController < ApplicationController
a = {} a = {}
total = 0 total = 0
args.each do |module_app| args.each do |module_app|
module_app_class = module_app.classify.constantize module_app_class = module_app.classify.constantize rescue nil
if !module_app_class.nil?
count = module_app_class.count count = module_app_class.count
a.merge!(module_app => count) a.merge!(module_app => count)
total += count total += count
end end
end
[Kaminari.paginate_array(a.sort {|a,b| b[1]<=>a[1]}).page(params[:page]).per(5), total] [Kaminari.paginate_array(a.sort {|a,b| b[1]<=>a[1]}).page(params[:page]).per(5), total]
end end
def get_recently_updated(args) def get_recently_updated(args)
a = {} a = {}
args.each do |module_app| args.each do |module_app|
module_app_class = module_app.classify.constantize module_app_class = module_app.classify.constantize rescue nil
if !module_app_class.nil?
objects = module_app_class.order_by([:updated_at, :desc]).limit(20) objects = module_app_class.order_by([:updated_at, :desc]).limit(20)
objects.each do |object| objects.each do |object|
a.merge!(object => object.updated_at) unless (object.archived rescue nil) a.merge!(object => object.updated_at) unless (object.archived rescue nil)
end end
end end
end
sorted_objects = a.sort {|a,b| b[1]<=>a[1]} sorted_objects = a.sort {|a,b| b[1]<=>a[1]}
sorted_objects[0..19] sorted_objects[0..19]
Kaminari.paginate_array(sorted_objects).page(params[:page]).per(5) Kaminari.paginate_array(sorted_objects).page(params[:page]).per(5)
@ -56,17 +60,18 @@ class Admin::DashboardsController < ApplicationController
def get_most_visited(args) def get_most_visited(args)
a = {} a = {}
args.each do |module_app| args.each do |module_app|
module_app_class = module_app.classify.constantize module_app_class = module_app.classify.constantize rescue nil
if !module_app_class.nil?
objects = module_app_class.order_by([:view_count, :desc]).limit(20) objects = module_app_class.order_by([:view_count, :desc]).limit(20)
objects.each do |object| objects.each do |object|
a.merge!(object => object.view_count) if object.view_count > 0 && (!object.archived rescue true) a.merge!(object => object.view_count) if object.view_count > 0 && (!object.archived rescue true)
end end
end end
end
sorted_objects = a.sort {|a,b| b[1]<=>a[1]} sorted_objects = a.sort {|a,b| b[1]<=>a[1]}
sorted_objects[0..19] sorted_objects[0..19]
Kaminari.paginate_array(sorted_objects).page(params[:page]).per(5) Kaminari.paginate_array(sorted_objects).page(params[:page]).per(5)
end end
private private
def check_backend_openness def check_backend_openness