mirror of
https://github.com/docusealco/docuseal
synced 2026-11-04 14:42:32 -05:00
reset signature on delegate
This commit is contained in:
1 parent
781da32a07
commit
4b00c896e4
2 files changed
+17
-1
No files matched your search
@@ -32,7 +32,8 @@ class SubmitFormDelegateController < ApplicationController
|
||||
SubmissionEvents.create_with_tracking_data(@submitter, 'delegate_form', request,
|
||||
{ old_email: @submitter.email, email: })
|
||||
|
||||
@submitter.update!(email:, phone: nil, name: nil, slug: SecureRandom.base58(14))
|
||||
@submitter.update!(email:, phone: nil, name: nil, slug: SecureRandom.base58(14),
|
||||
values: Submitters.fetch_values_without_signature(@submitter))
|
||||
end
|
||||
|
||||
SendSubmitterInvitationEmailJob.perform_async('submitter_id' => @submitter.id)
|
||||
|
||||
@@ -165,6 +165,21 @@ module Submitters
|
||||
preferences
|
||||
end
|
||||
|
||||
def fetch_values_without_signature(submitter)
|
||||
fields = submitter.submission.template_fields || submitter.template.fields
|
||||
default_values = submitter.preferences['default_values'] || {}
|
||||
|
||||
field_uuids = fields.filter_map do |field|
|
||||
next if field['submitter_uuid'] != submitter.uuid
|
||||
next unless field['type'].in?(%w[signature initials])
|
||||
next if default_values[field['uuid']].present?
|
||||
|
||||
field['uuid']
|
||||
end
|
||||
|
||||
submitter.values.except(*field_uuids)
|
||||
end
|
||||
|
||||
def send_signature_requests(submitters, delay_seconds: nil)
|
||||
submitters.each_with_index do |submitter, index|
|
||||
next if submitter.email.blank?
|
||||
|
||||
Reference in new issue
Block a user