From abff03996ad59e25be52d51605f6ede698363ecb Mon Sep 17 00:00:00 2001
From: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Date: Wed, 8 May 2013 20:06:12 +0300
Subject: [PATCH] Fix project labels scope

---
 app/controllers/dashboard_controller.rb | 2 ++
 app/helpers/projects_helper.rb          | 4 ----
 app/views/dashboard/projects.html.haml  | 8 ++++----
 3 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb
index f651b02c1e5..2f418d40e78 100644
--- a/app/controllers/dashboard_controller.rb
+++ b/app/controllers/dashboard_controller.rb
@@ -37,6 +37,8 @@ class DashboardController < ApplicationController
     @projects = @projects.tagged_with(params[:label]) if params[:label].present?
     @projects = @projects.search(params[:search]) if params[:search].present?
     @projects = @projects.page(params[:page]).per(30)
+
+    @labels = Project.where(id: @projects.map(&:id)).tags_on(:labels)
   end
 
   # Get authored or assigned open merge requests
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index 9e7c4ee245a..1db8b7c689c 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -3,10 +3,6 @@ module ProjectsHelper
     "You are going to remove #{user.name} from #{project.name} project team. Are you sure?"
   end
 
-  def projects_labels
-    Project.tag_counts_on(:labels).map(&:name)
-  end
-
   def link_to_project project
     link_to project do
       title = content_tag(:strong, project.name)
diff --git a/app/views/dashboard/projects.html.haml b/app/views/dashboard/projects.html.haml
index 511366cf1ab..2a0514639d5 100644
--- a/app/views/dashboard/projects.html.haml
+++ b/app/views/dashboard/projects.html.haml
@@ -22,11 +22,11 @@
 
     %p.light Filter by label:
     %ul.bordered-list
-      - projects_labels.each do |label|
-        %li{ class: (label == params[:label]) ? 'active' : 'light' }
-          = link_to projects_dashboard_path(scope: params[:scope], label: label) do
+      - @labels.each do |label|
+        %li{ class: (label.name == params[:label]) ? 'active' : 'light' }
+          = link_to projects_dashboard_path(scope: params[:scope], label: label.name) do
             %i.icon-tag
-            = label
+            = label.name
 
 
   .span9
-- 
2.30.9