diff --git a/lib/submissions/ensure_result_generated.rb b/lib/submissions/ensure_result_generated.rb index 39f4ef2f..66d3e9e4 100644 --- a/lib/submissions/ensure_result_generated.rb +++ b/lib/submissions/ensure_result_generated.rb @@ -32,6 +32,8 @@ module Submissions LockEvent.create!(key:, event_name: :complete) + submitter.documents.reset + documents end rescue ActiveRecord::RecordNotUnique diff --git a/lib/submissions/generate_result_attachments.rb b/lib/submissions/generate_result_attachments.rb index 47293728..dd5a231a 100644 --- a/lib/submissions/generate_result_attachments.rb +++ b/lib/submissions/generate_result_attachments.rb @@ -790,10 +790,10 @@ module Submissions def build_pdfs_index(submission, submitter: nil, flatten: true) latest_submitter = find_last_submitter(submission, submitter:) - Submissions::EnsureResultGenerated.call(latest_submitter) if latest_submitter + documents = Submissions::EnsureResultGenerated.call(latest_submitter) if latest_submitter + documents ||= submission.schema_documents - documents = latest_submitter&.documents&.preload(:blob).to_a.presence - documents ||= submission.schema_documents.preload(:blob) + ActiveRecord::Associations::Preloader.new(records: documents, associations: [:blob]).call attachment_uuids = Submissions.filtered_conditions_schema(submission).pluck('attachment_uuid') attachments_index = documents.index_by { |a| a.metadata['original_uuid'] || a.uuid }