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