|  |  | @ -7,15 +7,10 @@ module Submissions | 
			
		
	
		
		
			
				
					
					|  |  |  |     FONT_PATH = '/fonts/GoNotoKurrent-Regular.ttf' |  |  |  |     FONT_PATH = '/fonts/GoNotoKurrent-Regular.ttf' | 
			
		
	
		
		
			
				
					
					|  |  |  |     FONT_BOLD_PATH = '/fonts/GoNotoKurrent-Bold.ttf' |  |  |  |     FONT_BOLD_PATH = '/fonts/GoNotoKurrent-Bold.ttf' | 
			
		
	
		
		
			
				
					
					|  |  |  |     FONT_NAME = if File.exist?(FONT_PATH) |  |  |  |     FONT_NAME = if File.exist?(FONT_PATH) | 
			
		
	
		
		
			
				
					
					|  |  |  |                   FONT_PATH |  |  |  |                   'GoNotoKurrent' | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 else |  |  |  |                 else | 
			
		
	
		
		
			
				
					
					|  |  |  |                   'Helvetica' |  |  |  |                   'Helvetica' | 
			
		
	
		
		
			
				
					
					|  |  |  |                 end |  |  |  |                 end | 
			
		
	
		
		
			
				
					
					|  |  |  |     FONT_BOLD_NAME = if File.exist?(FONT_BOLD_PATH) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                        FONT_BOLD_PATH |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                      else |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                        'Helvetica' |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                      end |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     SIGN_REASON = 'Signed with DocuSeal.co' |  |  |  |     SIGN_REASON = 'Signed with DocuSeal.co' | 
			
		
	
		
		
			
				
					
					|  |  |  |     VERIFIED_TEXT = 'Verified' |  |  |  |     VERIFIED_TEXT = 'Verified' | 
			
		
	
	
		
		
			
				
					|  |  | @ -48,7 +43,18 @@ module Submissions | 
			
		
	
		
		
			
				
					
					|  |  |  |         end |  |  |  |         end | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |       composer = HexaPDF::Composer.new(skip_page_creation: true) |  |  |  |       composer = HexaPDF::Composer.new(skip_page_creation: true) | 
			
		
	
		
		
			
				
					
					|  |  |  |       composer.document.fonts.add(FONT_BOLD_NAME, variant: :bold) |  |  |  |       composer.document.task(:pdfa) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       composer.document.config['font.map'] = { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         'Helvetica' => { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           none: FONT_PATH, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           bold: FONT_BOLD_PATH | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         }, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         FONT_NAME => { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           none: FONT_PATH, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           bold: FONT_BOLD_PATH | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |       composer.document.config['font.on_missing_glyph'] = |  |  |  |       composer.document.config['font.on_missing_glyph'] = | 
			
		
	
		
		
			
				
					
					|  |  |  |         Submissions::GenerateResultAttachments.method(:on_missing_glyph).to_proc |  |  |  |         Submissions::GenerateResultAttachments.method(:on_missing_glyph).to_proc | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -119,13 +125,13 @@ module Submissions | 
			
		
	
		
		
			
				
					
					|  |  |  |           ), |  |  |  |           ), | 
			
		
	
		
		
			
				
					
					|  |  |  |           composer.document.layout.formatted_text_box( |  |  |  |           composer.document.layout.formatted_text_box( | 
			
		
	
		
		
			
				
					
					|  |  |  |             [ |  |  |  |             [ | 
			
		
	
		
		
			
				
					
					|  |  |  |               { text: "Original SHA256:\n", font: [FONT_BOLD_NAME, { variant: :bold }] }, |  |  |  |               { text: "Original SHA256:\n", font: [FONT_NAME, { variant: :bold }] }, | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |               original_documents.map { |d| d.metadata['sha256'] || d.checksum }.join("\n"), |  |  |  |               original_documents.map { |d| d.metadata['sha256'] || d.checksum }.join("\n"), | 
			
		
	
		
		
			
				
					
					|  |  |  |               "\n", |  |  |  |               "\n", | 
			
		
	
		
		
			
				
					
					|  |  |  |               { text: "Result SHA256:\n", font: [FONT_BOLD_NAME, { variant: :bold }] }, |  |  |  |               { text: "Result SHA256:\n", font: [FONT_NAME, { variant: :bold }] }, | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |               document.metadata['sha256'] || document.checksum, |  |  |  |               document.metadata['sha256'] || document.checksum, | 
			
		
	
		
		
			
				
					
					|  |  |  |               "\n", |  |  |  |               "\n", | 
			
		
	
		
		
			
				
					
					|  |  |  |               { text: 'Generated at: ', font: [FONT_BOLD_NAME, { variant: :bold }] }, |  |  |  |               { text: 'Generated at: ', font: [FONT_NAME, { variant: :bold }] }, | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |               "#{I18n.l(document.created_at.in_time_zone(account.timezone), format: :long, locale: account.locale)} " \ |  |  |  |               "#{I18n.l(document.created_at.in_time_zone(account.timezone), format: :long, locale: account.locale)} " \ | 
			
		
	
		
		
			
				
					
					|  |  |  |               "#{TimeUtils.timezone_abbr(account.timezone, document.created_at)}" |  |  |  |               "#{TimeUtils.timezone_abbr(account.timezone, document.created_at)}" | 
			
		
	
		
		
			
				
					
					|  |  |  |             ], line_spacing: 1.3 |  |  |  |             ], line_spacing: 1.3 | 
			
		
	
	
		
		
			
				
					|  |  | @ -162,7 +168,7 @@ module Submissions | 
			
		
	
		
		
			
				
					
					|  |  |  |             composer.document.layout.formatted_text_box( |  |  |  |             composer.document.layout.formatted_text_box( | 
			
		
	
		
		
			
				
					
					|  |  |  |               [ |  |  |  |               [ | 
			
		
	
		
		
			
				
					
					|  |  |  |                 submission.template_submitters.size > 1 && { text: "#{item['name']}\n" }, |  |  |  |                 submission.template_submitters.size > 1 && { text: "#{item['name']}\n" }, | 
			
		
	
		
		
			
				
					
					|  |  |  |                 submitter.email && { text: "#{submitter.email}\n", font: [FONT_BOLD_NAME, { variant: :bold }] }, |  |  |  |                 submitter.email && { text: "#{submitter.email}\n", font: [FONT_NAME, { variant: :bold }] }, | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 submitter.name && { text: "#{TextUtils.maybe_rtl_reverse(submitter.name)}\n" }, |  |  |  |                 submitter.name && { text: "#{TextUtils.maybe_rtl_reverse(submitter.name)}\n" }, | 
			
		
	
		
		
			
				
					
					|  |  |  |                 submitter.phone && { text: "#{submitter.phone}\n" } |  |  |  |                 submitter.phone && { text: "#{submitter.phone}\n" } | 
			
		
	
		
		
			
				
					
					|  |  |  |               ].compact_blank, line_spacing: 1.3, padding: [0, 20, 0, 0] |  |  |  |               ].compact_blank, line_spacing: 1.3, padding: [0, 20, 0, 0] | 
			
		
	
	
		
		
			
				
					|  |  | @ -276,7 +282,7 @@ module Submissions | 
			
		
	
		
		
			
				
					
					|  |  |  |           composer.document.layout.formatted_text_box( |  |  |  |           composer.document.layout.formatted_text_box( | 
			
		
	
		
		
			
				
					
					|  |  |  |             [ |  |  |  |             [ | 
			
		
	
		
		
			
				
					
					|  |  |  |               { text: SubmissionEvents::EVENT_NAMES[event.event_type.to_sym], |  |  |  |               { text: SubmissionEvents::EVENT_NAMES[event.event_type.to_sym], | 
			
		
	
		
		
			
				
					
					|  |  |  |                 font: [FONT_BOLD_NAME, { variant: :bold }] }, |  |  |  |                 font: [FONT_NAME, { variant: :bold }] }, | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |               event.event_type.include?('send_') ? ' to ' : ' by ', |  |  |  |               event.event_type.include?('send_') ? ' to ' : ' by ', | 
			
		
	
		
		
			
				
					
					|  |  |  |               if event.event_type.include?('sms') || event.event_type.include?('phone') |  |  |  |               if event.event_type.include?('sms') || event.event_type.include?('phone') | 
			
		
	
		
		
			
				
					
					|  |  |  |                 event.data['phone'] || submitter.phone |  |  |  |                 event.data['phone'] || submitter.phone | 
			
		
	
	
		
		
			
				
					|  |  | @ -316,7 +322,7 @@ module Submissions | 
			
		
	
		
		
			
				
					
					|  |  |  |       column.formatted_text([{ text: 'DocuSeal', |  |  |  |       column.formatted_text([{ text: 'DocuSeal', | 
			
		
	
		
		
			
				
					
					|  |  |  |                                link: Docuseal::PRODUCT_URL }], |  |  |  |                                link: Docuseal::PRODUCT_URL }], | 
			
		
	
		
		
			
				
					
					|  |  |  |                             font_size: 20, |  |  |  |                             font_size: 20, | 
			
		
	
		
		
			
				
					
					|  |  |  |                             font: [FONT_BOLD_NAME, { variant: :bold }], |  |  |  |                             font: [FONT_NAME, { variant: :bold }], | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                             width: 100, |  |  |  |                             width: 100, | 
			
		
	
		
		
			
				
					
					|  |  |  |                             padding: [5, 0, 0, 8], |  |  |  |                             padding: [5, 0, 0, 8], | 
			
		
	
		
		
			
				
					
					|  |  |  |                             position: :float, text_align: :left) |  |  |  |                             position: :float, text_align: :left) | 
			
		
	
	
		
		
			
				
					|  |  | 
 |