Send email to organizers whenever a guest changes their attendance status #290
							
								
								
									
										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