Submit social housing lettings and sales data (CORE)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

53 lines
1.4 KiB

class NotifyDeviseMailer < Devise::Mailer
require 'notifications/client'
def notify_client
@notify_client ||= ::Notifications::Client.new(ENV["GOVUK_NOTIFY_API_KEY"])
end
def host
@host ||= ENV["APP_HOST"]
end
def send_email(email, template_id, personalisation)
notify_client.send_email(
email_address: email,
template_id: template_id,
personalisation: personalisation
)
end
def reset_password_instructions(record, token, opts = {})
template_id = "4593417c-500f-452c-8111-0f9d311aad0e"
personalisation = {
name: record.name,
email: record.email,
link: "https://#{host}/users/password/edit?reset_password_token=#{token}"
}
send_email(record.email, template_id, personalisation)
end
def confirmation_instructions(record, token, opts = {})
template_id = "00cd7163-4213-4596-b4f9-9e72796e0d76"
personalisation = {
name: record.name,
email: record.email,
organisation: record.organisation.name,
link: "https://#{host}/users/confirmation?confirmation_token=#{token}"
}
send_email(record.email, template_id, personalisation)
end
def unlock_instructions(record, token, opts = {})
@token = token
devise_mail(record, :unlock_instructions, opts)
end
def email_changed(record, opts = {})
devise_mail(record, :email_changed, opts)
end
def password_change(record, opts = {})
devise_mail(record, :password_change, opts)
end
end