adjust completed webhook sending

This commit is contained in:
DocuSeal
2023-11-01 13:11:42 +02:00
parent 7444bb8b68
commit dbf1fa37c5
2 changed files with 13 additions and 10 deletions
+7 -8
View File
@@ -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)
enqueue_completed_emails(submitter)
end end
return unless is_all_completed return if Accounts.load_webhook_configs(submitter.account).blank?
return if submitter.completed_at != submitter.submission.submitters.maximum(:completed_at)
Submissions::GenerateAuditTrail.call(submitter.submission) SendFormCompletedWebhookRequestJob.perform_later(submitter)
enqueue_emails(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)
+6 -2
View File
@@ -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)