add delay
This commit is contained in:
+6
-4
@@ -88,17 +88,19 @@ module Submissions
|
||||
)
|
||||
end
|
||||
|
||||
def send_signature_requests(submissions)
|
||||
submissions.each do |submission|
|
||||
def send_signature_requests(submissions, delay: nil)
|
||||
submissions.each_with_index do |submission, index|
|
||||
delay_seconds = (delay + index).seconds if delay
|
||||
|
||||
submitters = submission.submitters.reject(&:completed_at?)
|
||||
|
||||
if submission.submitters_order_preserved?
|
||||
first_submitter =
|
||||
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
|
||||
Submitters.send_signature_requests(submitters)
|
||||
Submitters.send_signature_requests(submitters, delay_seconds:)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
+7
-3
@@ -94,12 +94,16 @@ module Submitters
|
||||
preferences
|
||||
end
|
||||
|
||||
def send_signature_requests(submitters)
|
||||
submitters.each do |submitter|
|
||||
def send_signature_requests(submitters, delay_seconds: nil)
|
||||
submitters.each_with_index do |submitter, index|
|
||||
next if submitter.email.blank?
|
||||
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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user