OSDN Git Service

Fix project labels scope
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Wed, 8 May 2013 17:06:12 +0000 (20:06 +0300)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Wed, 8 May 2013 17:06:12 +0000 (20:06 +0300)
app/controllers/dashboard_controller.rb
app/helpers/projects_helper.rb
app/views/dashboard/projects.html.haml

index f651b02..2f418d4 100644 (file)
@@ -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
index 9e7c4ee..1db8b7c 100644 (file)
@@ -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)
index 511366c..2a05146 100644 (file)
 
     %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