From 97e8aaea2b34974a12ab27fca6391e07afadd316 Mon Sep 17 00:00:00 2001 From: Harry Bomrah Date: Thu, 23 Oct 2014 17:07:01 +0800 Subject: [PATCH] fix for no modules and added gotcha for ask module --- Gemfile | 3 ++ .../admin/dashboards_controller.rb | 31 +++++++++++-------- 2 files changed, 21 insertions(+), 13 deletions(-) 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