add delay
This commit is contained in:
+6
-4
@@ -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
|
||||||
|
|||||||
+7
-3
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user