|
|
|
@ -6,6 +6,8 @@ class ProcessSubmitterCompletionJob
|
|
|
|
def perform(params = {})
|
|
|
|
def perform(params = {})
|
|
|
|
submitter = Submitter.find(params['submitter_id'])
|
|
|
|
submitter = Submitter.find(params['submitter_id'])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
create_completed_submitter!(submitter)
|
|
|
|
|
|
|
|
|
|
|
|
is_all_completed = !submitter.submission.submitters.exists?(completed_at: nil)
|
|
|
|
is_all_completed = !submitter.submission.submitters.exists?(completed_at: nil)
|
|
|
|
|
|
|
|
|
|
|
|
if !is_all_completed && submitter.submission.submitters_order_preserved?
|
|
|
|
if !is_all_completed && submitter.submission.submitters_order_preserved?
|
|
|
|
@ -24,7 +26,7 @@ class ProcessSubmitterCompletionJob
|
|
|
|
enqueue_completed_emails(submitter)
|
|
|
|
enqueue_completed_emails(submitter)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
create_completed_submitter!(submitter)
|
|
|
|
create_completed_documents!(submitter)
|
|
|
|
|
|
|
|
|
|
|
|
enqueue_completed_webhooks(submitter, is_all_completed:)
|
|
|
|
enqueue_completed_webhooks(submitter, is_all_completed:)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
@ -45,15 +47,19 @@ class ProcessSubmitterCompletionJob
|
|
|
|
completed_at: submitter.completed_at
|
|
|
|
completed_at: submitter.completed_at
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
submitter.documents.each do |attachment|
|
|
|
|
completed_submitter.save!
|
|
|
|
next if attachment.metadata['sha256'].blank?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
completed_submitter.completed_documents << CompletedDocument.new(sha256: attachment.metadata['sha256'])
|
|
|
|
completed_submitter
|
|
|
|
|
|
|
|
rescue ActiveRecord::RecordNotUnique
|
|
|
|
|
|
|
|
retry
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
completed_submitter.save!
|
|
|
|
def create_completed_documents!(submitter)
|
|
|
|
|
|
|
|
submitter.documents.filter_map do |attachment|
|
|
|
|
|
|
|
|
next if attachment.metadata['sha256'].blank?
|
|
|
|
|
|
|
|
|
|
|
|
completed_submitter
|
|
|
|
CompletedDocument.find_or_create_by!(sha256: attachment.metadata['sha256'], submitter_id: submitter.id)
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
def enqueue_completed_webhooks(submitter, is_all_completed: false)
|
|
|
|
def enqueue_completed_webhooks(submitter, is_all_completed: false)
|
|
|
|
|