From 968c20d8cad487d5621b71c930c3dc3837cd2d1e Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Tue, 2 Jan 2024 11:41:28 +0200 Subject: [PATCH] completed email bcc sending via to address --- app/jobs/process_submitter_completion_job.rb | 16 +++++++++++----- app/mailers/submitter_mailer.rb | 5 ++--- 2 files changed, 13 insertions(+), 8 deletions(-) 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 - bcc = submitter.submission.template.account.account_configs - .find_by(key: AccountConfig::BCC_EMAILS)&.value + SubmitterMailer.completed_email(submitter, user).deliver_later! - SubmitterMailer.completed_email(submitter, user, bcc:).deliver_later! + bcc = submitter.submission.template.account.account_configs + .find_by(key: AccountConfig::BCC_EMAILS)&.value.presence + + 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