diff options
author | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2016-08-09 16:09:30 -0300 |
---|---|---|
committer | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2016-08-17 12:58:59 -0300 |
commit | 1b7f137e95ca1cadfcc74fcc0971a0bdf39e9590 (patch) | |
tree | 1f7f5b8c5a8f6e47e68d1df9390c526b11e3ea1f /app | |
parent | 5490a9fe835f12e3d931bc0a47c0ec177c802140 (diff) | |
download | gitlab-ce-1b7f137e95ca1cadfcc74fcc0971a0bdf39e9590.tar.gz |
Fix filtering issues by "No Label"
Diffstat (limited to 'app')
-rw-r--r-- | app/services/boards/issues/list_service.rb | 18 |
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 |