From 8b80679b3a87c0f89bccf57c344e8e8cbdaf1329 Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Wed, 10 Jan 2024 02:06:31 +0200 Subject: [PATCH] add bcc completed submission param --- app/controllers/api/submissions_controller.rb | 2 +- app/jobs/process_submitter_completion_job.rb | 3 ++- lib/submissions/create_from_submitters.rb | 5 +++-- lib/submitters.rb | 1 + 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/app/controllers/api/submissions_controller.rb b/app/controllers/api/submissions_controller.rb index 085d8e93..4116c03a 100644 --- a/app/controllers/api/submissions_controller.rb +++ b/app/controllers/api/submissions_controller.rb @@ -136,7 +136,7 @@ module Api params.permit( key => [ - [:send_email, :send_sms, { + [:send_email, :send_sms, :bcc_completed, { message: %i[subject body], submitters: [[:send_email, :send_sms, :uuid, :name, :email, :role, :completed, :phone, :application_key, diff --git a/app/jobs/process_submitter_completion_job.rb b/app/jobs/process_submitter_completion_job.rb index 8df21aa0..33f5e066 100644 --- a/app/jobs/process_submitter_completion_job.rb +++ b/app/jobs/process_submitter_completion_job.rb @@ -28,7 +28,8 @@ class ProcessSubmitterCompletionJob < ApplicationJob submitter.submission.preferences['send_email'] != false SubmitterMailer.completed_email(submitter, user).deliver_later! - bcc = submitter.submission.template.account.account_configs + bcc = submitter.submission.preferences['bcc_completed'].presence || + 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 diff --git a/lib/submissions/create_from_submitters.rb b/lib/submissions/create_from_submitters.rb index 5e166f65..a74e7f4b 100644 --- a/lib/submissions/create_from_submitters.rb +++ b/lib/submissions/create_from_submitters.rb @@ -11,7 +11,7 @@ module Submissions submission_preferences = Submitters.normalize_preferences(template.account, user, attrs) submission_preferences = preferences.merge(submission_preferences) - set_submission_preferences = submission_preferences.slice('send_email') + set_submission_preferences = submission_preferences.slice('send_email', 'bcc_completed') set_submission_preferences['send_email'] = true if params['send_completed_email'] submission = template.submissions.new(created_by_user: user, source:, @@ -130,7 +130,8 @@ module Submissions sent_at: mark_as_sent && email.present? && is_order_sent ? Time.current : nil, values: attrs[:values] || {}, preferences: preferences.merge(submitter_preferences) - .merge({ default_values: attrs[:values] }.compact_blank), + .merge({ default_values: attrs[:values] }.compact_blank) + .except('bcc_completed'), uuid: ) end diff --git a/lib/submitters.rb b/lib/submitters.rb index 789b43de..1118590e 100644 --- a/lib/submitters.rb +++ b/lib/submitters.rb @@ -59,6 +59,7 @@ module Submitters preferences['email_message_uuid'] = email_message.uuid if email_message preferences['send_email'] = params['send_email'].in?(TRUE_VALUES) if params.key?('send_email') preferences['send_sms'] = params['send_sms'].in?(TRUE_VALUES) if params.key?('send_sms') + preferences['bcc_completed'] = params['bcc_completed'] if params.key?('bcc_completed') preferences end