From 0361fabb6649c32c955364864ab8c7f0ec22c0c3 Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Mon, 15 Sep 2025 10:53:05 +0300 Subject: [PATCH] fix combined download --- lib/submissions/generate_audit_trail.rb | 12 +++++++++++- lib/submitters.rb | 5 +++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/lib/submissions/generate_audit_trail.rb b/lib/submissions/generate_audit_trail.rb index 7d793112..6413c68b 100644 --- a/lib/submissions/generate_audit_trail.rb +++ b/lib/submissions/generate_audit_trail.rb @@ -198,7 +198,7 @@ module Submissions composer.draw_box(divider) - documents_data = Submitters.select_attachments_for_download(last_submitter).map do |document| + documents_data = select_attachments(last_submitter).map do |document| original_documents = submission.schema_documents.select do |e| e.uuid == (document.metadata['original_uuid'] || document.uuid) end.presence @@ -479,6 +479,16 @@ module Submissions 'Signed with DocuSeal.com' end + def select_attachments(submitter) + original_documents = submitter.submission.schema_documents.preload(:blob) + is_more_than_two_images = original_documents.count(&:image?) > 1 + + submitter.documents.preload(:blob).reject do |attachment| + is_more_than_two_images && + original_documents.find { |a| a.uuid == (attachment.metadata['original_uuid'] || attachment.uuid) }&.image? + end + end + def maybe_add_background(_canvas, _submission, _page_size); end def show_verify?(submission) diff --git a/lib/submitters.rb b/lib/submitters.rb index 2eef2f9b..5a003419 100644 --- a/lib/submitters.rb +++ b/lib/submitters.rb @@ -94,8 +94,9 @@ module Submitters def select_attachments_for_download(submitter) if AccountConfig.exists?(account_id: submitter.submission.account_id, key: AccountConfig::COMBINE_PDF_RESULT_KEY, - value: true) && submitter.submission.combined_document_attachment - return [submitter.submission.combined_document_attachment] + value: true) && + submitter.submission.submitters.all?(&:completed_at?) + return [submitter.submission.combined_document_attachment || Submissions::EnsureCombinedGenerated.call(submitter)] end original_documents = submitter.submission.schema_documents.preload(:blob)