mirror of
https://github.com/docusealco/docuseal.git
synced 2026-08-07 07:14:43 +00:00
fix condition on complete
This commit is contained in:
@@ -286,7 +286,10 @@ module Submitters
|
||||
|
||||
attachments_index =
|
||||
if has_document_conditions
|
||||
Submissions.filtered_conditions_schema(submission).index_by { |i| i['attachment_uuid'] }
|
||||
submitters_values = merge_submitters_values(submitter)
|
||||
|
||||
Submissions.filtered_conditions_schema(submission, values: submitters_values)
|
||||
.index_by { |i| i['attachment_uuid'] }
|
||||
end
|
||||
|
||||
submission.template_fields.each do |field|
|
||||
@@ -295,8 +298,7 @@ module Submitters
|
||||
required_field_uuids_acc.add(field['uuid']) if required_field_uuids_acc && required_editable_field?(field)
|
||||
|
||||
if has_document_conditions && !check_field_areas_attachments(field, attachments_index)
|
||||
submitter.values.delete(field['uuid'])
|
||||
required_field_uuids_acc&.delete(field['uuid'])
|
||||
delete_field_value!(field, submitter, submitters_values, required_field_uuids_acc)
|
||||
end
|
||||
|
||||
if has_other_submitters && !submitters_values &&
|
||||
@@ -305,14 +307,19 @@ module Submitters
|
||||
end
|
||||
|
||||
unless check_field_conditions(submitters_values || submitter.values, field, submission.fields_uuid_index)
|
||||
submitter.values.delete(field['uuid'])
|
||||
required_field_uuids_acc&.delete(field['uuid'])
|
||||
delete_field_value!(field, submitter, submitters_values, required_field_uuids_acc)
|
||||
end
|
||||
end
|
||||
|
||||
submitter.values
|
||||
end
|
||||
|
||||
def delete_field_value!(field, submitter, submitters_values = nil, required_field_uuids_acc = nil)
|
||||
submitter.values.delete(field['uuid'])
|
||||
submitters_values&.delete(field['uuid'])
|
||||
required_field_uuids_acc&.delete(field['uuid'])
|
||||
end
|
||||
|
||||
def submission_has_document_conditions?(submission)
|
||||
(submission.template_schema || submission.template.schema).any? { |e| e['conditions'].present? }
|
||||
end
|
||||
@@ -331,6 +338,7 @@ module Submitters
|
||||
|
||||
def merge_submitters_values(submitter)
|
||||
submitter.submission.submitters
|
||||
.reject { |sub| sub.uuid == submitter.uuid }
|
||||
.reduce({}) { |acc, sub| acc.merge(sub.values) }
|
||||
.merge(submitter.values)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user