Define a new email that will be sent to admins when a guest changes their attendance status
This commit is contained in:
parent
45313daba2
commit
ff8918a1d4
16
app/mailers/admin_mailer.rb
Normal file
16
app/mailers/admin_mailer.rb
Normal file
@ -0,0 +1,16 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class AdminMailer < ApplicationMailer
|
||||
def attendance_change_email
|
||||
@guest = Guest.find(params[:guest_id])
|
||||
|
||||
mail(
|
||||
to: @guest.wedding.users.pluck(:email),
|
||||
subject: I18n.t(
|
||||
'admin_mailer.attendance_change_email.subject',
|
||||
name: @guest.name,
|
||||
status: I18n.t("active_record.attributes.guest/status.#{@guest.status}")
|
||||
)
|
||||
)
|
||||
end
|
||||
end
|
@ -23,5 +23,6 @@ class Wedding < ApplicationRecord
|
||||
has_many :guests, dependent: :delete_all
|
||||
has_many :groups, dependent: :delete_all
|
||||
has_many :invitations, dependent: :delete_all
|
||||
has_many :users, dependent: :delete_all
|
||||
has_one :website, dependent: :destroy
|
||||
end
|
||||
|
15
app/views/admin_mailer/attendance_change_email.html.erb
Normal file
15
app/views/admin_mailer/attendance_change_email.html.erb
Normal file
@ -0,0 +1,15 @@
|
||||
<p><%= I18n.t('admin_mailer.greeting') %>,</p>
|
||||
|
||||
<p>
|
||||
<%= I18n.t('admin_mailer.attendance_change_email.paragraph_1', name: @guest.name) %>
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<strong><%= I18n.t("active_record.attributes.guest.status") %>:</strong> <%= I18n.t("active_record.attributes.guest/status.#{@guest.status}") %>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
<%= I18n.t("admin_mailer.attendance_change_email.notify_on_updates") %>
|
||||
</p>
|
7
app/views/admin_mailer/attendance_change_email.text.erb
Normal file
7
app/views/admin_mailer/attendance_change_email.text.erb
Normal file
@ -0,0 +1,7 @@
|
||||
<%= I18n.t('admin_mailer.greeting') %>,
|
||||
|
||||
<%= I18n.t('admin_mailer.attendance_change_email.paragraph_1', name: @guest.name) %>
|
||||
|
||||
- <%= I18n.t("active_record.attributes.guest.status") %>: <%= I18n.t("active_record.attributes.guest/status.#{@guest.status}") %>
|
||||
|
||||
<%= I18n.t("admin_mailer.attendance_change_email.notify_on_updates") %>
|
@ -1,31 +1,19 @@
|
||||
# Files in the config/locales directory are used for internationalization and
|
||||
# are automatically loaded by Rails. If you want to use locales other than
|
||||
# English, add the necessary files in this directory.
|
||||
#
|
||||
# To use the locales, use `I18n.t`:
|
||||
#
|
||||
# I18n.t "hello"
|
||||
#
|
||||
# In views, this is aliased to just `t`:
|
||||
#
|
||||
# <%= t("hello") %>
|
||||
#
|
||||
# To use a different locale, set it with `I18n.locale`:
|
||||
#
|
||||
# I18n.locale = :es
|
||||
#
|
||||
# This would use the information in config/locales/es.yml.
|
||||
#
|
||||
# To learn more about the API, please read the Rails Internationalization guide
|
||||
# at https://guides.rubyonrails.org/i18n.html.
|
||||
#
|
||||
# Be aware that YAML interprets the following case-insensitive strings as
|
||||
# booleans: `true`, `false`, `on`, `off`, `yes`, `no`. Therefore, these strings
|
||||
# must be quoted to be interpreted as strings. For example:
|
||||
#
|
||||
# en:
|
||||
# "yes": yup
|
||||
# enabled: "ON"
|
||||
|
||||
en:
|
||||
hello: "Hello world"
|
||||
active_record:
|
||||
attributes:
|
||||
guest:
|
||||
status: Status
|
||||
guest/status:
|
||||
considered: Considered
|
||||
invited: Invited
|
||||
confirmed: Confirmed
|
||||
declined: Declined
|
||||
tentative: Tentative
|
||||
|
||||
admin_mailer:
|
||||
greeting: "Dear user"
|
||||
attendance_change_email:
|
||||
subject: "%{name} has changed their attendance status: %{status}"
|
||||
paragraph_1: "The guest %{name} has changed their attendance for the wedding."
|
||||
notify_on_updates: "You will be notified of any further changes to their attendance status."
|
||||
|
Loading…
x
Reference in New Issue
Block a user