adjust completed email delivery
This commit is contained in:
@@ -93,18 +93,26 @@ class ProcessSubmitterCompletionJob
|
|||||||
|
|
||||||
def enqueue_completed_emails(submitter)
|
def enqueue_completed_emails(submitter)
|
||||||
submission = submitter.submission
|
submission = submitter.submission
|
||||||
|
template = submitter.template
|
||||||
|
|
||||||
user = submission.created_by_user || submitter.template.author
|
user = submission.created_by_user || template.author
|
||||||
|
|
||||||
if submitter.account.users.exists?(id: user.id) && submission.preferences['send_email'] != false &&
|
if submitter.account.users.exists?(id: user.id) && submission.preferences['send_email'] != false &&
|
||||||
submitter.template&.preferences&.dig('completed_notification_email_enabled') != false
|
(!template || template.preferences['completed_notification_email_enabled'] != false)
|
||||||
if submission.submitters.map(&:email).exclude?(user.email) &&
|
user_submitter = submission.submitters.find { |s| s.email == user.email }
|
||||||
user.user_configs.find_by(key: UserConfig::RECEIVE_COMPLETED_EMAIL)&.value != false &&
|
|
||||||
user.role != 'integration'
|
is_sent_to_user =
|
||||||
SubmitterMailer.completed_email(submitter, user).deliver_later!
|
if user.role != 'integration' &&
|
||||||
end
|
(!user_submitter || user_submitter.preferences['send_email'] == false) &&
|
||||||
|
user.user_configs.find_by(key: UserConfig::RECEIVE_COMPLETED_EMAIL)&.value != false
|
||||||
|
SubmitterMailer.completed_email(submitter, user).deliver_later!
|
||||||
|
|
||||||
|
true
|
||||||
|
end
|
||||||
|
|
||||||
build_bcc_addresses(submission).each do |to|
|
build_bcc_addresses(submission).each do |to|
|
||||||
|
next if is_sent_to_user && to == user.email
|
||||||
|
|
||||||
SubmitterMailer.completed_email(submitter, user, to:).deliver_later!
|
SubmitterMailer.completed_email(submitter, user, to:).deliver_later!
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user