ensure generated doc completed
This commit is contained in:
@@ -196,4 +196,20 @@ module Submissions
|
||||
end
|
||||
end.exclude?(false)
|
||||
end
|
||||
|
||||
def regenerate_documents(submission)
|
||||
submitters = submission.submitters.where.not(completed_at: nil).preload(:documents_attachments)
|
||||
|
||||
submitters.each { |submitter| submitter.documents.each(&:destroy!) }
|
||||
|
||||
submission.submitters.where.not(completed_at: nil).order(:completed_at).each do |submitter|
|
||||
GenerateResultAttachments.call(submitter)
|
||||
end
|
||||
|
||||
return if submission.combined_document_attachment.blank?
|
||||
|
||||
submission.combined_document_attachment.destroy!
|
||||
|
||||
Submissions::GenerateCombinedAttachment.call(submission.submitters.completed.order(:completed_at).last)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -7,11 +7,15 @@ module Submissions
|
||||
CHECK_COMPLETE_TIMEOUT = 90.seconds
|
||||
|
||||
WaitForCompleteTimeout = Class.new(StandardError)
|
||||
NotCompletedYet = Class.new(StandardError)
|
||||
|
||||
module_function
|
||||
|
||||
def call(submitter)
|
||||
return [] unless submitter
|
||||
|
||||
raise NotCompletedYet unless submitter.completed_at?
|
||||
|
||||
return submitter.documents if ApplicationRecord.uncached { submitter.document_generation_events.complete.exists? }
|
||||
|
||||
events =
|
||||
|
||||
Reference in New Issue
Block a user