|  |  |  | @ -44,12 +44,16 @@ module Submissions | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |       template = submitter.submission.template | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |       is_flatten = | 
			
		
	
		
			
				
					|  |  |  |  |         submitter.account.account_configs | 
			
		
	
		
			
				
					|  |  |  |  |                  .find_or_initialize_by(key: AccountConfig::FLATTEN_RESULT_PDF_KEY).value != false | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |       account = submitter.account | 
			
		
	
		
			
				
					|  |  |  |  |       pkcs = Accounts.load_signing_pkcs(account) | 
			
		
	
		
			
				
					|  |  |  |  |       tsa_url = Accounts.load_timeserver_url(account) | 
			
		
	
		
			
				
					|  |  |  |  |       attachments_data_cache = {} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |       pdfs_index = build_pdfs_index(submitter) | 
			
		
	
		
			
				
					|  |  |  |  |       pdfs_index = build_pdfs_index(submitter, flatten: is_flatten) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |       submitter.submission.template_fields.each do |field| | 
			
		
	
		
			
				
					|  |  |  |  |         next if field['submitter_uuid'] != submitter.uuid | 
			
		
	
	
		
			
				
					|  |  |  | @ -86,10 +90,12 @@ module Submissions | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |           next if Array.wrap(value).compact_blank.blank? | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |           begin | 
			
		
	
		
			
				
					|  |  |  |  |             page.flatten_annotations | 
			
		
	
		
			
				
					|  |  |  |  |           rescue StandardError => e | 
			
		
	
		
			
				
					|  |  |  |  |             Rollbar.error(e) if defined?(Rollbar) | 
			
		
	
		
			
				
					|  |  |  |  |           if is_flatten | 
			
		
	
		
			
				
					|  |  |  |  |             begin | 
			
		
	
		
			
				
					|  |  |  |  |               page.flatten_annotations | 
			
		
	
		
			
				
					|  |  |  |  |             rescue StandardError => e | 
			
		
	
		
			
				
					|  |  |  |  |               Rollbar.error(e) if defined?(Rollbar) | 
			
		
	
		
			
				
					|  |  |  |  |             end | 
			
		
	
		
			
				
					|  |  |  |  |           end | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |           canvas = page.canvas(type: :overlay) | 
			
		
	
	
		
			
				
					|  |  |  | @ -335,7 +341,7 @@ module Submissions | 
			
		
	
		
			
				
					|  |  |  |  |       Digest::UUID.uuid_v5(Digest::UUID::OID_NAMESPACE, attachments.map(&:uuid).sort.join(':')) | 
			
		
	
		
			
				
					|  |  |  |  |     end | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     def build_pdfs_index(submitter) | 
			
		
	
		
			
				
					|  |  |  |  |     def build_pdfs_index(submitter, flatten: true) | 
			
		
	
		
			
				
					|  |  |  |  |       latest_submitter = find_last_submitter(submitter) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |       Submissions::EnsureResultGenerated.call(latest_submitter) if latest_submitter | 
			
		
	
	
		
			
				
					|  |  |  | @ -353,10 +359,12 @@ module Submissions | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         pdf = maybe_rotate_pdf(pdf) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         begin | 
			
		
	
		
			
				
					|  |  |  |  |           pdf.acro_form&.flatten | 
			
		
	
		
			
				
					|  |  |  |  |         rescue StandardError => e | 
			
		
	
		
			
				
					|  |  |  |  |           Rollbar.error(e) if defined?(Rollbar) | 
			
		
	
		
			
				
					|  |  |  |  |         if flatten | 
			
		
	
		
			
				
					|  |  |  |  |           begin | 
			
		
	
		
			
				
					|  |  |  |  |             pdf.acro_form&.flatten | 
			
		
	
		
			
				
					|  |  |  |  |           rescue StandardError => e | 
			
		
	
		
			
				
					|  |  |  |  |             Rollbar.error(e) if defined?(Rollbar) | 
			
		
	
		
			
				
					|  |  |  |  |           end | 
			
		
	
		
			
				
					|  |  |  |  |         end | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         pdf.config['font.on_missing_glyph'] = method(:on_missing_glyph).to_proc | 
			
		
	
	
		
			
				
					|  |  |  | 
 |