From 8c271104e14bb31d79f27fe876d0900764e6efb9 Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Thu, 16 May 2024 23:18:48 +0300 Subject: [PATCH] single digital signature by default --- app/views/esign_settings/show.html.erb | 2 +- lib/submissions/generate_result_attachments.rb | 17 ++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/app/views/esign_settings/show.html.erb b/app/views/esign_settings/show.html.erb index 054f0b1e..4c9a65e6 100644 --- a/app/views/esign_settings/show.html.erb +++ b/app/views/esign_settings/show.html.erb @@ -123,7 +123,7 @@ <% end %> <% end %> - <% account_config = AccountConfig.where(account: current_account, key: AccountConfig::ESIGNING_PREFERENCE_KEY).first_or_initialize(value: 'multiple') %> + <% account_config = AccountConfig.where(account: current_account, key: AccountConfig::ESIGNING_PREFERENCE_KEY).first_or_initialize(value: 'single') %> <% if can?(:manage, account_config) %>
diff --git a/lib/submissions/generate_result_attachments.rb b/lib/submissions/generate_result_attachments.rb index 061bf488..5ff6aef9 100644 --- a/lib/submissions/generate_result_attachments.rb +++ b/lib/submissions/generate_result_attachments.rb @@ -11,7 +11,6 @@ module Submissions end SIGN_REASON = 'Signed by %s with DocuSeal.co' - SIGN_SIGNLE_REASON = 'Digitally signed with DocuSeal.co' RTL_REGEXP = TextUtils::RTL_REGEXP @@ -453,8 +452,10 @@ module Submissions format(SIGN_REASON, name:) end - def single_sign_reason - SIGN_SIGNLE_REASON + def single_sign_reason(submitter) + signers = submitter.submission.submitters.sort_by(&:completed_at).map { |s| s.email || s.name || s.phone } + + format(SIGN_REASON, name: signers.reverse.join(', ')) end def fetch_sign_reason(submitter) @@ -463,16 +464,18 @@ module Submissions config = if Docuseal.multitenant? AccountConfig.where(account: submitter.account, key: AccountConfig::ESIGNING_PREFERENCE_KEY) - .first_or_initialize(value: 'multiple') + .first_or_initialize(value: 'single') else AccountConfig.where(key: AccountConfig::ESIGNING_PREFERENCE_KEY) - .first_or_initialize(value: 'multiple') + .first_or_initialize(value: 'single') end return sign_reason(reason_name) if config.value == 'multiple' - return single_sign_reason if !submitter.submission.submitters.exists?(completed_at: nil) && - submitter.completed_at == submitter.submission.submitters.maximum(:completed_at) + if !submitter.submission.submitters.exists?(completed_at: nil) && + submitter.completed_at == submitter.submission.submitters.maximum(:completed_at) + return single_sign_reason(submitter) + end nil end