-
Notifications
You must be signed in to change notification settings - Fork 18
/
hearing_email_status_mailer.rb
35 lines (30 loc) · 1.47 KB
/
hearing_email_status_mailer.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# frozen_string_literal: true
# rubocop:disable Rails/ApplicationMailer
class HearingEmailStatusMailer < ActionMailer::Base
default from: "Board of Veterans' Appeals <BoardofVeteransAppealsHearings@messages.va.gov>"
layout "hearing_email_status_mailer"
helper VirtualHearings::LinkHelper
include Hearings::AppellantNameHelper
include Hearings::CalendarTemplateHelper
def notification(sent_hearing_email_event:)
@sent_hearing_email_event = sent_hearing_email_event
# Extract each piece of data the templates use
@hearing = sent_hearing_email_event.hearing
@hearing_type = sent_hearing_email_event.hearing.hearing_request_type
# Email types are: "confirmation", "cancellation", "updated_time_confirmation", "reminder"
# The gsub is so that "updated_time_confirmation" shows as "Updated Time Confirmation"
@email_type = sent_hearing_email_event.email_type.tr("_", " ").downcase
@email_address = sent_hearing_email_event.email_address
@recipient_role = sent_hearing_email_event.recipient_role
@veteran_name = formatted_appellant_name(sent_hearing_email_event.hearing.appeal)
@hearing_date = Hearings::CalendarTemplateHelper.hearing_date_only(sent_hearing_email_event.hearing)
mail(
to: @sent_hearing_email_event.sent_by&.email,
subject: notification_subject
)
end
def notification_subject
"#{@hearing_type} #{@email_type} email failed to send to #{@email_address}"
end
end
# rubocop:enable Rails/ApplicationMailer