2019-02-14 19:51:30 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2016-07-21 19:11:15 +08:00
|
|
|
class AppMailer < Devise::Mailer
|
2017-04-07 21:01:26 +08:00
|
|
|
helper :application, :mailer, :input_sanitize
|
2016-07-21 19:11:15 +08:00
|
|
|
include Devise::Controllers::UrlHelpers
|
|
|
|
default template_path: 'users/mailer'
|
2017-04-07 21:01:26 +08:00
|
|
|
default from: ENV['MAIL_FROM']
|
|
|
|
default reply: ENV['MAIL_REPLYTO']
|
2016-07-21 19:11:15 +08:00
|
|
|
|
2016-10-13 14:54:29 +08:00
|
|
|
def notification(user, notification, opts = {})
|
2016-10-05 16:52:27 +08:00
|
|
|
@user = user
|
|
|
|
@notification = notification
|
2018-09-24 00:45:13 +08:00
|
|
|
subject =
|
|
|
|
if notification.deliver?
|
2018-09-24 00:48:44 +08:00
|
|
|
I18n.t('notifications.deliver.email_subject')
|
2018-09-24 00:45:13 +08:00
|
|
|
else
|
2018-09-24 00:48:44 +08:00
|
|
|
I18n.t('notifications.email_title')
|
2018-09-24 00:45:13 +08:00
|
|
|
end
|
2016-10-07 15:45:30 +08:00
|
|
|
headers = {
|
|
|
|
to: @user.email,
|
2018-09-24 00:45:13 +08:00
|
|
|
subject: subject
|
2016-10-13 14:54:29 +08:00
|
|
|
}.merge(opts)
|
2016-10-05 16:52:27 +08:00
|
|
|
mail(headers)
|
|
|
|
end
|
2019-02-14 19:51:30 +08:00
|
|
|
|
2019-02-15 21:30:03 +08:00
|
|
|
def system_notification(user, system_notification, opts = {})
|
2019-02-14 19:51:30 +08:00
|
|
|
@user = user
|
|
|
|
@system_notification = system_notification
|
|
|
|
|
|
|
|
headers = {
|
|
|
|
to: @user.email,
|
2019-02-15 21:30:03 +08:00
|
|
|
subject: t('system_notifications.emails.subject')
|
|
|
|
}.merge(opts)
|
2019-02-14 19:51:30 +08:00
|
|
|
|
|
|
|
mail(headers)
|
|
|
|
end
|
2016-10-05 16:52:27 +08:00
|
|
|
end
|