summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Speicher <robert@gitlab.com>2016-08-25 18:04:22 +0000
committerRobert Speicher <robert@gitlab.com>2016-08-25 18:04:22 +0000
commit1cc59ffec6f9c255edc48348a95f030917609122 (patch)
tree08f6eb16615cfa2c381af855fcc67705c12dc0e1
parent4c17e1b3dbb6c30345d52fc8c9789440f4fcb326 (diff)
parentbaa73b659ae50fa82d9c4be6ab5080a9475d7041 (diff)
downloadgitlab-ce-1cc59ffec6f9c255edc48348a95f030917609122.tar.gz
Merge branch '21257-label-lists-should-shows-opened-or-closed-issues-with-that-label' into 'master'
Label list shows all issues (opened or closed) with that label ## What does this MR do? Change the label list to shows all issues (opened or closed) with that label. ## What are the relevant issue numbers? Closes #21257 See merge request !5991
-rw-r--r--CHANGELOG7
-rw-r--r--app/services/boards/issues/list_service.rb7
-rw-r--r--doc/user/project/issue_board.md7
-rw-r--r--spec/services/boards/issues/list_service_spec.rb8
4 files changed, 18 insertions, 11 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 1acb9174df7..8faa120229b 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -19,10 +19,13 @@ v 8.12.0 (unreleased)
v 8.11.3 (unreleased)
- Allow system info page to handle case where info is unavailable
-v 8.11.2 (unreleased)
+v 8.11.3 (unreleased)
+ - Label list shows all issues (opened or closed) with that label
+
+v 8.11.2
- Show "Create Merge Request" widget for push events to fork projects on the source project
-v 8.11.1 (unreleased)
+v 8.11.1
- Does not halt the GitHub import process when an error occurs
- Fix file links on project page when default view is Files !5933
- Change using size to use count and caching it for number of group members
diff --git a/app/services/boards/issues/list_service.rb b/app/services/boards/issues/list_service.rb
index 435a8c6e681..34efd09ed9f 100644
--- a/app/services/boards/issues/list_service.rb
+++ b/app/services/boards/issues/list_service.rb
@@ -36,7 +36,12 @@ module Boards
end
def set_state
- params[:state] = list.done? ? 'closed' : 'opened'
+ params[:state] =
+ case list.list_type.to_sym
+ when :backlog then 'opened'
+ when :done then 'closed'
+ else 'all'
+ end
end
def board_label_ids
diff --git a/doc/user/project/issue_board.md b/doc/user/project/issue_board.md
index 9df9ed9c9da..cac926b3e28 100644
--- a/doc/user/project/issue_board.md
+++ b/doc/user/project/issue_board.md
@@ -31,10 +31,9 @@ Below is a table of the definitions used for GitLab's Issue Board.
There are three types of lists, the ones you create based on your labels, and
two default:
-- **Backlog** (default): shows all issues that do not fall in one of the other
- lists. Always appears on the very left.
-- **Done** (default): shows all closed issues. Always appears on the very right.
-- Label list: a list based on a label. It shows all issues with that label.
+- **Backlog** (default): shows all opened issues that do not fall in one of the other lists. Always appears on the very left.
+- **Done** (default): shows all closed issues that do not fall in one of the other lists. Always appears on the very right.
+- Label list: a list based on a label. It shows all opened or closed issues with that label.
![GitLab Issue Board](img/issue_board.png)
diff --git a/spec/services/boards/issues/list_service_spec.rb b/spec/services/boards/issues/list_service_spec.rb
index f7f45983d26..cf4c5f13635 100644
--- a/spec/services/boards/issues/list_service_spec.rb
+++ b/spec/services/boards/issues/list_service_spec.rb
@@ -30,7 +30,7 @@ describe Boards::Issues::ListService, services: true do
let!(:closed_issue1) { create(:labeled_issue, :closed, project: project, labels: [bug]) }
let!(:closed_issue2) { create(:labeled_issue, :closed, project: project, labels: [p3]) }
let!(:closed_issue3) { create(:issue, :closed, project: project) }
- let!(:closed_issue4) { create(:labeled_issue, :closed, project: project, labels: [p1]) }
+ let!(:closed_issue4) { create(:labeled_issue, :closed, project: project, labels: [p1, development]) }
before do
project.team << [user, :developer]
@@ -58,15 +58,15 @@ describe Boards::Issues::ListService, services: true do
issues = described_class.new(project, user, params).execute
- expect(issues).to eq [closed_issue4, closed_issue2, closed_issue3, closed_issue1]
+ expect(issues).to eq [closed_issue2, closed_issue3, closed_issue1]
end
- it 'returns opened issues that have label list applied when listing issues from a label list' do
+ it 'returns opened/closed issues that have label list applied when listing issues from a label list' do
params = { id: list1.id }
issues = described_class.new(project, user, params).execute
- expect(issues).to eq [list1_issue3, list1_issue1, list1_issue2]
+ expect(issues).to eq [closed_issue4, list1_issue3, list1_issue1, list1_issue2]
end
end
end