adjust completed webhook sending

pull/109/head
DocuSeal 2 years ago
parent 7444bb8b68
commit dbf1fa37c5

@ -10,19 +10,18 @@ class ProcessSubmitterCompletionJob < ApplicationJob
Submissions::EnsureResultGenerated.call(submitter) Submissions::EnsureResultGenerated.call(submitter)
if submitter.account.encrypted_configs.exists?(key: EncryptedConfig::WEBHOOK_URL_KEY) if is_all_completed && submitter.completed_at == submitter.submission.submitters.maximum(:completed_at)
SendFormCompletedWebhookRequestJob.perform_later(submitter) Submissions::GenerateAuditTrail.call(submitter.submission)
end
return unless is_all_completed enqueue_completed_emails(submitter)
return if submitter.completed_at != submitter.submission.submitters.maximum(:completed_at) end
Submissions::GenerateAuditTrail.call(submitter.submission) return if Accounts.load_webhook_configs(submitter.account).blank?
enqueue_emails(submitter) SendFormCompletedWebhookRequestJob.perform_later(submitter)
end end
def enqueue_emails(submitter) def enqueue_completed_emails(submitter)
user = submitter.submission.created_by_user || submitter.template.author user = submitter.submission.created_by_user || submitter.template.author
if submitter.template.account.users.exists?(id: user.id) if submitter.template.account.users.exists?(id: user.id)

@ -47,9 +47,13 @@ module Accounts
end end
def load_webhook_configs(account) def load_webhook_configs(account)
EncryptedConfig.find_by(key: EncryptedConfig::WEBHOOK_URL_KEY) unless Docuseal.multitenant? configs = account.encrypted_configs.find_by(key: EncryptedConfig::WEBHOOK_URL_KEY)
account.encrypted_configs.find_by(key: EncryptedConfig::WEBHOOK_URL_KEY) unless Docuseal.multitenant?
configs ||= Account.order(:id).first.encrypted_configs.find_by(key: EncryptedConfig::WEBHOOK_URL_KEY)
end
configs
end end
def load_signing_pkcs(account) def load_signing_pkcs(account)

Loading…
Cancel
Save