From da99560ecbc105c8a98ce2f0e47415634420040f Mon Sep 17 00:00:00 2001
From: Ciro Santilli <ciro.santilli@gmail.com>
Date: Thu, 2 Oct 2014 11:38:21 +0200
Subject: [PATCH] Factor dashboard helper methods.

---
 app/helpers/dashboard_helper.rb | 33 ++++++++++++---------------------
 1 file changed, 12 insertions(+), 21 deletions(-)

diff --git a/app/helpers/dashboard_helper.rb b/app/helpers/dashboard_helper.rb
index c4e33e3308f..acc0eeb76b3 100644
--- a/app/helpers/dashboard_helper.rb
+++ b/app/helpers/dashboard_helper.rb
@@ -37,40 +37,31 @@ module DashboardHelper
   end
 
   def assigned_entities_count(current_user, entity, scope = nil)
-    items = current_user.send("assigned_" + entity.pluralize).opened
-
-    if scope.kind_of?(Group)
-      items = items.of_group(scope)
-    elsif scope.kind_of?(Project)
-      items = items.of_projects(scope)
-    end
-
-    items.count
+    items = current_user.send('assigned_' + entity.pluralize)
+    get_count(items, scope)
   end
 
   def authored_entities_count(current_user, entity, scope = nil)
-    items = current_user.send(entity.pluralize).opened
-
-    if scope.kind_of?(Group)
-      items = items.of_group(scope)
-    elsif scope.kind_of?(Project)
-      items = items.of_projects(scope)
-    end
-
-    items.count
+    items = current_user.send(entity.pluralize)
+    get_count(items, scope)
   end
 
   def authorized_entities_count(current_user, entity, scope = nil)
-    items = entity.classify.constantize.opened
+    items = entity.classify.constantize
+    get_count(items, scope, true, current_user)
+  end
+
+  protected
 
+  def get_count(items, scope, get_authorized = false, current_user = nil)
+    items = items.opened
     if scope.kind_of?(Group)
       items = items.of_group(scope)
     elsif scope.kind_of?(Project)
       items = items.of_projects(scope)
-    else
+    elsif get_authorized
       items = items.of_projects(current_user.authorized_projects)
     end
-
     items.count
   end
 end
-- 
2.30.9