summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean McGivern <sean@mcgivern.me.uk>2017-12-06 12:26:38 +0000
committerSean McGivern <sean@mcgivern.me.uk>2017-12-06 12:26:38 +0000
commit6836078304f8eb889c1d3324c4bcf04a1168afcd (patch)
tree9e71a33cad1801bf141a1308fba7b3dbe41e172b
parenteb3672975a1f5c5570c565cd5a81fdd2228010ca (diff)
parent770ed0f8dc9b67061de144cee5ea6b920b707716 (diff)
downloadgitlab-ce-6836078304f8eb889c1d3324c4bcf04a1168afcd.tar.gz
Merge branch 'ee-backport-issue_40654' into 'master'
[CE-Backport] Fix board filter when milestone is predefined See merge request gitlab-org/gitlab-ce!15750
-rw-r--r--app/models/milestone.rb7
-rw-r--r--app/services/boards/issues/list_service.rb9
2 files changed, 12 insertions, 4 deletions
diff --git a/app/models/milestone.rb b/app/models/milestone.rb
index c06ee8083f0..77c19380e66 100644
--- a/app/models/milestone.rb
+++ b/app/models/milestone.rb
@@ -84,6 +84,13 @@ class Milestone < ActiveRecord::Base
else milestones.active
end
end
+
+ def predefined?(milestone)
+ milestone == Any ||
+ milestone == None ||
+ milestone == Upcoming ||
+ milestone == Started
+ end
end
def self.reference_prefix
diff --git a/app/services/boards/issues/list_service.rb b/app/services/boards/issues/list_service.rb
index d85d93e251b..6078fe38064 100644
--- a/app/services/boards/issues/list_service.rb
+++ b/app/services/boards/issues/list_service.rb
@@ -54,10 +54,11 @@ module Boards
def without_board_labels(issues)
return issues unless board_label_ids.any?
- issues.where.not(
- LabelLink.where("label_links.target_type = 'Issue' AND label_links.target_id = issues.id")
- .where(label_id: board_label_ids).limit(1).arel.exists
- )
+ issues.where.not(issues_label_links.limit(1).arel.exists)
+ end
+
+ def issues_label_links
+ LabelLink.where("label_links.target_type = 'Issue' AND label_links.target_id = issues.id").where(label_id: board_label_ids)
end
def with_list_label(issues)