diff --git a/app/controllers/templates_preferences_controller.rb b/app/controllers/templates_preferences_controller.rb index 7eecc555..ca21a52e 100644 --- a/app/controllers/templates_preferences_controller.rb +++ b/app/controllers/templates_preferences_controller.rb @@ -22,6 +22,7 @@ class TemplatesPreferencesController < ApplicationController preferences: %i[bcc_completed request_email_subject request_email_body documents_copy_email_subject documents_copy_email_body documents_copy_email_enabled documents_copy_email_attach_audit + completed_notification_email_attach_documents completed_notification_email_subject completed_notification_email_body completed_notification_email_enabled completed_notification_email_attach_audit] ).tap do |attrs| diff --git a/app/mailers/submitter_mailer.rb b/app/mailers/submitter_mailer.rb index 3802425a..8f83dc5f 100644 --- a/app/mailers/submitter_mailer.rb +++ b/app/mailers/submitter_mailer.rb @@ -48,8 +48,11 @@ class SubmitterMailer < ApplicationMailer @email_config = AccountConfigs.find_for_account(@current_account, AccountConfig::SUBMITTER_COMPLETED_EMAIL_KEY) add_completed_email_attachments!( - submitter, with_audit_log: (@email_config.nil? || @email_config.value['attach_audit_log'] != false) && - @submitter.template.preferences['completed_notification_email_attach_audit'] != false + submitter, + with_documents: @email_config&.value&.dig('attach_documents') != false && + @submitter.template.preferences['completed_notification_email_attach_documents'] != false, + with_audit_log: @email_config&.value&.dig('attach_audit_log') != false && + @submitter.template.preferences['completed_notification_email_attach_audit'] != false ) @subject = @submitter.template.preferences['completed_notification_email_subject'].presence @@ -117,8 +120,8 @@ class SubmitterMailer < ApplicationMailer %(#{submitter.submission.template.name} has been completed by #{submitters}) end - def add_completed_email_attachments!(submitter, with_audit_log: true) - documents = Submitters.select_attachments_for_download(submitter) + def add_completed_email_attachments!(submitter, with_audit_log: true, with_documents: true) + documents = with_documents ? Submitters.select_attachments_for_download(submitter) : [] total_size = 0 audit_trail_data = nil @@ -133,13 +136,15 @@ class SubmitterMailer < ApplicationMailer attachments[submitter.submission.audit_trail.filename.to_s.tr('"', "'")] = audit_trail_data if audit_trail_data - file_fields = submitter.submission.template_fields.select { |e| e['type'].in?(%w[file payment]) } + if with_documents + file_fields = submitter.submission.template_fields.select { |e| e['type'].in?(%w[file payment]) } - if file_fields.pluck('submitter_uuid').uniq.size == 1 - storage_attachments = - submitter.attachments.where(uuid: submitter.values.values_at(*file_fields.pluck('uuid')).flatten) + if file_fields.pluck('submitter_uuid').uniq.size == 1 + storage_attachments = + submitter.attachments.where(uuid: submitter.values.values_at(*file_fields.pluck('uuid')).flatten) - add_attachments_with_size_limit(storage_attachments, total_size) + add_attachments_with_size_limit(storage_attachments, total_size) + end end documents diff --git a/app/views/personalization_settings/_submitter_completed_email_form.html.erb b/app/views/personalization_settings/_submitter_completed_email_form.html.erb index f6805366..674c1009 100644 --- a/app/views/personalization_settings/_submitter_completed_email_form.html.erb +++ b/app/views/personalization_settings/_submitter_completed_email_form.html.erb @@ -8,7 +8,7 @@