pull/342/head
Pete Matsyburka 12 months ago
parent 0c2abf211e
commit ce31ebde1e

@ -88,17 +88,19 @@ module Submissions
) )
end end
def send_signature_requests(submissions) def send_signature_requests(submissions, delay: nil)
submissions.each do |submission| submissions.each_with_index do |submission, index|
delay_seconds = (delay + index).seconds if delay
submitters = submission.submitters.reject(&:completed_at?) submitters = submission.submitters.reject(&:completed_at?)
if submission.submitters_order_preserved? if submission.submitters_order_preserved?
first_submitter = first_submitter =
submission.template_submitters.filter_map { |s| submitters.find { |e| e.uuid == s['uuid'] } }.first submission.template_submitters.filter_map { |s| submitters.find { |e| e.uuid == s['uuid'] } }.first
Submitters.send_signature_requests([first_submitter]) if first_submitter Submitters.send_signature_requests([first_submitter], delay_seconds:) if first_submitter
else else
Submitters.send_signature_requests(submitters) Submitters.send_signature_requests(submitters, delay_seconds:)
end end
end end
end end

@ -94,12 +94,16 @@ module Submitters
preferences preferences
end end
def send_signature_requests(submitters) def send_signature_requests(submitters, delay_seconds: nil)
submitters.each do |submitter| submitters.each_with_index do |submitter, index|
next if submitter.email.blank? next if submitter.email.blank?
next if submitter.preferences['send_email'] == false next if submitter.preferences['send_email'] == false
SendSubmitterInvitationEmailJob.perform_async('submitter_id' => submitter.id) if delay_seconds
SendSubmitterInvitationEmailJob.perform_in((delay_seconds + index).seconds, 'submitter_id' => submitter.id)
else
SendSubmitterInvitationEmailJob.perform_async('submitter_id' => submitter.id)
end
end end
end end

Loading…
Cancel
Save