2018-07-17 16:50:37 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2014-06-23 13:44:49 +00:00
|
|
|
module Projects
|
|
|
|
class ParticipantsService < BaseService
|
2018-04-26 19:53:13 +00:00
|
|
|
include Users::ParticipableService
|
2016-10-13 17:40:06 +00:00
|
|
|
|
2016-08-13 01:17:18 +00:00
|
|
|
def execute(noteable)
|
|
|
|
@noteable = noteable
|
2016-08-12 09:19:29 +00:00
|
|
|
|
2016-08-13 01:17:18 +00:00
|
|
|
participants = noteable_owner + participants_in_noteable + all_members + groups + project_members
|
2014-06-23 13:44:49 +00:00
|
|
|
participants.uniq
|
|
|
|
end
|
|
|
|
|
2018-05-29 09:34:24 +00:00
|
|
|
def project_members
|
|
|
|
@project_members ||= sorted(project.team.members)
|
|
|
|
end
|
|
|
|
|
2014-06-23 13:44:49 +00:00
|
|
|
def all_members
|
2018-05-29 09:34:24 +00:00
|
|
|
[{ username: "all", name: "All Project and Group Members", count: project_members.count }]
|
2014-06-23 13:44:49 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|