diff --git a/app/jobs/process_submitter_completion_job.rb b/app/jobs/process_submitter_completion_job.rb index cf133b47..8df21aa0 100644 --- a/app/jobs/process_submitter_completion_job.rb +++ b/app/jobs/process_submitter_completion_job.rb @@ -26,18 +26,24 @@ class ProcessSubmitterCompletionJob < ApplicationJob if submitter.template.account.users.exists?(id: user.id) && submitter.submission.preferences['send_email'] != false + SubmitterMailer.completed_email(submitter, user).deliver_later! + bcc = submitter.submission.template.account.account_configs - .find_by(key: AccountConfig::BCC_EMAILS)&.value + .find_by(key: AccountConfig::BCC_EMAILS)&.value.presence - SubmitterMailer.completed_email(submitter, user, bcc:).deliver_later! + SubmitterMailer.completed_email(submitter, user, to: bcc).deliver_later! if bcc end - to = submitter.submission.submitters.reject { |e| e.preferences['send_email'] == false } - .sort_by(&:completed_at).select(&:email?).map(&:friendly_name).join(', ') + to = build_to_addresses(submitter) SubmitterMailer.documents_copy_email(submitter, to:).deliver_later! if to.present? end + def build_to_addresses(submitter) + submitter.submission.submitters.reject { |e| e.preferences['send_email'] == false } + .sort_by(&:completed_at).select(&:email?).map(&:friendly_name).join(', ') + end + def enqueue_next_submitter_request_notification(submitter) next_submitter_item = submitter.submission.template_submitters.find do |e| diff --git a/app/mailers/submitter_mailer.rb b/app/mailers/submitter_mailer.rb index 6941d607..3e984205 100644 --- a/app/mailers/submitter_mailer.rb +++ b/app/mailers/submitter_mailer.rb @@ -33,7 +33,7 @@ class SubmitterMailer < ApplicationMailer ) end - def completed_email(submitter, user, bcc: nil) + def completed_email(submitter, user, to: nil) @current_account = submitter.submission.template.account @submitter = submitter @submission = submitter.submission @@ -55,8 +55,7 @@ class SubmitterMailer < ApplicationMailer end mail(from: from_address_for_submitter(submitter), - to: user.role == 'integration' ? user.friendly_name.sub(/\+\w+@/, '@') : user.friendly_name, - bcc:, + to: to || (user.role == 'integration' ? user.friendly_name.sub(/\+\w+@/, '@') : user.friendly_name), subject:) end