Commit 68a31780 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge branch 'feature/project_labels' of /home/git/repositories/gitlab/gitlabhq

parents 880cb8aa 133d7822
...@@ -69,5 +69,14 @@ ul.bordered-list { ...@@ -69,5 +69,14 @@ ul.bordered-list {
display: block; display: block;
margin: 0px; margin: 0px;
&:last-child { border:none } &:last-child { border:none }
&.active {
background: #f9f9f9;
a { font-weight: bold; }
}
&.light {
a { color: #777; }
}
} }
} }
...@@ -34,6 +34,7 @@ class DashboardController < ApplicationController ...@@ -34,6 +34,7 @@ class DashboardController < ApplicationController
@projects @projects
end end
@projects = @projects.tagged_with(params[:label]) if params[:label].present?
@projects = @projects.search(params[:search]) if params[:search].present? @projects = @projects.search(params[:search]) if params[:search].present?
@projects = @projects.page(params[:page]).per(30) @projects = @projects.page(params[:page]).per(30)
end end
......
...@@ -3,6 +3,10 @@ module ProjectsHelper ...@@ -3,6 +3,10 @@ module ProjectsHelper
"You are going to remove #{user.name} from #{project.name} project team. Are you sure?" "You are going to remove #{user.name} from #{project.name} project team. Are you sure?"
end end
def projects_labels
Project.tag_counts_on(:labels).map(&:name)
end
def link_to_project project def link_to_project project
link_to project do link_to project do
title = content_tag(:strong, project.name) title = content_tag(:strong, project.name)
......
...@@ -28,12 +28,14 @@ class Project < ActiveRecord::Base ...@@ -28,12 +28,14 @@ class Project < ActiveRecord::Base
include Gitlab::ShellAdapter include Gitlab::ShellAdapter
extend Enumerize extend Enumerize
attr_accessible :name, :path, :description, :default_branch, :issues_tracker, attr_accessible :name, :path, :description, :default_branch, :issues_tracker, :label_list,
:issues_enabled, :wall_enabled, :merge_requests_enabled, :snippets_enabled, :issues_tracker_id, :issues_enabled, :wall_enabled, :merge_requests_enabled, :snippets_enabled, :issues_tracker_id,
:wiki_enabled, :public, :import_url, :last_activity_at, as: [:default, :admin] :wiki_enabled, :public, :import_url, :last_activity_at, as: [:default, :admin]
attr_accessible :namespace_id, :creator_id, as: :admin attr_accessible :namespace_id, :creator_id, as: :admin
acts_as_taggable_on :labels
attr_accessor :import_url attr_accessor :import_url
# Relations # Relations
......
...@@ -20,6 +20,15 @@ ...@@ -20,6 +20,15 @@
= nav_tab :scope, 'joined' do = nav_tab :scope, 'joined' do
= link_to "Joined", projects_dashboard_path(scope: 'joined') = link_to "Joined", projects_dashboard_path(scope: 'joined')
%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
%i.icon-tag
= label
.span9 .span9
= form_tag projects_dashboard_path, method: 'get' do = form_tag projects_dashboard_path, method: 'get' do
%fieldset.dashboard-search-filter %fieldset.dashboard-search-filter
...@@ -49,6 +58,10 @@ ...@@ -49,6 +58,10 @@
.left .left
- if project.description.present? - if project.description.present?
%span.light= project.description %span.light= project.description
- project.labels.each do |label|
%span.label.label-info
%i.icon-tag
= label.name
.pull-right.light .pull-right.light
%small.light %small.light
......
...@@ -57,6 +57,15 @@ ...@@ -57,6 +57,15 @@
authentication. authentication.
It will also be listed on the #{link_to "public access directory", public_root_path}. It will also be listed on the #{link_to "public access directory", public_root_path}.
%fieldset.features
%legend
Labels:
.control-group
= f.label :label_list, "Labels", class: 'control-label'
.controls
= f.text_field :label_list, maxlength: 2000, class: "xxlarge"
%p.hint Separate with comma.
%fieldset.features %fieldset.features
%legend %legend
Features: Features:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment