mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-11-18 23:21:30 +08:00
31 lines
709 B
Ruby
31 lines
709 B
Ruby
# frozen_string_literal: true
|
|
|
|
class Recipients::MyModuleDesignatedRecipients
|
|
def initialize(params)
|
|
@params = params
|
|
end
|
|
|
|
def recipients
|
|
if @params[:activity_id]
|
|
activity_recipients
|
|
else
|
|
MyModule.find(@params[:my_module_id]).designated_users
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def activity_recipients
|
|
activity = Activity.find(@params[:activity_id])
|
|
case activity.subject_type
|
|
when 'MyModule'
|
|
users = activity.subject.designated_users
|
|
when 'Protocol', 'Result'
|
|
users = activity.subject.my_module.designated_users
|
|
when 'Step'
|
|
users = activity.subject.protocol.my_module.designated_users
|
|
end
|
|
|
|
users.where.not(id: activity.owner_id)
|
|
end
|
|
end
|