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:
Diffstat (limited to 'app/services/projects/participants_service.rb')
-rw-r--r--app/services/projects/participants_service.rb50
1 files changed, 0 insertions, 50 deletions
diff --git a/app/services/projects/participants_service.rb b/app/services/projects/participants_service.rb
deleted file mode 100644
index ae6260bcdab..00000000000
--- a/app/services/projects/participants_service.rb
+++ /dev/null
@@ -1,50 +0,0 @@
-module Projects
- class ParticipantsService < BaseService
- def execute(note_type, note_id)
- participating =
- if note_type && note_id
- participants_in(note_type, note_id)
- else
- []
- end
- project_members = sorted(project.team.members)
- participants = all_members + groups + project_members + participating
- participants.uniq
- end
-
- def participants_in(type, id)
- users = case type
- when "Issue"
- issue = project.issues.find_by_iid(id)
- issue ? issue.participants(current_user) : []
- when "MergeRequest"
- merge_request = project.merge_requests.find_by_iid(id)
- merge_request ? merge_request.participants(current_user) : []
- when "Commit"
- author_ids = Note.for_commit_id(id).pluck(:author_id).uniq
- User.where(id: author_ids)
- else
- []
- end
- sorted(users)
- end
-
- def sorted(users)
- users.uniq.to_a.compact.sort_by(&:username).map do |user|
- { username: user.username, name: user.name }
- end
- end
-
- def groups
- current_user.authorized_groups.sort_by(&:path).map do |group|
- count = group.users.count
- { username: group.path, name: "#{group.name} (#{count})" }
- end
- end
-
- def all_members
- count = project.team.members.flatten.count
- [{ username: "all", name: "All Project and Group Members (#{count})" }]
- end
- end
-end