add submitter index
This commit is contained in:
@@ -188,7 +188,7 @@ module Api
|
|||||||
message: %i[subject body],
|
message: %i[subject body],
|
||||||
submitters: [[:send_email, :send_sms, :completed_redirect_url, :uuid, :name, :email, :role,
|
submitters: [[:send_email, :send_sms, :completed_redirect_url, :uuid, :name, :email, :role,
|
||||||
:completed, :phone, :application_key, :external_id, :reply_to, :go_to_last,
|
:completed, :phone, :application_key, :external_id, :reply_to, :go_to_last,
|
||||||
:require_phone_2fa, :require_email_2fa, :order, :invite_by,
|
:require_phone_2fa, :require_email_2fa, :order, :index, :invite_by,
|
||||||
{ metadata: {}, values: {}, roles: [], readonly_fields: [], message: %i[subject body],
|
{ metadata: {}, values: {}, roles: [], readonly_fields: [], message: %i[subject body],
|
||||||
fields: [:name, :uuid, :default_value, :value, :title, :description,
|
fields: [:name, :uuid, :default_value, :value, :title, :description,
|
||||||
:readonly, :required, :validation_pattern, :invalid_message,
|
:readonly, :required, :validation_pattern, :invalid_message,
|
||||||
|
|||||||
@@ -61,7 +61,8 @@ module Submissions
|
|||||||
|
|
||||||
submission.template_submitters << template_submitter
|
submission.template_submitters << template_submitter
|
||||||
|
|
||||||
is_order_sent = submitters_order == 'random' || (template_submitter['order'] || index).zero?
|
is_order_sent = submitters_order == 'random' ||
|
||||||
|
(template_submitter['order'] || submitter_attrs[:index] || index).zero?
|
||||||
|
|
||||||
build_submitter(submission:, attrs: submitter_attrs,
|
build_submitter(submission:, attrs: submitter_attrs,
|
||||||
uuid:, is_order_sent:, user:, params:,
|
uuid:, is_order_sent:, user:, params:,
|
||||||
@@ -308,7 +309,7 @@ module Submissions
|
|||||||
uuid = attrs[:uuid].presence
|
uuid = attrs[:uuid].presence
|
||||||
uuid ||= submitters.find { |e| e['name'].to_s.casecmp(attrs[:role].to_s).zero? }&.dig('uuid')
|
uuid ||= submitters.find { |e| e['name'].to_s.casecmp(attrs[:role].to_s).zero? }&.dig('uuid')
|
||||||
|
|
||||||
uuid || submitters[index]&.dig('uuid')
|
uuid || submitters[attrs[:index] || index]&.dig('uuid')
|
||||||
end
|
end
|
||||||
|
|
||||||
def build_submitter(submission:, attrs:, uuid:, is_order_sent:, user:, preferences:, params:)
|
def build_submitter(submission:, attrs:, uuid:, is_order_sent:, user:, preferences:, params:)
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ module Submissions
|
|||||||
|
|
||||||
Array.wrap(submissions_params).each do |submission|
|
Array.wrap(submissions_params).each do |submission|
|
||||||
submission[:submitters].each_with_index do |submitter, index|
|
submission[:submitters].each_with_index do |submitter, index|
|
||||||
_, new_attachments, new_fields = normalize_submitter_params!(submitter, template, index, add_fields:)
|
_, new_attachments, new_fields =
|
||||||
|
normalize_submitter_params!(submitter, template, submitter[:index] || index, add_fields:)
|
||||||
|
|
||||||
attachments.push(*new_attachments)
|
attachments.push(*new_attachments)
|
||||||
fields.push(*new_fields)
|
fields.push(*new_fields)
|
||||||
|
|||||||
Reference in New Issue
Block a user