Skip to content

Commit 1abc58e

Browse files
committed
Update send_confirmation_email_job.rb to explicitly send English and Welsh
Unfortunately have to discard relying on the I18n locale as we are using two languages at this point, whereas I18n will use whatever singular locale is set.
1 parent 9aebd5f commit 1abc58e

1 file changed

Lines changed: 25 additions & 12 deletions

File tree

app/jobs/send_confirmation_email_job.rb

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,21 @@ class SendConfirmationEmailJob < ApplicationJob
55
def perform(submission:, notify_response_id:, confirmation_email_address:)
66
set_submission_logging_attributes(submission:)
77

8-
I18n.with_locale(submission.submission_locale || I18n.default_locale) do
9-
form = submission.form
10-
mail = FormSubmissionConfirmationMailer.send_confirmation_email(
11-
what_happens_next_markdown: form.what_happens_next_markdown,
12-
support_contact_details: form.support_details,
13-
notify_response_id:,
14-
confirmation_email_address:,
15-
mailer_options: mailer_options_for(submission:, form:),
16-
)
8+
form = submission.form
9+
welsh_form = fetch_welsh_form(submission:, form:)
10+
mail = FormSubmissionConfirmationMailer.send_confirmation_email(
11+
what_happens_next_markdown: form.what_happens_next_markdown,
12+
what_happens_next_markdown_cy: welsh_form&.what_happens_next_markdown,
13+
support_contact_details: form.support_details,
14+
support_contact_details_cy: welsh_form&.support_details || form.support_details,
15+
notify_response_id:,
16+
confirmation_email_address:,
17+
mailer_options: mailer_options_for(submission:, form:),
18+
submission_locale: submission.submission_locale,
19+
)
1720

18-
mail.deliver_now
19-
CurrentJobLoggingAttributes.confirmation_email_id = mail.govuk_notify_response.id
20-
end
21+
mail.deliver_now
22+
CurrentJobLoggingAttributes.confirmation_email_id = mail.govuk_notify_response.id
2123
rescue StandardError
2224
CloudWatchService.record_job_failure_metric(self.class.name)
2325
raise
@@ -34,4 +36,15 @@ def mailer_options_for(submission:, form:)
3436
payment_url: submission.payment_url,
3537
)
3638
end
39+
40+
def fetch_welsh_form(submission:, form:)
41+
return nil unless submission.submission_locale.to_sym == :cy
42+
43+
form_document = Api::V2::FormDocumentRepository.find_with_mode(
44+
form_id: form.id,
45+
mode: submission.mode_object,
46+
language: :cy,
47+
)
48+
Form.new(form_document) if form_document
49+
end
3750
end

0 commit comments

Comments
 (0)