preserve template fields per submission

This commit is contained in:
Alex Turchyn
2023-07-26 09:58:50 +03:00
parent a92d1d82c1
commit e1eb2da6f9
11 changed files with 78 additions and 21 deletions
+9
View File
@@ -1,4 +1,13 @@
# frozen_string_literal: true
module Submissions
module_function
def update_template_fields!(submission)
submission.template_fields = submission.template.fields
submission.template_schema = submission.template.schema
submission.template_submitters = submission.template.submitters
submission.save!
end
end
@@ -27,7 +27,7 @@ module Submissions
pdfs_index = build_pdfs_index(submitter)
template.fields.each do |field|
submitter.submission.template_fields.each do |field|
next if field['submitter_uuid'] != submitter.uuid
field.fetch('areas', []).each do |area|
@@ -159,7 +159,7 @@ module Submissions
original_documents = template.documents.preload(:blob)
results =
template.schema.map do |item|
submitter.submission.template_schema.map do |item|
pdf = pdfs_index[item['attachment_uuid']]
attachment = save_signed_pdf(pdf:, submitter:, certs:, uuid: item['attachment_uuid'], name: item['name'])
+2 -2
View File
@@ -3,10 +3,10 @@
module Templates
module_function
def build_field_areas_index(template)
def build_field_areas_index(fields)
hash = {}
template.fields.each do |field|
fields.each do |field|
(field['areas'] || []).each do |area|
hash[area['attachment_uuid']] ||= {}
acc = (hash[area['attachment_uuid']][area['page']] ||= [])