diff options
author | Eugenia Grieff <egrieff@gitlab.com> | 2019-09-12 17:14:43 +0100 |
---|---|---|
committer | Eugenia Grieff <egrieff@gitlab.com> | 2019-10-22 17:00:56 +0100 |
commit | 6ff7788d4cb6fcfec1ec1a2e9d42c04a0eb31891 (patch) | |
tree | bd20d9fb6af0c7652a6db3b112a731f5abeee514 /app/finders/labels_finder.rb | |
parent | 6653aab95dfdfd260e8814e7499cc2345f451f99 (diff) | |
download | gitlab-ce-6ff7788d4cb6fcfec1ec1a2e9d42c04a0eb31891.tar.gz |
Fix labels finder to filter visible issuables
Use project scopes to filter project labels
Add changelog file
Check issuables visibility in LabelsFinder
Add specs for issuables visibility cases
Rename Project method to reuse in LabelsFinder
Remove commented code
Improve changelog title
Diffstat (limited to 'app/finders/labels_finder.rb')
-rw-r--r-- | app/finders/labels_finder.rb | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/app/finders/labels_finder.rb b/app/finders/labels_finder.rb index e523942ea4c..027cdc4fc78 100644 --- a/app/finders/labels_finder.rb +++ b/app/finders/labels_finder.rb @@ -51,7 +51,7 @@ class LabelsFinder < UnionFinder end label_ids << Label.where(group_id: projects.group_ids) - label_ids << Label.where(project_id: projects.select(:id)) unless only_group_labels? + label_ids << Label.where(project_id: ids_user_can_read_labels(projects)) unless only_group_labels? end label_ids @@ -188,4 +188,10 @@ class LabelsFinder < UnionFinder groups.select { |group| authorized_to_read_labels?(group) } end end + + # rubocop: disable CodeReuse/ActiveRecord + def ids_user_can_read_labels(projects) + Project.where(id: projects.select(:id)).ids_with_issuables_available_for(current_user) + end + # rubocop: enable CodeReuse/ActiveRecord end |