scinote-web/app/notifications/recipients/my_module_designated_recipients.rb

32 lines
709 B
Ruby
Raw Normal View History

# 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