|
|
|
@ -155,16 +155,14 @@ module Submissions
|
|
|
|
submitter_preferences = Submitters.normalize_preferences(submission.account, user, attrs)
|
|
|
|
submitter_preferences = Submitters.normalize_preferences(submission.account, user, attrs)
|
|
|
|
values = attrs[:values] || {}
|
|
|
|
values = attrs[:values] || {}
|
|
|
|
|
|
|
|
|
|
|
|
phone_field_uuid =
|
|
|
|
phone_field_uuid = find_phone_field(submission, values)&.dig('uuid')
|
|
|
|
(submission.template_fields || submission.template.fields).find do |f|
|
|
|
|
|
|
|
|
values[f['uuid']].present? && f['type'] == 'phone'
|
|
|
|
|
|
|
|
end&.dig('uuid')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
submitter =
|
|
|
|
submitter =
|
|
|
|
submission.submitters.new(
|
|
|
|
submission.submitters.new(
|
|
|
|
email:,
|
|
|
|
email:,
|
|
|
|
phone: (attrs[:phone] || values[phone_field_uuid]).to_s.gsub(/[^0-9+]/, ''),
|
|
|
|
phone: (attrs[:phone] || values[phone_field_uuid]).to_s.gsub(/[^0-9+]/, ''),
|
|
|
|
name: attrs[:name],
|
|
|
|
name: attrs[:name],
|
|
|
|
|
|
|
|
account_id: user.account_id,
|
|
|
|
external_id: attrs[:external_id].presence || attrs[:application_key],
|
|
|
|
external_id: attrs[:external_id].presence || attrs[:application_key],
|
|
|
|
completed_at: attrs[:completed].present? ? Time.current : nil,
|
|
|
|
completed_at: attrs[:completed].present? ? Time.current : nil,
|
|
|
|
values: values.except(phone_field_uuid),
|
|
|
|
values: values.except(phone_field_uuid),
|
|
|
|
@ -183,6 +181,12 @@ module Submissions
|
|
|
|
submitter
|
|
|
|
submitter
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def find_phone_field(submission, values)
|
|
|
|
|
|
|
|
(submission.template_fields || submission.template.fields).find do |f|
|
|
|
|
|
|
|
|
values[f['uuid']].present? && f['type'] == 'phone'
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
def assign_completed_attributes(submitter)
|
|
|
|
def assign_completed_attributes(submitter)
|
|
|
|
submitter.values = Submitters::SubmitValues.merge_default_values(submitter)
|
|
|
|
submitter.values = Submitters::SubmitValues.merge_default_values(submitter)
|
|
|
|
submitter.values = Submitters::SubmitValues.merge_formula_values(submitter)
|
|
|
|
submitter.values = Submitters::SubmitValues.merge_formula_values(submitter)
|
|
|
|
|