From ac6df5f0f065549bc0f11a144a5bd7fdc765aa5b Mon Sep 17 00:00:00 2001 From: rt00492 <rt00492@surrey.ac.uk> Date: Sun, 1 May 2022 21:22:46 +0100 Subject: [PATCH] Adding update and delete emails, and adding a creator to emails --- app/controllers/mailer_controller.rb | 28 ++++++++++++++++++++++++- app/mailers/invite_mailer.rb | 19 ++++++++++++++++- app/views/invite_mailer/delete.html.erb | 10 +++++++++ app/views/invite_mailer/delete.text.erb | 4 ++++ app/views/invite_mailer/invite.html.erb | 2 +- app/views/invite_mailer/invite.text.erb | 2 +- app/views/invite_mailer/update.html.erb | 10 +++++++++ app/views/invite_mailer/update.text.erb | 4 ++++ config/routes.rb | 2 ++ 9 files changed, 77 insertions(+), 4 deletions(-) create mode 100644 app/views/invite_mailer/delete.html.erb create mode 100644 app/views/invite_mailer/delete.text.erb create mode 100644 app/views/invite_mailer/update.html.erb create mode 100644 app/views/invite_mailer/update.text.erb diff --git a/app/controllers/mailer_controller.rb b/app/controllers/mailer_controller.rb index 3db454c..c838d20 100644 --- a/app/controllers/mailer_controller.rb +++ b/app/controllers/mailer_controller.rb @@ -18,12 +18,38 @@ class MailerController < ApplicationController def invite emails = params["emails"] + creator = params["creator"] title = params["event"]["title"] description = params["event"]["description"] date_time = params["event"]["date_time"] emails.each do |e| - InviteMailer.invite(e, title, description, date_time).deliver_later + InviteMailer.invite(e, creator, title, description, date_time).deliver_later end end + + def update + emails = params["emails"] + creator = params["creator"] + title = params["event"]["title"] + description = params["event"]["description"] + date_time = params["event"]["date_time"] + + emails.each do |e| + InviteMailer.update(e, creator, title, description, date_time).deliver_later + end + end + + def delete + emails = params["emails"] + creator = params["creator"] + title = params["event"]["title"] + description = params["event"]["description"] + date_time = params["event"]["date_time"] + + emails.each do |e| + InviteMailer.delete(e, creator, title, description, date_time).deliver_later + end + end + end diff --git a/app/mailers/invite_mailer.rb b/app/mailers/invite_mailer.rb index 6cc79d6..6115683 100644 --- a/app/mailers/invite_mailer.rb +++ b/app/mailers/invite_mailer.rb @@ -1,11 +1,28 @@ class InviteMailer < ApplicationMailer default from: "ross@alantreadway.net" - def invite(address, title, description, date_time) + def invite(address, creator, title, description, date_time) @title = title @description = description @date_time = date_time + @creator = creator mail(to: address, subject: 'Event Invite') end + + def update(address, creator, title, description, date_time) + @title = title + @description = description + @date_time = date_time + @creator = creator + mail(to: address, subject: 'Event Update') + end + + def delete(address, creator, title, description, date_time) + @title = title + @description = description + @date_time = date_time + @creator = creator + mail(to: address, subject: 'Event Deleted') + end end \ No newline at end of file diff --git a/app/views/invite_mailer/delete.html.erb b/app/views/invite_mailer/delete.html.erb new file mode 100644 index 0000000..82f24b2 --- /dev/null +++ b/app/views/invite_mailer/delete.html.erb @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <body> + <p>This event has been deleted</p> + <p>You have been invited by <%= @creator %> to an event called: <%= @title %> </p> + <%= @description %> + <p>this event is scheduled for: <%= @date_time %></p> + + </body> +</html> \ No newline at end of file diff --git a/app/views/invite_mailer/delete.text.erb b/app/views/invite_mailer/delete.text.erb new file mode 100644 index 0000000..c64d599 --- /dev/null +++ b/app/views/invite_mailer/delete.text.erb @@ -0,0 +1,4 @@ +This event has been deleted +You have been invited by <%= @creator %> to an event called: <%= @title %> +<%= @description %> +this event is scheduled for: <%= @date_time %> diff --git a/app/views/invite_mailer/invite.html.erb b/app/views/invite_mailer/invite.html.erb index dcc318d..dcb1ced 100644 --- a/app/views/invite_mailer/invite.html.erb +++ b/app/views/invite_mailer/invite.html.erb @@ -1,7 +1,7 @@ <!DOCTYPE html> <html> <body> - <p>You have been invited to an event called: <%= @title %> </p> + <p>You have been invited by <%= @creator %> to an event called: <%= @title %> </p> <%= @description %> <p>this event is scheduled for: <%= @date_time %></p> diff --git a/app/views/invite_mailer/invite.text.erb b/app/views/invite_mailer/invite.text.erb index af12a46..4964f9a 100644 --- a/app/views/invite_mailer/invite.text.erb +++ b/app/views/invite_mailer/invite.text.erb @@ -1,3 +1,3 @@ -You have been invited to an event called: <%= @title %> +You have been invited by <%= @creator %> to an event called: <%= @title %> <%= @description %> this event is scheduled for: <%= @date_time %> diff --git a/app/views/invite_mailer/update.html.erb b/app/views/invite_mailer/update.html.erb new file mode 100644 index 0000000..dd8a793 --- /dev/null +++ b/app/views/invite_mailer/update.html.erb @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <body> + <p>This event has been updated</p> + <p>You have been invited by <%= @creator %> to an event called: <%= @title %> </p> + <%= @description %> + <p>this event is scheduled for: <%= @date_time %></p> + + </body> +</html> \ No newline at end of file diff --git a/app/views/invite_mailer/update.text.erb b/app/views/invite_mailer/update.text.erb new file mode 100644 index 0000000..f3fe26f --- /dev/null +++ b/app/views/invite_mailer/update.text.erb @@ -0,0 +1,4 @@ +This event has been updated +You have been invited by <%= @creator %> to an event called: <%= @title %> +<%= @description %> +this event is scheduled for: <%= @date_time %> diff --git a/config/routes.rb b/config/routes.rb index 233af7c..5756d8f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -7,5 +7,7 @@ Rails.application.routes.draw do post "reminder", to: 'mailer#reminder' post "reset_password", to: 'mailer#reset_password' post "invite", to: 'mailer#invite' + post "update", to: 'mailer#update' + post "delete", to: 'mailer#delete' end -- GitLab