reset signature on delegate

master^2
Pete Matsyburka 2 weeks ago
parent 781da32a07
commit 4b00c896e4

@ -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?

Loading…
Cancel
Save