prefill signature client side

This commit is contained in:
Pete Matsyburka
2026-04-11 11:50:41 +03:00
parent f8cb7ffdab
commit 11b0b16ca7
5 changed files with 74 additions and 21 deletions
@@ -9,29 +9,13 @@ module Submitters
def call(submitter, params, cookies = nil, attachments = [])
attachments = attachments.select { |e| e.record_id == submitter.id && e.record_type == 'Submitter' }
if (value = params[:signature_src].presence || params[:signature].presence)
find_or_create_signature_from_value(submitter, value, attachments)
elsif params[:signed_signature_uuids].present?
if params[:signed_signature_uuids].present?
find_storage_signature(submitter, params[:signed_signature_uuids], attachments)
elsif cookies
find_session_signature(submitter, cookies, attachments)
end
end
def find_or_create_signature_from_value(submitter, value, attachments)
_, attachment = Submitters::NormalizeValues.normalize_attachment_value(value,
{ 'type' => 'signature' },
submitter.account,
attachments,
for_submitter: submitter)
attachment.record ||= submitter
attachment.save!
attachment
end
def sign_signature_uuid(uuid)
ApplicationRecord.signed_id_verifier.generate(uuid, purpose: SIGNED_UUID_PURPPOSE)
end