mirror of https://github.com/docusealco/docuseal
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
811 B
27 lines
811 B
# frozen_string_literal: true
|
|
|
|
class SendSubmitterReminderEmailJob
|
|
include Sidekiq::Job
|
|
|
|
sidekiq_options queue: :mailers
|
|
|
|
def perform(params = {})
|
|
submitter = Submitter.find(params['submitter_id'])
|
|
|
|
return if submitter.completed_at?
|
|
return if submitter.declined_at?
|
|
return if submitter.submission.archived_at?
|
|
return if submitter.template&.archived_at?
|
|
return unless submitter.email.to_s.include?('@')
|
|
return unless Accounts.can_send_emails?(submitter.account)
|
|
return if submitter.submission_events.where(event_type: 'send_reminder_email')
|
|
.where('created_at > ?', 1.minute.ago).exists?
|
|
|
|
mail = SubmitterMailer.reminder_email(submitter)
|
|
|
|
mail.deliver_now!
|
|
|
|
SubmissionEvent.create!(submitter:, event_type: 'send_reminder_email')
|
|
end
|
|
end
|