Feature: Labels page. Index page
This commit is contained in:
parent
14bd9c9228
commit
3dd7703b80
7 changed files with 81 additions and 1 deletions
25
app/controllers/labels_controller.rb
Normal file
25
app/controllers/labels_controller.rb
Normal file
|
@ -0,0 +1,25 @@
|
|||
class LabelsController < ApplicationController
|
||||
before_filter :authenticate_user!
|
||||
before_filter :project
|
||||
before_filter :module_enabled
|
||||
|
||||
layout "project"
|
||||
|
||||
# Authorize
|
||||
before_filter :add_project_abilities
|
||||
|
||||
# Allow read any issue
|
||||
before_filter :authorize_read_issue!
|
||||
|
||||
respond_to :js, :html
|
||||
|
||||
def index
|
||||
@labels = Issue.tag_counts_on(:labels)
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def module_enabled
|
||||
return render_404 unless @project.issues_enabled
|
||||
end
|
||||
end
|
|
@ -5,6 +5,9 @@
|
|||
%li{class: "#{'active' if current_page?(project_milestones_path(@project))}"}
|
||||
= link_to project_milestones_path(@project), class: "tab" do
|
||||
Milestones
|
||||
%li{class: "#{'active' if current_page?(project_labels_path(@project))}"}
|
||||
= link_to project_labels_path(@project), class: "tab" do
|
||||
Labels
|
||||
%li.right
|
||||
%span.rss-icon
|
||||
= link_to project_issues_path(@project, :atom, { private_token: current_user.private_token }) do
|
||||
|
|
4
app/views/labels/_label.html.haml
Normal file
4
app/views/labels/_label.html.haml
Normal file
|
@ -0,0 +1,4 @@
|
|||
%li.wll
|
||||
%strong= label.name
|
||||
.right
|
||||
%span= pluralize label.count, 'issue'
|
14
app/views/labels/index.html.haml
Normal file
14
app/views/labels/index.html.haml
Normal file
|
@ -0,0 +1,14 @@
|
|||
= render "issues/head"
|
||||
|
||||
%h3.page_title
|
||||
Labels
|
||||
%br
|
||||
%div.ui-box
|
||||
%ul.unstyled.labels-table
|
||||
- @labels.each do |label|
|
||||
= render 'label', label: label
|
||||
|
||||
- unless @labels.present?
|
||||
%li
|
||||
%h3.nothing_here_message Nothing to show here
|
||||
|
|
@ -197,7 +197,9 @@ Gitlab::Application.routes.draw do
|
|||
end
|
||||
resources :team_members
|
||||
resources :milestones
|
||||
resources :labels, :only => [:index]
|
||||
resources :issues do
|
||||
|
||||
collection do
|
||||
post :sort
|
||||
post :bulk_update
|
||||
|
|
13
features/projects/issues/labels.feature
Normal file
13
features/projects/issues/labels.feature
Normal file
|
@ -0,0 +1,13 @@
|
|||
Feature: Labels
|
||||
Background:
|
||||
Given I signin as a user
|
||||
And I own project "Shop"
|
||||
And project "Shop" have issues tags:
|
||||
| name |
|
||||
| bug |
|
||||
| feature |
|
||||
Given I visit project "Shop" labels page
|
||||
|
||||
Scenario: I should see active milestones
|
||||
Then I should see label "bug"
|
||||
And I should see label "feature"
|
|
@ -33,6 +33,25 @@ Given /^I visit issue page "(.*?)"$/ do |arg1|
|
|||
end
|
||||
|
||||
Given /^I submit new issue "(.*?)"$/ do |arg1|
|
||||
fill_in "issue_title", :with => arg1
|
||||
fill_in "issue_title", with: arg1
|
||||
click_button "Submit new issue"
|
||||
end
|
||||
|
||||
Given /^project "(.*?)" have issues tags:$/ do |arg1, table|
|
||||
project = Project.find_by_name(arg1)
|
||||
table.hashes.each do |hash|
|
||||
Factory :issue,
|
||||
project: project,
|
||||
label_list: [hash[:name]]
|
||||
end
|
||||
end
|
||||
|
||||
Given /^I visit project "(.*?)" labels page$/ do |arg1|
|
||||
visit project_labels_path(Project.find_by_name(arg1))
|
||||
end
|
||||
|
||||
Then /^I should see label "(.*?)"$/ do |arg1|
|
||||
within ".labels-table" do
|
||||
page.should have_content arg1
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue