summaryrefslogtreecommitdiff
path: root/app/services/boards
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-08-09 16:09:30 -0300
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-08-17 12:58:59 -0300
commit1b7f137e95ca1cadfcc74fcc0971a0bdf39e9590 (patch)
tree1f7f5b8c5a8f6e47e68d1df9390c526b11e3ea1f /app/services/boards
parent5490a9fe835f12e3d931bc0a47c0ec177c802140 (diff)
downloadgitlab-ce-1b7f137e95ca1cadfcc74fcc0971a0bdf39e9590.tar.gz
Fix filtering issues by "No Label"
Diffstat (limited to 'app/services/boards')
-rw-r--r--app/services/boards/issues/list_service.rb18
1 files changed, 9 insertions, 9 deletions
diff --git a/app/services/boards/issues/list_service.rb b/app/services/boards/issues/list_service.rb
index 3c48577a6be..060982f01f0 100644
--- a/app/services/boards/issues/list_service.rb
+++ b/app/services/boards/issues/list_service.rb
@@ -3,7 +3,8 @@ module Boards
class ListService < Boards::BaseService
def execute
issues = IssuesFinder.new(user, filter_params).execute
- issues = without_board_labels(issues) if list.backlog?
+ issues = without_board_labels(issues) unless list.label?
+ issues = with_list_label(issues) if list.label?
issues
end
@@ -16,7 +17,6 @@ module Boards
def filter_params
set_default_scope
set_default_sort
- set_list_label
set_project
set_state
@@ -31,13 +31,6 @@ module Boards
params[:sort] = 'priority'
end
- def set_list_label
- return unless list.label?
-
- params[:label_name] ||= []
- params[:label_name] << list.label_name
- end
-
def set_project
params[:project_id] = project.id
end
@@ -58,6 +51,13 @@ module Boards
.where(label_id: board_label_ids).limit(1).arel.exists
)
end
+
+ def with_list_label(issues)
+ issues.where(
+ LabelLink.where("label_links.target_type = 'Issue' AND label_links.target_id = issues.id")
+ .where("label_links.label_id = ?", list.label_id).limit(1).arel.exists
+ )
+ end
end
end
end