allow to resent copy email

This commit is contained in:
Pete Matsyburka
2024-02-25 02:00:18 +02:00
parent 2bd023e5d0
commit fcd40308ee
14 changed files with 103 additions and 65 deletions
+5 -5
View File
@@ -18,7 +18,7 @@ module ReplaceEmailVariables
module_function
# rubocop:disable Metrics
def call(text, submitter:, tracking_event_type: 'click_email')
def call(text, submitter:, tracking_event_type: 'click_email', sig: nil)
submitter_link = build_submitter_link(submitter, tracking_event_type)
submission_link = build_submission_link(submitter.submission) if submitter.submission
@@ -35,8 +35,8 @@ module ReplaceEmailVariables
if text.include?(SUBMISSION_SUBMITTERS)
text = text.gsub(SUBMISSION_SUBMITTERS, build_submission_submitters(submitter.submission))
end
text = text.gsub(DOCUMENTS_LINKS, build_documents_links_text(submitter))
text = text.gsub(DOCUMENTS_LINK, build_documents_links_text(submitter))
text = text.gsub(DOCUMENTS_LINKS, build_documents_links_text(submitter, sig))
text = text.gsub(DOCUMENTS_LINK, build_documents_links_text(submitter, sig))
text = text.gsub(ACCOUNT_NAME, submitter.template.account.name) if submitter.template
@@ -44,9 +44,9 @@ module ReplaceEmailVariables
end
# rubocop:enable Metrics
def build_documents_links_text(submitter)
def build_documents_links_text(submitter, sig = nil)
Rails.application.routes.url_helpers.submissions_preview_url(
submitter.submission.slug, **Docuseal.default_url_options
submitter.submission.slug, { sig:, **Docuseal.default_url_options }.compact
)
end
+21
View File
@@ -3,6 +3,8 @@
module Submissions
DEFAULT_SUBMITTERS_ORDER = 'random'
PRELOAD_ALL_PAGES_AMOUNT = 200
module_function
def search(submissions, keyword)
@@ -27,6 +29,25 @@ module Submissions
submission.save!
end
def preload_with_pages(submission)
ActiveRecord::Associations::Preloader.new(
records: [submission],
associations: [:template, { template_schema_documents: :blob }]
).call
total_pages =
submission.template_schema_documents.sum { |e| e.metadata.dig('pdf', 'number_of_pages').to_i }
if total_pages < PRELOAD_ALL_PAGES_AMOUNT
ActiveRecord::Associations::Preloader.new(
records: submission.template_schema_documents,
associations: [:blob, { preview_images_attachments: :blob }]
).call
end
submission
end
def create_from_emails(template:, user:, emails:, source:, mark_as_sent: false, params: {})
preferences = Submitters.normalize_preferences(user.account, user, params)