diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb index f651b02c1e5373eeb4bdc3111a085657393bf6e3..2f418d40e788b36418efc7446c6fe9fe70a7c814 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 9e7c4ee245af6a9840b4e01d8be79457701eab33..1db8b7c689c380d3d4ffe3c9c4b52efe649903e6 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 511366cf1ab09a4467d89da10e22e9c3e185840b..2a0514639d5dde7c587de1becdfcf9e0a39a35bc 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