Files
docuseal/app/jobs/send_submitter_invitation_email_job.rb
T

32 lines
872 B
Ruby
Raw Normal View History

2023-09-10 02:10:01 +03:00
# frozen_string_literal: true
2024-06-18 16:51:42 +03:00
class SendSubmitterInvitationEmailJob
include Sidekiq::Job
def perform(params = {})
submitter = Submitter.find(params['submitter_id'])
2025-07-23 10:20:21 +03:00
return if submitter.completed_at?
2025-11-13 08:29:27 +02:00
return if submitter.submission.archived_at?
return if submitter.template&.archived_at?
2024-07-25 15:11:01 +03:00
return if submitter.submission.source == 'invite' && !Accounts.can_send_emails?(submitter.account, on_events: true)
2024-04-07 17:12:46 +03:00
2025-01-28 18:32:32 +02:00
unless Accounts.can_send_invitation_emails?(submitter.account)
Rollbar.warning("Skip email: #{submitter.account.id}") if defined?(Rollbar)
return
end
2024-01-16 23:03:01 +02:00
mail = SubmitterMailer.invitation_email(submitter)
Submitters::ValidateSending.call(submitter, mail)
mail.deliver_now!
2023-09-10 02:10:01 +03:00
2023-09-10 12:55:41 +03:00
SubmissionEvent.create!(submitter:, event_type: 'send_email')
2023-09-10 02:10:01 +03:00
submitter.sent_at ||= Time.current
2025-01-28 18:32:32 +02:00
submitter.save!
2023-09-10 02:10:01 +03:00
end
end