From a377e45a63f59a272660fc748312a1cab7d5efe9 Mon Sep 17 00:00:00 2001
From: Pete Matsyburka
Date: Fri, 22 Nov 2024 10:15:51 +0200
Subject: [PATCH] use product email url
---
app/controllers/esign_settings_controller.rb | 2 ++
app/controllers/submissions_controller.rb | 2 ++
app/controllers/submissions_preview_controller.rb | 2 +-
app/mailers/application_mailer.rb | 2 +-
app/views/shared/_email_attribution.html.erb | 2 +-
lib/docuseal.rb | 1 +
lib/submissions/generate_audit_trail.rb | 7 +++++--
7 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/app/controllers/esign_settings_controller.rb b/app/controllers/esign_settings_controller.rb
index 00c27a05..34feb84e 100644
--- a/app/controllers/esign_settings_controller.rb
+++ b/app/controllers/esign_settings_controller.rb
@@ -11,6 +11,8 @@ class EsignSettingsController < ApplicationController
end
end
+ prepend_before_action :maybe_redirect_com, only: %i[show]
+
before_action :load_encrypted_config
authorize_resource :encrypted_config, parent: false, only: %i[new create]
authorize_resource :encrypted_config, only: %i[update destroy show]
diff --git a/app/controllers/submissions_controller.rb b/app/controllers/submissions_controller.rb
index a7a7f216..d2c20653 100644
--- a/app/controllers/submissions_controller.rb
+++ b/app/controllers/submissions_controller.rb
@@ -6,6 +6,8 @@ class SubmissionsController < ApplicationController
load_and_authorize_resource :submission, only: %i[show destroy]
+ prepend_before_action :maybe_redirect_com, only: %i[show]
+
def show
@submission = Submissions.preload_with_pages(@submission)
diff --git a/app/controllers/submissions_preview_controller.rb b/app/controllers/submissions_preview_controller.rb
index e1bf4a81..0d61cb00 100644
--- a/app/controllers/submissions_preview_controller.rb
+++ b/app/controllers/submissions_preview_controller.rb
@@ -4,7 +4,7 @@ class SubmissionsPreviewController < ApplicationController
skip_before_action :authenticate_user!
skip_authorization_check
- before_action :maybe_redirect_com, only: %i[show completed]
+ prepend_before_action :maybe_redirect_com, only: %i[show completed]
TTL = 40.minutes
diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb
index 39f27379..4f2cca3d 100644
--- a/app/mailers/application_mailer.rb
+++ b/app/mailers/application_mailer.rb
@@ -16,7 +16,7 @@ class ApplicationMailer < ActionMailer::Base
after_action :set_message_uuid
def default_url_options
- Docuseal.default_url_options
+ Docuseal.default_url_options.merge(host: ENV.fetch('EMAIL_HOST', Docuseal.default_url_options[:host]))
end
def set_message_metadata
diff --git a/app/views/shared/_email_attribution.html.erb b/app/views/shared/_email_attribution.html.erb
index bea1e847..5e30a0c4 100644
--- a/app/views/shared/_email_attribution.html.erb
+++ b/app/views/shared/_email_attribution.html.erb
@@ -2,5 +2,5 @@
---
- <%= t('sent_using_product_name_free_document_signing_html', product_url: "#{Docuseal::PRODUCT_URL}/start", product_name: Docuseal.product_name) %>
+ <%= t('sent_using_product_name_free_document_signing_html', product_url: "#{Docuseal::PRODUCT_EMAIL_URL}/start", product_name: Docuseal.product_name) %>
diff --git a/lib/docuseal.rb b/lib/docuseal.rb
index 34a44046..e63ef58e 100644
--- a/lib/docuseal.rb
+++ b/lib/docuseal.rb
@@ -3,6 +3,7 @@
module Docuseal
URL_CACHE = ActiveSupport::Cache::MemoryStore.new
PRODUCT_URL = 'https://www.docuseal.com'
+ PRODUCT_EMAIL_URL = ENV.fetch('PRODUCT_EMAIL_URL', PRODUCT_URL)
NEWSLETTER_URL = "#{PRODUCT_URL}/newsletters".freeze
ENQUIRIES_URL = "#{PRODUCT_URL}/enquiries".freeze
PRODUCT_NAME = 'DocuSeal'
diff --git a/lib/submissions/generate_audit_trail.rb b/lib/submissions/generate_audit_trail.rb
index 1e3e2dd1..96747e81 100644
--- a/lib/submissions/generate_audit_trail.rb
+++ b/lib/submissions/generate_audit_trail.rb
@@ -64,7 +64,10 @@ module Submissions
def build_audit_trail(submission)
account = submission.account
- verify_url = Rails.application.routes.url_helpers.settings_esign_url(**Docuseal.default_url_options)
+ verify_url = Rails.application.routes.url_helpers.settings_esign_url(
+ **Docuseal.default_url_options, host: ENV.fetch('EMAIL_HOST', Docuseal.default_url_options[:host])
+ )
+
page_size =
if TimeUtils.timezone_abbr(account.timezone, Time.current.beginning_of_year).in?(US_TIMEZONES)
:Letter
@@ -411,7 +414,7 @@ module Submissions
column.image(PdfIcons.logo_io, width: 40, height: 40, position: :float)
column.formatted_text([{ text: 'DocuSeal',
- link: Docuseal::PRODUCT_URL }],
+ link: Docuseal::PRODUCT_EMAIL_URL }],
font_size: 20,
font: [FONT_NAME, { variant: :bold }],
width: 100,