Commit 12434cb7fda93538003ae6897ce12f49db4b7a9f

Authored by Valeriy Sizov
2 parents 2b7fd29b bf1554f8

Merge pull request #1672 from tsigo/milestone_closed_issues

Milestone "All Issues" filter
app/assets/javascripts/milestones.js.coffee 0 → 100644
... ... @@ -0,0 +1,7 @@
  1 +$ ->
  2 + $('.milestone-issue-filter tr[data-closed]').addClass('hide')
  3 +
  4 + $('.milestone-issue-filter ul.nav li a').click ->
  5 + $('.milestone-issue-filter li').toggleClass('active')
  6 + $('.milestone-issue-filter tr[data-closed]').toggleClass('hide')
  7 + false
... ...
app/assets/stylesheets/gitlab_bootstrap/tables.scss
... ... @@ -11,6 +11,11 @@ table {
11 11 border-bottom: 1px solid #bbb;
12 12 text-shadow: 0 1px 1px #fff;
13 13 @include bg-dark-gray-gradient;
  14 +
  15 + ul.nav {
  16 + text-shadow: none;
  17 + margin: 0;
  18 + }
14 19 }
15 20  
16 21 th, td {
... ...
app/controllers/milestones_controller.rb
... ... @@ -30,7 +30,7 @@ class MilestonesController < ProjectResourceController
30 30 end
31 31  
32 32 def show
33   - @issues = @milestone.issues.opened.page(params[:page]).per(40)
  33 + @issues = @milestone.issues
34 34 @users = @milestone.participants
35 35  
36 36 respond_to do |format|
... ...
app/views/milestones/show.html.haml
... ... @@ -45,18 +45,20 @@
45 45  
46 46 .row
47 47 .span6
48   - %table
  48 + %table.milestone-issue-filter
49 49 %thead
50   - %th Open Issues
  50 + %th
  51 + %ul.nav.nav-pills
  52 + %li.active= link_to('Open Issues', '#')
  53 + %li=link_to('All Issues', '#')
51 54 - @issues.each do |issue|
52   - %tr
  55 + %tr{data: {closed: issue.closed}}
53 56 %td
54 57 = link_to [@project, issue] do
55 58 %span.badge.badge-info ##{issue.id}
56 59 –
57 60 = link_to_gfm truncate(issue.title, length: 60), [@project, issue]
58 61 %br
59   - = paginate @issues, theme: "gitlab"
60 62  
61 63 .span6
62 64 %table
... ...
features/project/issues/milestones.feature
... ... @@ -16,3 +16,11 @@ Feature: Project Milestones
16 16 Given I click link "New Milestone"
17 17 And I submit new milestone "v2.3"
18 18 Then I should see milestone "v2.3"
  19 +
  20 + @javascript
  21 + Scenario: Listing closed issues
  22 + Given the milestone has open and closed issues
  23 + And I click link "v2.2"
  24 + Then I should see 3 issues
  25 + When I click link "All Issues"
  26 + Then I should see 4 issues
... ...
features/steps/project/project_milestones.rb
... ... @@ -36,4 +36,26 @@ class ProjectMilestones < Spinach::FeatureSteps
36 36  
37 37 3.times { Factory :issue, :project => project, :milestone => milestone }
38 38 end
  39 +
  40 + Given 'the milestone has open and closed issues' do
  41 + project = Project.find_by_name("Shop")
  42 + milestone = project.milestones.find_by_title('v2.2')
  43 +
  44 + # 3 Open issues created above; create one closed issue
  45 + create(:closed_issue, project: project, milestone: milestone)
  46 + end
  47 +
  48 + When 'I click link "All Issues"' do
  49 + click_link 'All Issues'
  50 + end
  51 +
  52 + Then "I should see 3 issues" do
  53 + page.should have_selector('.milestone-issue-filter tbody tr', count: 4)
  54 + page.should have_selector('.milestone-issue-filter tbody tr.hide', count: 1)
  55 + end
  56 +
  57 + Then "I should see 4 issues" do
  58 + page.should have_selector('.milestone-issue-filter tbody tr', count: 4)
  59 + page.should_not have_selector('.milestone-issue-filter tbody tr.hide')
  60 + end
39 61 end
... ...