From 3aa703032f455dcfca51af102277255e68dcc7c1 Mon Sep 17 00:00:00 2001 From: Alex Turchyn Date: Sun, 10 Sep 2023 21:38:03 +0300 Subject: [PATCH] adjust audit trail --- lib/submissions/generate_audit_trail.rb | 59 +++++++++++++++---------- 1 file changed, 36 insertions(+), 23 deletions(-) diff --git a/lib/submissions/generate_audit_trail.rb b/lib/submissions/generate_audit_trail.rb index 23184444..a30e2c4b 100644 --- a/lib/submissions/generate_audit_trail.rb +++ b/lib/submissions/generate_audit_trail.rb @@ -19,6 +19,11 @@ module Submissions INFO_CREATOR = "#{Docuseal::PRODUCT_NAME} (#{Docuseal::PRODUCT_URL})".freeze SIGN_REASON = 'Signed with DocuSeal.co' + VERIFIED_TEXT = if Docuseal.multitenant? + 'Verified by DocuSeal' + else + 'Verified' + end module_function @@ -59,12 +64,13 @@ module Submissions composer.column(columns: 1) do |column| column.image(PdfIcons.logo_io, width: 40, height: 40, position: :float) - column.text('DocuSeal', - font_size: 20, - font: [FONT_BOLD_NAME, { variant: :bold }], - width: 100, - padding: [11, 0, 0, 8], - position: :float, position_hint: :left) + column.formatted_text([{ text: 'DocuSeal', + link: Docuseal::PRODUCT_URL }], + font_size: 20, + font: [FONT_BOLD_NAME, { variant: :bold }], + width: 100, + padding: [12, 0, 0, 8], + position: :float, position_hint: :left) column.text('Audit Log', font_size: 16, @@ -91,19 +97,26 @@ module Submissions end end - [document.filename.to_s, - composer.document.layout.formatted_text_box( - [ - { text: "Original SHA256:\n", font: [FONT_BOLD_NAME, { variant: :bold }] }, - original_documents.map { |d| d.metadata['sha256'] || d.checksum }.join("\n"), - "\n", - { text: "Result SHA256:\n", font: [FONT_BOLD_NAME, { variant: :bold }] }, - document.metadata['sha256'] || document.checksum, - "\n", - { text: 'Generated at: ', font: [FONT_BOLD_NAME, { variant: :bold }] }, - I18n.l(document.created_at, format: :long, locale: account.locale) - ], line_spacing: 1.8 - )] + link = + Rails.application.routes.url_helpers.rails_blob_url(document, **Docuseal.default_url_options) + + [ + composer.document.layout.formatted_text_box( + [{ text: document.filename.to_s, link: }] + ), + composer.document.layout.formatted_text_box( + [ + { text: "Original SHA256:\n", font: [FONT_BOLD_NAME, { variant: :bold }] }, + original_documents.map { |d| d.metadata['sha256'] || d.checksum }.join("\n"), + "\n", + { text: "Result SHA256:\n", font: [FONT_BOLD_NAME, { variant: :bold }] }, + document.metadata['sha256'] || document.checksum, + "\n", + { text: 'Generated at: ', font: [FONT_BOLD_NAME, { variant: :bold }] }, + I18n.l(document.created_at, format: :long, locale: account.locale) + ], line_spacing: 1.8 + ) + ] end composer.table(documents_data, cell_style: { padding: [0, 0, 25, 0], border: { width: 0 } }) @@ -136,10 +149,10 @@ module Submissions composer.document.layout.formatted_text_box( [ submitter.email && { - text: "Email verification: #{click_email_event ? 'Verified by DocuSeal' : 'Unverififed'}\n" + text: "Email verification: #{click_email_event ? VERIFIED_TEXT : 'Unverififed'}\n" }, submitter.phone && { - text: "Phone verification: #{is_phone_verified ? 'Verified by DocuSeal' : 'Unverififed'}\n" + text: "Phone verification: #{is_phone_verified ? VERIFIED_TEXT : 'Unverififed'}\n" }, completed_event.data['ip'] && { text: "IP: #{completed_event.data['ip']}\n" }, completed_event.data['sid'] && { text: "Session ID: #{completed_event.data['sid']}\n" }, @@ -203,7 +216,7 @@ module Submissions composer.draw_box(divider) - composer.text('Event Log', font_size: 12, padding: [20, 0, 20, 0]) + composer.text('Event Log', font_size: 12, padding: [10, 0, 20, 0]) events_data = submission.submission_events.sort_by(&:event_timestamp).map do |event| submitter = submission.submitters.find { |e| e.id == event.submitter_id } @@ -224,7 +237,7 @@ module Submissions ] end - composer.table(events_data, cell_style: { padding: [0, 0, 20, 0], border: { width: 0 } }) + composer.table(events_data, cell_style: { padding: [0, 0, 20, 0], border: { width: 0 } }) if events_data.present? io = StringIO.new