From 68ee779c11e7d7fbaece844f34f2a7a4ed19a64b Mon Sep 17 00:00:00 2001 From: MrYummy Date: Sun, 4 Jun 2017 20:02:57 +0200 Subject: Now sends mail to user_target on message creation --- app/controllers/messages_controller.rb | 2 ++ app/helpers/mailer_helper.rb | 2 +- app/mailers/redstoner_mailer.rb | 6 +++++ app/models/message.rb | 14 +++++++++++ .../redstoner_mailer/new_message_mail.html.erb | 28 ++++++++++++++++++++++ .../new_post_comment_mail.html.erb | 2 +- 6 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 app/views/redstoner_mailer/new_message_mail.html.erb diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index e597d94..4bcd954 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -35,7 +35,9 @@ class MessagesController < ApplicationController return end @message = Message.new(message_params) + @message.user_target = User.find(@message.user_target_id) if @message.save + @message.send_new_message_mail flash[:notice] = "Message sent!" redirect_to messages_path return diff --git a/app/helpers/mailer_helper.rb b/app/helpers/mailer_helper.rb index dbacf81..5e5649c 100644 --- a/app/helpers/mailer_helper.rb +++ b/app/helpers/mailer_helper.rb @@ -24,4 +24,4 @@ module MailerHelper end end end -end \ No newline at end of file +end diff --git a/app/mailers/redstoner_mailer.rb b/app/mailers/redstoner_mailer.rb index 1b387f8..f804440 100644 --- a/app/mailers/redstoner_mailer.rb +++ b/app/mailers/redstoner_mailer.rb @@ -44,4 +44,10 @@ class RedstonerMailer < ActionMailer::Base @user = user mail(to: @user.email, subject: "Email change on Redstoner.com") end + + def new_message_mail(user, message) + @user = user + @message = message + mail(to: @user.email, subject: "#{message.user_sender.name} sent you a new message.") + end end diff --git a/app/models/message.rb b/app/models/message.rb index cce952f..8480e48 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -1,5 +1,7 @@ class Message < ActiveRecord::Base + include MailerHelper + belongs_to :user_sender, class_name: "User", foreign_key: "user_sender_id" belongs_to :user_target, class_name: "User", foreign_key: "user_target_id" @@ -17,4 +19,16 @@ class Message < ActiveRecord::Base # can be nil @target ||= user_target end + + def send_new_message_mail + begin + mail = RedstonerMailer.new_message_mail(user_target, self) + rescue => e + Rails.logger.error "---" + Rails.logger.error "WARNING: Failed to create new_message_mail (view) for message#: #{@message.id}, user: #{@user.name}, #{@user.email}" + Rails.logger.error e.message + Rails.logger.error "---" + end + background_mailer([mail]) + end end diff --git a/app/views/redstoner_mailer/new_message_mail.html.erb b/app/views/redstoner_mailer/new_message_mail.html.erb new file mode 100644 index 0000000..08cd2ba --- /dev/null +++ b/app/views/redstoner_mailer/new_message_mail.html.erb @@ -0,0 +1,28 @@ +
+
+ Hi <%= @user.name %>! + +

<%= link_to @message.user_sender.name, user_url(@message.user_sender), style: "text-decoration: none; color: #4096EE;" %> has sent you a new message!

+ +
+ <%= render_md(@message.text).html_safe %> +
+ +

<%= link_to "Click here", messages_path %> to view your current messages.

+ +

If you have any questions or problems, just ask one of our <%= link_to "Staff", users_url(role: "staff"), style: "text-decoration: none; color: #4096EE;" %> in-game or on the forums!

+

Your Redstoner team

+ +
+
+
+

Too much spam? Change <%= link_to "your notification settings", edit_notifications_user_url(@user), style: "text-decoration: none; color: #4096EE;" %>!

+

You can contact us via: + <%= link_to "Website", root_url, style: "text-decoration: none; color: #4096EE;" %> | + <%= link_to "Twitter", "https://twitter.com/RedstonerServer", style: "text-decoration: none; color: #4096EE;" %> | + <%= link_to "Google+", "https://google.com/+Redstoner", style: "text-decoration: none; color: #4096EE;" %> | + <%= link_to "Email", "mailto:redstonerserver+website@gmail.com", style: "text-decoration: none; color: #4096EE;" %> +

+
+
+
diff --git a/app/views/redstoner_mailer/new_post_comment_mail.html.erb b/app/views/redstoner_mailer/new_post_comment_mail.html.erb index 8936087..4938363 100644 --- a/app/views/redstoner_mailer/new_post_comment_mail.html.erb +++ b/app/views/redstoner_mailer/new_post_comment_mail.html.erb @@ -29,4 +29,4 @@

- \ No newline at end of file + -- cgit v1.2.3