diff --git a/app/controllers/api/submissions_controller.rb b/app/controllers/api/submissions_controller.rb
index 17d961dd..fc89c1d3 100644
--- a/app/controllers/api/submissions_controller.rb
+++ b/app/controllers/api/submissions_controller.rb
@@ -183,7 +183,7 @@ module Api
def submissions_params
permitted_attrs = [
:send_email, :send_sms, :bcc_completed, :completed_redirect_url, :reply_to, :go_to_last,
- :expire_at,
+ :expire_at, :name,
{
message: %i[subject body],
submitters: [[:send_email, :send_sms, :completed_redirect_url, :uuid, :name, :email, :role,
diff --git a/app/controllers/api/templates_clone_controller.rb b/app/controllers/api/templates_clone_controller.rb
index 7879abfd..bf9aa671 100644
--- a/app/controllers/api/templates_clone_controller.rb
+++ b/app/controllers/api/templates_clone_controller.rb
@@ -21,12 +21,13 @@ module Api
)
cloned_template.source = :api
- cloned_template.save!
schema_documents = Templates::CloneAttachments.call(template: cloned_template,
original_template: @template,
documents: params[:documents])
+ cloned_template.save!
+
WebhookUrls.for_account_id(cloned_template.account_id, 'template.created').each do |webhook_url|
SendTemplateCreatedWebhookRequestJob.perform_async('template_id' => cloned_template.id,
'webhook_url_id' => webhook_url.id)
diff --git a/app/controllers/start_form_controller.rb b/app/controllers/start_form_controller.rb
index 415adab4..b2957c1c 100644
--- a/app/controllers/start_form_controller.rb
+++ b/app/controllers/start_form_controller.rb
@@ -142,7 +142,7 @@ class StartFormController < ApplicationController
end
def filter_undefined_submitters(template)
- Templates.filter_undefined_submitters(template)
+ Templates.filter_undefined_submitters(template.submitters)
end
def submitter_params
diff --git a/app/controllers/submissions_archived_controller.rb b/app/controllers/submissions_archived_controller.rb
index 3ad5d936..9bd67da2 100644
--- a/app/controllers/submissions_archived_controller.rb
+++ b/app/controllers/submissions_archived_controller.rb
@@ -4,7 +4,7 @@ class SubmissionsArchivedController < ApplicationController
load_and_authorize_resource :submission, parent: false
def index
- @submissions = @submissions.joins(:template)
+ @submissions = @submissions.left_joins(:template)
@submissions = @submissions.where.not(archived_at: nil)
.or(@submissions.where.not(templates: { archived_at: nil }))
.preload(:template_accesses, :created_by_user, template: :author)
diff --git a/app/controllers/submissions_dashboard_controller.rb b/app/controllers/submissions_dashboard_controller.rb
index 55fb6ae0..3d0950a6 100644
--- a/app/controllers/submissions_dashboard_controller.rb
+++ b/app/controllers/submissions_dashboard_controller.rb
@@ -4,7 +4,7 @@ class SubmissionsDashboardController < ApplicationController
load_and_authorize_resource :submission, parent: false
def index
- @submissions = @submissions.joins(:template)
+ @submissions = @submissions.left_joins(:template)
@submissions = @submissions.where(archived_at: nil)
.where(templates: { archived_at: nil })
diff --git a/app/controllers/submit_form_controller.rb b/app/controllers/submit_form_controller.rb
index a9a489c8..46b28128 100644
--- a/app/controllers/submit_form_controller.rb
+++ b/app/controllers/submit_form_controller.rb
@@ -8,6 +8,7 @@ class SubmitFormController < ApplicationController
skip_authorization_check
before_action :load_submitter, only: %i[show update completed]
+ before_action :maybe_render_locked_page, only: :show
CONFIG_KEYS = [].freeze
@@ -15,19 +16,14 @@ class SubmitFormController < ApplicationController
submission = @submitter.submission
return redirect_to submit_form_completed_path(@submitter.slug) if @submitter.completed_at?
- return render :archived if submission.template.archived_at? ||
- submission.archived_at? ||
- @submitter.account.archived_at?
- return render :expired if submission.expired?
- return render :declined if @submitter.declined_at?
@form_configs = Submitters::FormConfigs.call(@submitter, CONFIG_KEYS)
return render :awaiting if (@form_configs[:enforce_signing_order] ||
- submission.template.preferences['submitters_order'] == 'preserved') &&
+ submission.template&.preferences&.dig('submitters_order') == 'preserved') &&
!Submitters.current_submitter_order?(@submitter)
- Submitters.preload_with_pages(@submitter)
+ Submissions.preload_with_pages(submission)
Submitters::MaybeUpdateDefaultValues.call(@submitter, current_user)
@@ -54,7 +50,7 @@ class SubmitFormController < ApplicationController
return render json: { error: I18n.t('form_has_been_completed_already') }, status: :unprocessable_entity
end
- if @submitter.template.archived_at? || @submitter.submission.archived_at?
+ if @submitter.template&.archived_at? || @submitter.submission.archived_at?
return render json: { error: I18n.t('form_has_been_archived') }, status: :unprocessable_entity
end
@@ -84,6 +80,15 @@ class SubmitFormController < ApplicationController
private
+ def maybe_render_locked_page
+ return render :archived if @submitter.submission.template&.archived_at? ||
+ @submitter.submission.archived_at? ||
+ @submitter.account.archived_at?
+ return render :expired if @submitter.submission.expired?
+
+ render :declined if @submitter.declined_at?
+ end
+
def load_submitter
@submitter = Submitter.find_by!(slug: params[:slug] || params[:submit_form_slug])
end
diff --git a/app/controllers/submit_form_decline_controller.rb b/app/controllers/submit_form_decline_controller.rb
index 94099b0d..15572da1 100644
--- a/app/controllers/submit_form_decline_controller.rb
+++ b/app/controllers/submit_form_decline_controller.rb
@@ -11,7 +11,7 @@ class SubmitFormDeclineController < ApplicationController
submitter.completed_at? ||
submitter.submission.archived_at? ||
submitter.submission.expired? ||
- submitter.submission.template.archived_at?
+ submitter.submission.template&.archived_at?
ApplicationRecord.transaction do
submitter.update!(declined_at: Time.current)
diff --git a/app/controllers/submit_form_download_controller.rb b/app/controllers/submit_form_download_controller.rb
index 07447940..574d520a 100644
--- a/app/controllers/submit_form_download_controller.rb
+++ b/app/controllers/submit_form_download_controller.rb
@@ -14,7 +14,7 @@ class SubmitFormDownloadController < ApplicationController
return head :unprocessable_entity if @submitter.declined_at? ||
@submitter.submission.archived_at? ||
@submitter.submission.expired? ||
- @submitter.submission.template.archived_at?
+ @submitter.submission.template&.archived_at?
last_completed_submitter = @submitter.submission.submitters
.where.not(id: @submitter.id)
@@ -25,7 +25,7 @@ class SubmitFormDownloadController < ApplicationController
if last_completed_submitter
Submitters.select_attachments_for_download(last_completed_submitter)
else
- @submitter.submission.template.schema_documents.preload(:blob)
+ @submitter.submission.schema_documents.preload(:blob)
end
urls = attachments.map do |attachment|
diff --git a/app/controllers/submitters_resubmit_controller.rb b/app/controllers/submitters_resubmit_controller.rb
index fb893d98..6ab28731 100644
--- a/app/controllers/submitters_resubmit_controller.rb
+++ b/app/controllers/submitters_resubmit_controller.rb
@@ -6,13 +6,15 @@ class SubmittersResubmitController < ApplicationController
def update
return redirect_to submit_form_path(slug: @submitter.slug) if @submitter.email != current_user.email
- submission = @submitter.template.submissions.new(created_by_user: current_user,
- submitters_order: :preserved,
- **@submitter.submission.slice(:template_fields,
- :account_id,
- :template_schema,
- :template_submitters,
- :preferences))
+ submission = @submitter.account.submissions.new(created_by_user: current_user,
+ submitters_order: :preserved,
+ **@submitter.submission.slice(:template_fields,
+ :account_id,
+ :name,
+ :template_id,
+ :template_schema,
+ :template_submitters,
+ :preferences))
@submitter.submission.submitters.each do |submitter|
new_submitter = submission.submitters.new(submitter.slice(:uuid, :email, :phone, :name,
@@ -27,6 +29,10 @@ class SubmittersResubmitController < ApplicationController
submission.save!
+ @submitter.submission.documents_attachments.each do |attachment|
+ submission.documents_attachments.create!(uuid: attachment.uuid, blob_id: attachment.blob_id)
+ end
+
redirect_to submit_form_path(slug: @new_submitter.slug)
end
diff --git a/app/controllers/templates_form_preview_controller.rb b/app/controllers/templates_form_preview_controller.rb
index f7a1a396..5c4f23c6 100644
--- a/app/controllers/templates_form_preview_controller.rb
+++ b/app/controllers/templates_form_preview_controller.rb
@@ -13,7 +13,7 @@ class TemplatesFormPreviewController < ApplicationController
@submitter.submission.submitters = @template.submitters.map { |item| Submitter.new(uuid: item['uuid']) }
- Submitters.preload_with_pages(@submitter)
+ Submissions.preload_with_pages(@submitter.submission)
@attachments_index = ActiveStorage::Attachment.where(record: @submitter.submission.submitters, name: :attachments)
.preload(:blob).index_by(&:uuid)
diff --git a/app/jobs/generate_attachment_preview_job.rb b/app/jobs/generate_attachment_preview_job.rb
new file mode 100644
index 00000000..6d032711
--- /dev/null
+++ b/app/jobs/generate_attachment_preview_job.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+class GenerateAttachmentPreviewJob
+ include Sidekiq::Job
+
+ InvalidFormat = Class.new(StandardError)
+
+ sidekiq_options queue: :images
+
+ def perform(params = {})
+ attachment = ActiveStorage::Attachment.find(params['attachment_id'])
+
+ if attachment.content_type == Templates::ProcessDocument::PDF_CONTENT_TYPE
+ Templates::ProcessDocument.generate_pdf_preview_images(attachment, attachment.download)
+ elsif attachment.image?
+ Templates::ProcessDocument.generate_preview_image(attachment, attachment.download)
+ else
+ raise InvalidFormat, attachment.id
+ end
+ end
+end
diff --git a/app/jobs/process_submission_expired_job.rb b/app/jobs/process_submission_expired_job.rb
index 99bee5e8..8e9d6fb2 100644
--- a/app/jobs/process_submission_expired_job.rb
+++ b/app/jobs/process_submission_expired_job.rb
@@ -7,7 +7,7 @@ class ProcessSubmissionExpiredJob
submission = Submission.find(params['submission_id'])
return if submission.archived_at?
- return if submission.template.archived_at?
+ return if submission.template&.archived_at?
return if submission.submitters.where.not(declined_at: nil).exists?
return unless submission.submitters.exists?(completed_at: nil)
diff --git a/app/jobs/process_submitter_completion_job.rb b/app/jobs/process_submitter_completion_job.rb
index 9c3a4b26..c53baaf5 100644
--- a/app/jobs/process_submitter_completion_job.rb
+++ b/app/jobs/process_submitter_completion_job.rb
@@ -82,7 +82,7 @@ class ProcessSubmitterCompletionJob
user = submission.created_by_user || submitter.template.author
if submitter.account.users.exists?(id: user.id) && submission.preferences['send_email'] != false &&
- submitter.template.preferences['completed_notification_email_enabled'] != false
+ submitter.template&.preferences&.dig('completed_notification_email_enabled') != false
if submission.submitters.map(&:email).exclude?(user.email) &&
user.user_configs.find_by(key: UserConfig::RECEIVE_COMPLETED_EMAIL)&.value != false &&
user.role != 'integration'
@@ -98,7 +98,7 @@ class ProcessSubmitterCompletionJob
end
def maybe_enqueue_copy_emails(submitter)
- return if submitter.template.preferences['documents_copy_email_enabled'] == false
+ return if submitter.template&.preferences&.dig('documents_copy_email_enabled') == false
configs = AccountConfigs.find_or_initialize_for_key(submitter.account,
AccountConfig::SUBMITTER_DOCUMENTS_COPY_EMAIL_KEY)
@@ -119,7 +119,7 @@ class ProcessSubmitterCompletionJob
def build_bcc_addresses(submission)
bcc = submission.preferences['bcc_completed'].presence ||
- submission.template.preferences['bcc_completed'].presence ||
+ submission.template&.preferences&.dig('bcc_completed').presence ||
submission.account.account_configs
.find_by(key: AccountConfig::BCC_EMAILS)&.value
diff --git a/app/mailers/submitter_mailer.rb b/app/mailers/submitter_mailer.rb
index 769995ed..c4627969 100644
--- a/app/mailers/submitter_mailer.rb
+++ b/app/mailers/submitter_mailer.rb
@@ -23,11 +23,11 @@ class SubmitterMailer < ApplicationMailer
@body = @email_message&.body.presence ||
template_submitters_index.dig(@submitter.uuid, 'request_email_body').presence ||
- @submitter.template.preferences['request_email_body'].presence
+ @submitter.template&.preferences&.dig('request_email_body').presence
@subject = @email_message&.subject.presence ||
template_submitters_index.dig(@submitter.uuid, 'request_email_subject').presence ||
- @submitter.template.preferences['request_email_subject'].presence
+ @submitter.template&.preferences&.dig('request_email_subject').presence
@email_config = AccountConfigs.find_for_account(@current_account, AccountConfig::SUBMITTER_INVITATION_EMAIL_KEY)
@@ -53,6 +53,8 @@ class SubmitterMailer < ApplicationMailer
@submission = submitter.submission
@user = user
+ template_preferences = @submission.template&.preferences || {}
+
Submissions::EnsureResultGenerated.call(submitter)
@email_config = AccountConfigs.find_for_account(@current_account, AccountConfig::SUBMITTER_COMPLETED_EMAIL_KEY)
@@ -60,15 +62,15 @@ class SubmitterMailer < ApplicationMailer
add_completed_email_attachments!(
submitter,
with_documents: @email_config&.value&.dig('attach_documents') != false &&
- @submitter.template.preferences['completed_notification_email_attach_documents'] != false,
+ template_preferences['completed_notification_email_attach_documents'] != false,
with_audit_log: @email_config&.value&.dig('attach_audit_log') != false &&
- @submitter.template.preferences['completed_notification_email_attach_audit'] != false
+ template_preferences['completed_notification_email_attach_audit'] != false
)
- @subject = @submitter.template.preferences['completed_notification_email_subject'].presence
+ @subject = template_preferences['completed_notification_email_subject'].presence
@subject ||= @email_config.value['subject'] if @email_config
- @body = @submitter.template.preferences['completed_notification_email_body'].presence
+ @body = template_preferences['completed_notification_email_body'].presence
@body ||= @email_config.value['body'] if @email_config
assign_message_metadata('submitter_completed', @submitter)
@@ -97,7 +99,7 @@ class SubmitterMailer < ApplicationMailer
to: user.role == 'integration' ? user.friendly_name.sub(/\+\w+@/, '@') : user.friendly_name,
reply_to: @submitter.friendly_name,
subject: I18n.t(:name_declined_by_submitter,
- name: @submission.template.name.truncate(20),
+ name: (@submission.name || @submission.template.name).truncate(20),
submitter: @submitter.name || @submitter.email || @submitter.phone))
end
end
@@ -107,22 +109,24 @@ class SubmitterMailer < ApplicationMailer
@submitter = submitter
@sig = submitter.signed_id(expires_in: SIGN_TTL, purpose: :download_completed) if sig
+ template_preferences = @submitter.template&.preferences || {}
+
Submissions::EnsureResultGenerated.call(@submitter)
@email_config = AccountConfigs.find_for_account(@current_account, AccountConfig::SUBMITTER_DOCUMENTS_COPY_EMAIL_KEY)
add_completed_email_attachments!(
submitter,
- with_documents: @submitter.template.preferences['documents_copy_email_attach_documents'] != false &&
- (@email_config.nil? || @email_config.value['attach_documents'] != false),
- with_audit_log: @submitter.template.preferences['documents_copy_email_attach_audit'] != false &&
- (@email_config.nil? || @email_config.value['attach_audit_log'] != false)
+ with_documents: template_preferences['documents_copy_email_attach_documents'] != false &&
+ (@email_config.nil? || @email_config.value['attach_documents'] != false),
+ with_audit_log: template_preferences['documents_copy_email_attach_audit'] != false &&
+ (@email_config.nil? || @email_config.value['attach_audit_log'] != false)
)
- @subject = @submitter.template.preferences['documents_copy_email_subject'].presence
+ @subject = template_preferences['documents_copy_email_subject'].presence
@subject ||= @email_config.value['subject'] if @email_config
- @body = @submitter.template.preferences['documents_copy_email_body'].presence
+ @body = template_preferences['documents_copy_email_body'].presence
@body ||= @email_config.value['body'] if @email_config
assign_message_metadata('submitter_documents_copy', @submitter)
@@ -130,11 +134,7 @@ class SubmitterMailer < ApplicationMailer
I18n.with_locale(@current_account.locale) do
subject =
- if @subject.present?
- ReplaceEmailVariables.call(@subject, submitter:)
- else
- I18n.t(:your_document_copy)
- end
+ @subject.present? ? ReplaceEmailVariables.call(@subject, submitter:) : I18n.t(:your_document_copy)
mail(from: from_address_for_submitter(submitter),
to: to || @submitter.friendly_name,
@@ -147,7 +147,7 @@ class SubmitterMailer < ApplicationMailer
def build_submitter_reply_to(submitter, email_config: nil, documents_copy_email: nil)
reply_to = submitter.preferences['reply_to'].presence
- reply_to ||= submitter.template.preferences['documents_copy_email_reply_to'].presence if documents_copy_email
+ reply_to ||= submitter.template&.preferences&.dig('documents_copy_email_reply_to').presence if documents_copy_email
reply_to ||= email_config.value['reply_to'].presence if email_config
if reply_to.blank? && (submitter.submission.created_by_user || submitter.template.author)&.email != submitter.email
@@ -212,7 +212,7 @@ class SubmitterMailer < ApplicationMailer
end
def build_submitter_preferences_index(submitter)
- submitter.template.preferences['submitters'].to_a.index_by { |e| e['uuid'] }
+ submitter.template&.preferences&.dig('submitters').to_a.index_by { |e| e['uuid'] }
end
def add_attachments_with_size_limit(submitter, storage_attachments, current_size, filename_format = nil)
diff --git a/app/models/completed_submitter.rb b/app/models/completed_submitter.rb
index e34f65d2..6ada62f3 100644
--- a/app/models/completed_submitter.rb
+++ b/app/models/completed_submitter.rb
@@ -13,7 +13,7 @@
# account_id :bigint not null
# submission_id :bigint not null
# submitter_id :bigint not null
-# template_id :bigint not null
+# template_id :bigint
#
# Indexes
#
@@ -24,7 +24,7 @@ class CompletedSubmitter < ApplicationRecord
belongs_to :submitter
belongs_to :submission
belongs_to :account
- belongs_to :template
+ belongs_to :template, optional: true
has_many :completed_documents, dependent: :destroy,
primary_key: :submitter_id,
diff --git a/app/models/submission.rb b/app/models/submission.rb
index d5f17a2f..f0fe283c 100644
--- a/app/models/submission.rb
+++ b/app/models/submission.rb
@@ -7,6 +7,7 @@
# id :bigint not null, primary key
# archived_at :datetime
# expire_at :datetime
+# name :text
# preferences :text not null
# slug :string not null
# source :text not null
@@ -18,7 +19,7 @@
# updated_at :datetime not null
# account_id :bigint not null
# created_by_user_id :bigint
-# template_id :bigint not null
+# template_id :bigint
#
# Indexes
#
@@ -33,7 +34,7 @@
# fk_rails_... (template_id => templates.id)
#
class Submission < ApplicationRecord
- belongs_to :template
+ belongs_to :template, optional: true
belongs_to :account
belongs_to :created_by_user, class_name: 'User', optional: true
@@ -56,6 +57,7 @@ class Submission < ApplicationRecord
has_one_attached :combined_document
has_many_attached :preview_documents
+ has_many_attached :documents
has_many :template_accesses, primary_key: :template_id, foreign_key: :template_id, dependent: nil, inverse_of: false
@@ -96,6 +98,14 @@ class Submission < ApplicationRecord
expire_at && expire_at <= Time.current
end
+ def schema_documents
+ if template_id?
+ template_schema_documents
+ else
+ documents_attachments
+ end
+ end
+
def fields_uuid_index
@fields_uuid_index ||= (template_fields || template.fields).index_by { |f| f['uuid'] }
end
diff --git a/app/views/start_form/completed.html.erb b/app/views/start_form/completed.html.erb
index f629d6ab..003005d8 100644
--- a/app/views/start_form/completed.html.erb
+++ b/app/views/start_form/completed.html.erb
@@ -26,7 +26,7 @@
<%= button_to button_title(title: t('send_copy_to_email'), disabled_with: t('sending'), icon: svg_icon('mail_forward', class: 'w-6 h-6')), send_submission_email_index_path, params: { template_slug: @template.slug, email: params[:email] }, class: 'base-button w-full' %>
<% end %>
- <% if Templates.filter_undefined_submitters(@template).size == 1 && %w[api embed].exclude?(@submitter.submission.source) && @submitter.account.account_configs.find_or_initialize_by(key: AccountConfig::ALLOW_TO_RESUBMIT).value != false && @template.shared_link? %>
+ <% if Templates.filter_undefined_submitters(@template.submitters).size == 1 && %w[api embed].exclude?(@submitter.submission.source) && @submitter.account.account_configs.find_or_initialize_by(key: AccountConfig::ALLOW_TO_RESUBMIT).value != false && @template.shared_link? %>
<%= @submission.template.name %>
+<%= @submission.name || @submission.template.name %>
<% last_submitter = @submission.submitters.completed.order(:completed_at).last %> <% if last_submitter %>
diff --git a/app/views/submit_form/_submission_form.html.erb b/app/views/submit_form/_submission_form.html.erb
index 8b7af020..bccf174b 100644
--- a/app/views/submit_form/_submission_form.html.erb
+++ b/app/views/submit_form/_submission_form.html.erb
@@ -2,4 +2,4 @@
<% data_fields = Submissions.filtered_conditions_fields(submitter).to_json %>
<% invite_submitters = (submitter.submission.template_submitters || submitter.submission.template.submitters).select { |s| s['invite_by_uuid'] == submitter.uuid && submitter.submission.submitters.none? { |e| e.uuid == s['uuid'] } }.to_json %>
<% optional_invite_submitters = (submitter.submission.template_submitters || submitter.submission.template.submitters).select { |s| s['optional_invite_by_uuid'] == submitter.uuid && submitter.submission.submitters.none? { |e| e.uuid == s['uuid'] } }.to_json %>
-
<%= @submitter.submission.template.name %>
+<%= @submitter.submission.name || @submitter.submission.template.name %>
<%= t('form_has_been_deleted_by_html', name: @submitter.account.name) %>
<%= @submitter.submission.template.name %>
+<%= @submitter.submission.name || @submitter.submission.template.name %>
<%= t('awaiting_completion_by_the_other_party') %>
<%= @submitter.submission.template.name %>
+<%= @submitter.submission.name || @submitter.submission.template.name %>
<%= t(@submitter.with_signature_fields? ? 'signed_on_time' : 'completed_on_time', time: l(@submitter.completed_at.to_date, format: :long)) %>
@@ -23,7 +23,7 @@<%= @submitter.submission.template.name %>
+<%= @submitter.submission.name || @submitter.submission.template.name %>
<%= t('form_has_been_declined_on_html', time: l(@submitter.declined_at, format: :long)) %>
<%= @submitter.submission.template.name %>
+<%= @submitter.submission.name || @submitter.submission.template.name %>
<%= t('form_expired_at_html', time: l(@submitter.submission.expire_at, format: :long)) %>
<%= t('hi_there') %>,
-<%= I18n.t(:name_has_been_completed_by_submitters, name: @submitter.submission.template.name, submitters: @submitter.submission.submitters.order(:completed_at).map { |e| e.name || e.email || e.phone }.uniq.join(', ')) %>
+<%= I18n.t(:name_has_been_completed_by_submitters, name: @submitter.submission.name || @submitter.submission.template.name, submitters: @submitter.submission.submitters.order(:completed_at).map { |e| e.name || e.email || e.phone }.uniq.join(', ')) %>
<%= link_to submission_url(@submitter.submission), submission_url(@submitter.submission) %>
<% end %> diff --git a/app/views/submitter_mailer/declined_email.html.erb b/app/views/submitter_mailer/declined_email.html.erb index 0e6ce535..07b877c9 100644 --- a/app/views/submitter_mailer/declined_email.html.erb +++ b/app/views/submitter_mailer/declined_email.html.erb @@ -1,4 +1,4 @@<%= t('hi_there') %>,
-<%= t('name_declined_by_submitter_with_the_following_reason', name: @submitter.submission.template.name, submitter: @submitter.name || @submitter.email || @submitter.phone) %>
+<%= t('name_declined_by_submitter_with_the_following_reason', name: @submitter.submission.name || @submitter.submission.template.name, submitter: @submitter.name || @submitter.email || @submitter.phone) %>
<%= simple_format(h(@submitter.submission_events.find_by(event_type: :decline_form).data['reason'])) %><%= link_to submission_url(@submitter.submission), submission_url(@submitter.submission) %>
diff --git a/app/views/submitter_mailer/documents_copy_email.html.erb b/app/views/submitter_mailer/documents_copy_email.html.erb index 0312a0bc..3117481d 100644 --- a/app/views/submitter_mailer/documents_copy_email.html.erb +++ b/app/views/submitter_mailer/documents_copy_email.html.erb @@ -2,10 +2,10 @@ <%= render 'custom_content', content: @body, submitter: @submitter, sig: @sig %> <% else %><%= t('hi_there') %>,
-<%= t('please_check_the_copy_of_your_name_in_the_email_attachments', name: @submitter.submission.template.name) %> +
<%= t('please_check_the_copy_of_your_name_in_the_email_attachments', name: @submitter.submission.name || @submitter.submission.template.name) %>
<%= t('alternatively_you_can_review_and_download_your_copy_using_the_link_below') %>
- <%= link_to @submitter.template.name, submissions_preview_url(@submitter.submission.slug, { sig: @sig }.compact) %> + <%= link_to @submitter.submission.name || @submitter.submission.template.name, submissions_preview_url(@submitter.submission.slug, { sig: @sig }.compact) %>
<%= t('thanks') %>,
<%= @current_account.name %>
diff --git a/app/views/submitter_mailer/invitation_email.html.erb b/app/views/submitter_mailer/invitation_email.html.erb
index 968ec02b..06eaef30 100644
--- a/app/views/submitter_mailer/invitation_email.html.erb
+++ b/app/views/submitter_mailer/invitation_email.html.erb
@@ -6,7 +6,7 @@
<% end %>
<% else %>
<%= t('hi_there') %>,
-<%= I18n.t(@submitter.with_signature_fields? ? :you_have_been_invited_to_sign_the_name : :you_have_been_invited_to_submit_the_name_form, name: @submitter.submission.template.name) %>
+<%= I18n.t(@submitter.with_signature_fields? ? :you_have_been_invited_to_sign_the_name : :you_have_been_invited_to_submit_the_name_form, name: @submitter.submission.name || @submitter.submission.template.name) %>
<%= link_to I18n.t(@submitter.with_signature_fields? ? :review_and_sign : :review_and_submit), submit_form_url(slug: @submitter.slug, t: SubmissionEvents.build_tracking_param(@submitter, 'click_email'), host: ENV.fetch('EMAIL_HOST', Docuseal.default_url_options[:host])) %>
<%= t('please_contact_us_by_replying_to_this_email_if_you_didn_t_request_this') %>
diff --git a/app/views/templates/_submission.html.erb b/app/views/templates/_submission.html.erb index 5d75a047..473e9114 100644 --- a/app/views/templates/_submission.html.erb +++ b/app/views/templates/_submission.html.erb @@ -2,12 +2,12 @@