2023-06-13 00:29:07 +03:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
|
|
class SubmitterMailer < ApplicationMailer
|
2023-06-26 00:46:01 +03:00
|
|
|
DEFAULT_MESSAGE = %(You have been invited to submit the "%<name>s" form:)
|
2023-06-13 00:29:07 +03:00
|
|
|
|
2023-08-04 00:40:13 +03:00
|
|
|
def invitation_email(submitter, message: '')
|
2023-08-16 22:57:59 +03:00
|
|
|
@current_account = submitter.submission.template.account
|
2023-06-13 00:29:07 +03:00
|
|
|
@submitter = submitter
|
2023-08-04 00:40:13 +03:00
|
|
|
@message = message.presence || format(DEFAULT_MESSAGE, name: submitter.submission.template.name)
|
2023-06-13 00:29:07 +03:00
|
|
|
|
2023-08-16 22:57:59 +03:00
|
|
|
@email_config = @current_account.account_configs.find_by(key: AccountConfig::SUBMITTER_INVITATION_EMAIL_KEY)
|
|
|
|
|
|
|
|
|
|
subject =
|
|
|
|
|
if @email_config
|
|
|
|
|
ReplaceEmailVariables.call(@email_config.value['subject'], submitter:)
|
|
|
|
|
else
|
|
|
|
|
'You have been invited to submit a form'
|
|
|
|
|
end
|
|
|
|
|
|
2023-06-13 00:29:07 +03:00
|
|
|
mail(to: @submitter.email,
|
2023-08-16 22:57:59 +03:00
|
|
|
subject:,
|
2023-08-02 23:22:17 +03:00
|
|
|
reply_to: submitter.submission.created_by_user&.friendly_name)
|
2023-06-13 00:29:07 +03:00
|
|
|
end
|
|
|
|
|
|
2023-06-26 00:46:01 +03:00
|
|
|
def completed_email(submitter, user)
|
2023-08-16 22:57:59 +03:00
|
|
|
@current_account = submitter.submission.template.account
|
2023-06-13 00:29:07 +03:00
|
|
|
@submitter = submitter
|
2023-06-26 00:46:01 +03:00
|
|
|
@user = user
|
2023-06-13 00:29:07 +03:00
|
|
|
|
2023-06-26 00:46:01 +03:00
|
|
|
mail(to: user.email,
|
|
|
|
|
subject: %(#{submitter.email} has completed the "#{submitter.submission.template.name}" form))
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def documents_copy_email(submitter)
|
2023-08-16 22:57:59 +03:00
|
|
|
@current_account = submitter.submission.template.account
|
2023-06-26 00:46:01 +03:00
|
|
|
@submitter = submitter
|
2023-07-01 13:16:07 +03:00
|
|
|
|
|
|
|
|
Submissions::EnsureResultGenerated.call(@submitter)
|
|
|
|
|
|
2023-06-26 00:46:01 +03:00
|
|
|
@documents = Submitters.select_attachments_for_download(submitter)
|
|
|
|
|
|
|
|
|
|
@documents.each do |attachment|
|
|
|
|
|
attachments[attachment.filename.to_s] = attachment.download
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
mail(to: submitter.email, subject: 'Your copy of documents')
|
2023-06-13 00:29:07 +03:00
|
|
|
end
|
|
|
|
|
end
|