1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-12 23:09:03 +01:00
fab-manager/app/mailers/notifications_mailer.rb

56 lines
1.9 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
# Handle most of the emails sent by the platform. Triggered by notifications
2015-05-05 03:10:25 +02:00
class NotificationsMailer < NotifyWith::NotificationsMailer
default from: ->(*) { Setting.get('email_from') }
2015-05-05 03:10:25 +02:00
layout 'notifications_mailer'
helper :application
2016-03-23 18:39:41 +01:00
def send_mail_by(notification)
@notification = notification
@recipient = notification.receiver
@attached_object = notification.attached_object
unless respond_to?(notification.notification_type)
class_eval %{
2016-03-23 18:39:41 +01:00
def #{notification.notification_type}
mail to: @recipient.email,
subject: t('notifications_mailer.#{notification.notification_type}.subject'),
template_name: '#{notification.notification_type}',
content_type: 'text/html'
end
}, __FILE__, __LINE__ - 7
2016-03-23 18:39:41 +01:00
end
send(notification.notification_type)
rescue StandardError => e
STDERR.puts "[NotificationsMailer] notification cannot be sent: #{e}"
2016-03-23 18:39:41 +01:00
end
2015-05-05 03:10:25 +02:00
def helpers
ActionController::Base.helpers
end
2016-03-23 18:39:41 +01:00
def notify_user_when_invoice_ready
2016-03-29 18:02:40 +02:00
attachments[@attached_object.filename] = File.read(@attached_object.file)
mail(to: @recipient.email,
subject: t('notifications_mailer.notify_member_invoice_ready.subject'),
template_name: 'notify_member_invoice_ready')
2016-03-23 18:39:41 +01:00
end
def notify_user_when_avoir_ready
2016-03-29 18:02:40 +02:00
attachments[@attached_object.filename] = File.read(@attached_object.file)
mail(to: @recipient.email,
subject: t('notifications_mailer.notify_member_avoir_ready.subject'),
template_name: 'notify_member_avoir_ready')
2016-03-23 18:39:41 +01:00
end
def notify_user_when_payment_schedule_ready
attachments[@attached_object.filename] = File.read(@attached_object.file)
mail(to: @recipient.email,
subject: t('notifications_mailer.notify_member_payment_schedule_ready.subject'),
template_name: 'notify_member_payment_schedule_ready')
end
2015-05-05 03:10:25 +02:00
end