Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-08-09 22:09:30 +0300
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-08-17 18:58:59 +0300
commit1b7f137e95ca1cadfcc74fcc0971a0bdf39e9590 (patch)
tree1f7f5b8c5a8f6e47e68d1df9390c526b11e3ea1f /app/services/boards
parent5490a9fe835f12e3d931bc0a47c0ec177c802140 (diff)
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