diff options
Diffstat (limited to 'app/finders/labels_finder.rb')
-rw-r--r-- | app/finders/labels_finder.rb | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/app/finders/labels_finder.rb b/app/finders/labels_finder.rb index 1d05bf28438..690b00ae8d4 100644 --- a/app/finders/labels_finder.rb +++ b/app/finders/labels_finder.rb @@ -10,6 +10,7 @@ class LabelsFinder < UnionFinder @params = params end + # rubocop: disable CodeReuse/ActiveRecord def execute(skip_authorization: false) @skip_authorization = skip_authorization items = find_union(label_ids, Label) || Label.none @@ -17,11 +18,13 @@ class LabelsFinder < UnionFinder items = by_search(items) sort(items) end + # rubocop: enable CodeReuse/ActiveRecord private attr_reader :current_user, :params, :skip_authorization + # rubocop: disable CodeReuse/ActiveRecord def label_ids label_ids = [] @@ -52,17 +55,22 @@ class LabelsFinder < UnionFinder label_ids end + # rubocop: enable CodeReuse/ActiveRecord + # rubocop: disable CodeReuse/ActiveRecord def sort(items) items.reorder(title: :asc) end + # rubocop: enable CodeReuse/ActiveRecord + # rubocop: disable CodeReuse/ActiveRecord def with_title(items) return items if title.nil? return items.none if title.blank? items.where(title: title) end + # rubocop: enable CodeReuse/ActiveRecord def by_search(labels) return labels unless search? @@ -134,13 +142,14 @@ class LabelsFinder < UnionFinder @project end + # rubocop: disable CodeReuse/ActiveRecord def projects return @projects if defined?(@projects) @projects = if skip_authorization Project.all else - ProjectsFinder.new(params: { non_archived: true }, current_user: current_user).execute + ProjectsFinder.new(params: { non_archived: true }, current_user: current_user).execute # rubocop: disable CodeReuse/Finder end @projects = @projects.in_namespace(params[:group_id]) if group? @@ -149,6 +158,7 @@ class LabelsFinder < UnionFinder @projects end + # rubocop: enable CodeReuse/ActiveRecord def authorized_to_read_labels?(label_parent) return true if skip_authorization |