add email events
This commit is contained in:
@@ -6,11 +6,32 @@ class ApplicationMailer < ActionMailer::Base
|
||||
|
||||
register_interceptor ActionMailerConfigsInterceptor
|
||||
|
||||
register_observer ActionMailerEventsObserver
|
||||
|
||||
before_action do
|
||||
ActiveStorage::Current.url_options = Docuseal.default_url_options
|
||||
end
|
||||
|
||||
after_action :set_message_metadata
|
||||
after_action :set_message_uuid
|
||||
|
||||
def default_url_options
|
||||
Docuseal.default_url_options
|
||||
end
|
||||
|
||||
def set_message_metadata
|
||||
message.instance_variable_set(:@message_metadata, @message_metadata)
|
||||
end
|
||||
|
||||
def set_message_uuid
|
||||
message['X-Message-Uuid'] = SecureRandom.uuid
|
||||
end
|
||||
|
||||
def assign_message_metadata(tag, record)
|
||||
@message_metadata = {
|
||||
'tag' => tag,
|
||||
'record_id' => record.id,
|
||||
'record_type' => record.class.name
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
@@ -26,6 +26,8 @@ class SubmitterMailer < ApplicationMailer
|
||||
DEFAULT_INVITATION_SUBJECT
|
||||
end
|
||||
|
||||
assign_message_metadata('submitter_invitation', @submitter)
|
||||
|
||||
mail(
|
||||
to: @submitter.friendly_name,
|
||||
from: from_address_for_submitter(submitter),
|
||||
@@ -58,6 +60,8 @@ class SubmitterMailer < ApplicationMailer
|
||||
%(#{submitter.submission.template.name} has been completed by #{submitters})
|
||||
end
|
||||
|
||||
assign_message_metadata('submitter_completed', @submitter)
|
||||
|
||||
mail(from: from_address_for_submitter(submitter),
|
||||
to: to || (user.role == 'integration' ? user.friendly_name.sub(/\+\w+@/, '@') : user.friendly_name),
|
||||
subject:)
|
||||
@@ -89,6 +93,8 @@ class SubmitterMailer < ApplicationMailer
|
||||
'Your document copy'
|
||||
end
|
||||
|
||||
assign_message_metadata('submitter_documents_copy', @submitter)
|
||||
|
||||
mail(from: from_address_for_submitter(submitter),
|
||||
to: to || @submitter.friendly_name,
|
||||
reply_to: @submitter.preferences['reply_to'].presence ||
|
||||
|
||||
@@ -6,6 +6,8 @@ class UserMailer < ApplicationMailer
|
||||
@user = user
|
||||
@token = @user.send(:set_reset_password_token)
|
||||
|
||||
assign_message_metadata('user_invitation', @user)
|
||||
|
||||
mail(to: @user.friendly_name,
|
||||
subject: 'You are invited to DocuSeal')
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user