add name and phone to submitter details
This commit is contained in:
@@ -16,18 +16,22 @@ module ReplaceEmailVariables
|
||||
slug: submitter.slug, **Docuseal.default_url_options
|
||||
)
|
||||
|
||||
submission_link =
|
||||
Rails.application.routes.url_helpers.submission_url(
|
||||
submitter.submission, **Docuseal.default_url_options
|
||||
)
|
||||
if submitter.submission
|
||||
submission_link =
|
||||
Rails.application.routes.url_helpers.submission_url(
|
||||
submitter.submission, **Docuseal.default_url_options
|
||||
)
|
||||
end
|
||||
|
||||
text = text.gsub(TEMAPLTE_NAME, submitter.template.name)
|
||||
text = text.gsub(SUBMITTER_EMAIL, submitter.email)
|
||||
text = text.gsub(TEMAPLTE_NAME, submitter.template.name) if submitter.template
|
||||
text = text.gsub(SUBMITTER_EMAIL, submitter.email) if submitter.email
|
||||
text = text.gsub(SUBMITTER_LINK, submitter_link)
|
||||
text = text.gsub(SUBMISSION_LINK, submission_link)
|
||||
text = text.gsub(SUBMISSION_LINK, submission_link) if submission_link
|
||||
text = text.gsub(DOCUMENTS_LINKS, build_documents_links_text(submitter))
|
||||
|
||||
text.gsub(ACCOUNT_NAME, submitter.template.account.name)
|
||||
text.gsub(ACCOUNT_NAME, submitter.template.account.name) if submitter.template
|
||||
|
||||
text
|
||||
end
|
||||
|
||||
def build_documents_links_text(submitter)
|
||||
|
||||
+7
-5
@@ -11,33 +11,35 @@ module Submissions
|
||||
submission.save!
|
||||
end
|
||||
|
||||
def create_from_emails(template:, user:, emails:, source:, send_email: false)
|
||||
def create_from_emails(template:, user:, emails:, source:, mark_as_sent: false)
|
||||
emails = emails.to_s.scan(User::EMAIL_REGEXP) unless emails.is_a?(Array)
|
||||
|
||||
emails.map do |email|
|
||||
submission = template.submissions.new(created_by_user: user, source:, template_submitters: template.submitters)
|
||||
submission.submitters.new(email:,
|
||||
uuid: template.submitters.first['uuid'],
|
||||
sent_at: send_email ? Time.current : nil)
|
||||
sent_at: mark_as_sent ? Time.current : nil)
|
||||
|
||||
submission.tap(&:save!)
|
||||
end
|
||||
end
|
||||
|
||||
def create_from_submitters(template:, user:, submissions_attrs:, source:, send_email: false)
|
||||
def create_from_submitters(template:, user:, submissions_attrs:, source:, mark_as_sent: false)
|
||||
submissions_attrs.map do |attrs|
|
||||
submission = template.submissions.new(created_by_user: user, source:, template_submitters: template.submitters)
|
||||
|
||||
attrs[:submitters].each_with_index do |submitter_attrs, index|
|
||||
uuid =
|
||||
submitter_attrs[:uuid].presence ||
|
||||
template.submitters.find { |e| e['name'] == submitter_attrs[:name] }&.dig('uuid') ||
|
||||
template.submitters.find { |e| e['name'] == submitter_attrs[:role] }&.dig('uuid') ||
|
||||
template.submitters[index]&.dig('uuid')
|
||||
|
||||
next if uuid.blank?
|
||||
|
||||
submission.submitters.new(email: submitter_attrs[:email],
|
||||
sent_at: send_email ? Time.current : nil,
|
||||
phone: submitter_attrs[:phone].to_s.gsub(/[^0-9+]/, ''),
|
||||
name: submitter_attrs[:name],
|
||||
sent_at: mark_as_sent && submitter_attrs[:email].present? ? Time.current : nil,
|
||||
values: submitter_attrs[:values] || {},
|
||||
uuid:)
|
||||
end
|
||||
|
||||
@@ -91,15 +91,23 @@ module Submissions
|
||||
|
||||
def build_submission_data(submitter, submitter_name, submitters_count)
|
||||
[
|
||||
{
|
||||
name: column_name('Name', submitter_name, submitters_count),
|
||||
value: submitter.name
|
||||
},
|
||||
{
|
||||
name: column_name('Email', submitter_name, submitters_count),
|
||||
value: submitter.email
|
||||
},
|
||||
{
|
||||
name: column_name('Phone', submitter_name, submitters_count),
|
||||
value: submitter.phone
|
||||
},
|
||||
{
|
||||
name: column_name('Completed At', submitter_name, submitters_count),
|
||||
value: submitter.completed_at
|
||||
}
|
||||
]
|
||||
].reject { |e| e[:value].blank? }
|
||||
end
|
||||
|
||||
def column_name(name, submitter_name, submitters_count = 1)
|
||||
|
||||
@@ -28,4 +28,14 @@ module Submitters
|
||||
record: submitter
|
||||
)
|
||||
end
|
||||
|
||||
def send_signature_requests(submitters, params)
|
||||
return unless params[:send_email] == true || params[:send_email] == '1'
|
||||
|
||||
submitters.each do |submitter|
|
||||
next if submitter.email.blank?
|
||||
|
||||
SubmitterMailer.invitation_email(submitter, message: params[:message]).deliver_later!
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -14,7 +14,7 @@ module Submitters
|
||||
.except('uuid', 'values', 'slug')
|
||||
.merge('values' => values,
|
||||
'documents' => documents,
|
||||
'submitter_name' => submitter_name)
|
||||
'role' => submitter_name)
|
||||
end
|
||||
|
||||
def build_values_array(submitter)
|
||||
|
||||
Reference in New Issue
Block a user