diff --git a/Gemfile b/Gemfile index 9bef8cc..9520765 100644 --- a/Gemfile +++ b/Gemfile @@ -78,6 +78,9 @@ group :test do gem 'minitest-spec-rails' end +#ask +gem 'gotcha' + #desktop gem 'angularjs-rails', '~> 1.2.20' gem 'angular-ui-bootstrap-rails', '~> 0.11.0' diff --git a/app/controllers/admin/dashboards_controller.rb b/app/controllers/admin/dashboards_controller.rb index 0a33a46..543cf34 100644 --- a/app/controllers/admin/dashboards_controller.rb +++ b/app/controllers/admin/dashboards_controller.rb @@ -31,10 +31,12 @@ class Admin::DashboardsController < ApplicationController 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 + module_app_class = module_app.classify.constantize rescue nil + if !module_app_class.nil? + count = module_app_class.count + a.merge!(module_app => count) + total += count + end end [Kaminari.paginate_array(a.sort {|a,b| b[1]<=>a[1]}).page(params[:page]).per(5), total] end @@ -42,10 +44,12 @@ class Admin::DashboardsController < ApplicationController 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(20) - objects.each do |object| - a.merge!(object => object.updated_at) unless (object.archived rescue nil) + 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.each do |object| + a.merge!(object => object.updated_at) unless (object.archived rescue nil) + end end end sorted_objects = a.sort {|a,b| b[1]<=>a[1]} @@ -56,17 +60,18 @@ class Admin::DashboardsController < ApplicationController 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(20) - objects.each do |object| - a.merge!(object => object.view_count) if object.view_count > 0 && (!object.archived rescue true) + 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.each do |object| + a.merge!(object => object.view_count) if object.view_count > 0 && (!object.archived rescue true) + end end end sorted_objects = a.sort {|a,b| b[1]<=>a[1]} sorted_objects[0..19] Kaminari.paginate_array(sorted_objects).page(params[:page]).per(5) end - private def check_backend_openness