From 1872bff3465634dcebefa005ba72f69c97c9ca43 Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Sat, 10 Aug 2019 12:09:23 +1200 Subject: [PATCH] Restore notifier not hooked up to mailboxer yet --- app/mailers/notifier.rb | 56 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 app/mailers/notifier.rb diff --git a/app/mailers/notifier.rb b/app/mailers/notifier.rb new file mode 100644 index 000000000..e39ced825 --- /dev/null +++ b/app/mailers/notifier.rb @@ -0,0 +1,56 @@ +class Notifier < ApplicationMailer + # include NotificationsHelper + default from: "Growstuff <#{ENV['GROWSTUFF_EMAIL']}>" + + def verifier + unless ENV['RAILS_SECRET_TOKEN'] + raise "RAILS_SECRET_TOKEN environment variable"\ + "not set - have you created config/application.yml?" + end + + ActiveSupport::MessageVerifier.new(ENV['RAILS_SECRET_TOKEN']) + end + + def notify(notification) + @notification = notification + @reply_link = reply_link(@notification) + + # Encrypting + message = { member_id: @notification.recipient.id, type: :send_notification_email } + @signed_message = verifier.generate(message) + + mail(to: @notification.recipient.email, + subject: @notification.subject) + end + + def planting_reminder(member) + @member = member + + @plantings = @member.plantings.order(planted_at: :desc).first(5) + @harvests = @member.harvests.order(harvested_at: :desc).first(5) + + # Encrypting + message = { member_id: @member.id, type: :send_planting_reminder } + @signed_message = verifier.generate(message) + + mail(to: @member.email, subject: "What have you planted lately?") if @member.send_planting_reminder + end + + def new_crop_request(member, request) + @member = member + @request = request + mail(to: @member.email, subject: "#{@request.requester.login_name} has requested #{@request.name} as a new crop") + end + + def crop_request_approved(member, crop) + @member = member + @crop = crop + mail(to: @member.email, subject: "#{crop.name.capitalize} has been approved") + end + + def crop_request_rejected(member, crop) + @member = member + @crop = crop + mail(to: @member.email, subject: "#{crop.name.capitalize} has been rejected") + end +end