diff --git a/app/javascript/form.js b/app/javascript/form.js index 6d1eeaa7..604d06a4 100644 --- a/app/javascript/form.js +++ b/app/javascript/form.js @@ -28,6 +28,7 @@ safeRegisterElement('submission-form', class extends HTMLElement { requireSigningReason: this.dataset.requireSigningReason === 'true', withConfetti: this.dataset.withConfetti !== 'false', withDisclosure: this.dataset.withDisclosure === 'true', + reuseSignature: this.dataset.reuseSignature !== 'false', withTypedSignature: this.dataset.withTypedSignature !== 'false', authenticityToken: document.querySelector('meta[name="csrf-token"]')?.content, rememberSignature: this.dataset.rememberSignature === 'true', diff --git a/app/models/account_config.rb b/app/models/account_config.rb index 0a7e3e8d..29b90000 100644 --- a/app/models/account_config.rb +++ b/app/models/account_config.rb @@ -41,6 +41,7 @@ class AccountConfig < ApplicationRecord WITH_SIGNATURE_ID = 'with_signature_id' WITH_AUDIT_VALUES_KEY = 'with_audit_values' REQUIRE_SIGNING_REASON_KEY = 'require_signing_reason' + REUSE_SIGNATURE_KEY = 'reuse_signature' COMBINE_PDF_RESULT_KEY = 'combine_pdf_result_key' DEFAULT_VALUES = { diff --git a/app/views/submit_form/_submission_form.html.erb b/app/views/submit_form/_submission_form.html.erb index 91b24aaf..9336e948 100644 --- a/app/views/submit_form/_submission_form.html.erb +++ b/app/views/submit_form/_submission_form.html.erb @@ -1,4 +1,4 @@ <% data_attachments = attachments_index.values.select { |e| e.record_id == submitter.id }.to_json(only: %i[uuid created_at], methods: %i[url filename content_type]) %> <% data_fields = (submitter.submission.template_fields || submitter.submission.template.fields).select { |f| f['submitter_uuid'] == submitter.uuid }.to_json %> <% invite_submitters = (submitter.submission.template_submitters || submitter.submission.template.submitters).select { |s| s['invite_by_uuid'] == submitter.uuid && submitter.submission.submitters.none? { |e| e.uuid == s['uuid'] } }.to_json %> - + diff --git a/lib/submitters/form_configs.rb b/lib/submitters/form_configs.rb index 6459e02d..6aba2594 100644 --- a/lib/submitters/form_configs.rb +++ b/lib/submitters/form_configs.rb @@ -8,6 +8,7 @@ module Submitters AccountConfig::FORM_PREFILL_SIGNATURE_KEY, AccountConfig::WITH_SIGNATURE_ID, AccountConfig::REQUIRE_SIGNING_REASON_KEY, + AccountConfig::REUSE_SIGNATURE_KEY, AccountConfig::ALLOW_TYPED_SIGNATURE].freeze module_function @@ -20,16 +21,20 @@ module Submitters with_typed_signature = find_safe_value(configs, AccountConfig::ALLOW_TYPED_SIGNATURE) != false with_confetti = find_safe_value(configs, AccountConfig::FORM_WITH_CONFETTI_KEY) != false prefill_signature = find_safe_value(configs, AccountConfig::FORM_PREFILL_SIGNATURE_KEY) != false + reuse_signature = find_safe_value(configs, AccountConfig::REUSE_SIGNATURE_KEY) != false with_signature_id = find_safe_value(configs, AccountConfig::WITH_SIGNATURE_ID) == true require_signing_reason = find_safe_value(configs, AccountConfig::REQUIRE_SIGNING_REASON_KEY) == true - attrs = { completed_button:, - with_typed_signature:, - with_confetti:, - completed_message:, - require_signing_reason:, - prefill_signature:, - with_signature_id: } + attrs = { + completed_button:, + with_typed_signature:, + with_confetti:, + reuse_signature:, + completed_message:, + require_signing_reason:, + prefill_signature:, + with_signature_id: + } keys.each do |key| attrs[key.to_sym] = configs.find { |e| e.key == key.to_s }&.value