add audit trail
This commit is contained in:
@@ -15,9 +15,13 @@ class SubmissionsDebugController < ApplicationController
|
||||
render 'submit_form/show'
|
||||
end
|
||||
f.pdf do
|
||||
Submissions::GenerateResultAttachments.call(@submitter)
|
||||
if params[:audit]
|
||||
Submissions::GenerateAuditTrail.call(@submitter.submission)
|
||||
else
|
||||
Submissions::GenerateResultAttachments.call(@submitter)
|
||||
end
|
||||
|
||||
send_data ActiveStorage::Attachment.where(name: :documents).last.download,
|
||||
send_data ActiveStorage::Attachment.where(name: params[:audit] ? :audit_trail : :documents).last.download,
|
||||
filename: 'debug.pdf',
|
||||
disposition: 'inline',
|
||||
type: 'application/pdf'
|
||||
|
||||
@@ -17,6 +17,8 @@ class ProcessSubmitterCompletionJob < ApplicationJob
|
||||
return unless is_all_completed
|
||||
return if submitter.completed_at != submitter.submission.submitters.maximum(:completed_at)
|
||||
|
||||
Submissions::GenerateAuditTrail.call(submitter.submission)
|
||||
|
||||
enqueue_emails(submitter)
|
||||
end
|
||||
|
||||
|
||||
@@ -33,11 +33,7 @@ class SubmitterMailer < ApplicationMailer
|
||||
|
||||
@email_config = @current_account.account_configs.find_by(key: AccountConfig::SUBMITTER_COMPLETED_EMAIL_KEY)
|
||||
|
||||
documents = Submitters.select_attachments_for_download(submitter)
|
||||
|
||||
documents.each do |attachment|
|
||||
attachments[attachment.filename.to_s] = attachment.download
|
||||
end
|
||||
add_completed_email_attachments!(submitter)
|
||||
|
||||
subject =
|
||||
if @email_config
|
||||
@@ -60,11 +56,7 @@ class SubmitterMailer < ApplicationMailer
|
||||
|
||||
Submissions::EnsureResultGenerated.call(@submitter)
|
||||
|
||||
@documents = Submitters.select_attachments_for_download(submitter)
|
||||
|
||||
@documents.each do |attachment|
|
||||
attachments[attachment.filename.to_s] = attachment.download
|
||||
end
|
||||
@documents = add_completed_email_attachments!(submitter)
|
||||
|
||||
@email_config = @current_account.account_configs.find_by(key: AccountConfig::SUBMITTER_DOCUMENTS_COPY_EMAIL_KEY)
|
||||
|
||||
@@ -82,6 +74,20 @@ class SubmitterMailer < ApplicationMailer
|
||||
|
||||
private
|
||||
|
||||
def add_completed_email_attachments!(submitter)
|
||||
documents = Submitters.select_attachments_for_download(submitter)
|
||||
|
||||
documents.each do |attachment|
|
||||
attachments[attachment.filename.to_s] = attachment.download
|
||||
end
|
||||
|
||||
if submitter.submission.audit_trail.present?
|
||||
attachments[submitter.submission.audit_trail.filename.to_s] = submitter.submission.audit_trail.download
|
||||
end
|
||||
|
||||
documents
|
||||
end
|
||||
|
||||
def from_address_for_submitter(submitter)
|
||||
submitter.submission.created_by_user&.friendly_name || submitter.submission.template.author.friendly_name
|
||||
end
|
||||
|
||||
@@ -41,6 +41,8 @@ class Submission < ApplicationRecord
|
||||
attribute :source, :string, default: 'link'
|
||||
attribute :submitters_order, :string, default: 'random'
|
||||
|
||||
has_one_attached :audit_trail
|
||||
|
||||
has_many :template_schema_documents,
|
||||
->(e) { where(uuid: (e.template_schema.presence || e.template.schema).pluck('attachment_uuid')) },
|
||||
through: :template, source: :documents_attachments
|
||||
|
||||
Reference in New Issue
Block a user