summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMrYummy <elemental428@gmail.com>2017-06-04 20:02:57 +0200
committerMrYummy <elemental428@gmail.com>2017-06-04 20:02:57 +0200
commit68ee779c11e7d7fbaece844f34f2a7a4ed19a64b (patch)
tree1dbd8fefec7163fadf1fd18a65a4246d58d87a87
parent7c233c8fef34613a39815402f7944a42110d2f8f (diff)
Now sends mail to user_target on message creation
-rw-r--r--app/controllers/messages_controller.rb2
-rw-r--r--app/helpers/mailer_helper.rb2
-rw-r--r--app/mailers/redstoner_mailer.rb6
-rw-r--r--app/models/message.rb14
-rw-r--r--app/views/redstoner_mailer/new_message_mail.html.erb28
-rw-r--r--app/views/redstoner_mailer/new_post_comment_mail.html.erb2
6 files changed, 52 insertions, 2 deletions
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 @@
+<div style="font-family: 'Oswald','Calibri','Arial','DejaVu Sans','Open Sans','Lucida Sans','Lucida Grande','Lucida Sans Unicode',sans-serif; background: #F2F2F2">
+ <div style="color: #3f3f3f; width: 600px; max-width: 100%; padding: 2em 0; margin: auto;">
+ Hi <%= @user.name %>!
+
+ <p><%= link_to @message.user_sender.name, user_url(@message.user_sender), style: "text-decoration: none; color: #4096EE;" %> has sent you a new message!</p>
+
+ <blockquote>
+ <%= render_md(@message.text).html_safe %>
+ </blockquote>
+
+ <p><%= link_to "Click here", messages_path %> to view your current messages.</p>
+
+ <p>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!</p>
+ <p>Your Redstoner team</p>
+
+ </div>
+ <div style="background: #444; width: 100%; color: #fff; margin: auto; text-align: center; display: inline-block;">
+ <div style="margin: 2em;">
+ <p><i>Too much spam? Change <%= link_to "your notification settings", edit_notifications_user_url(@user), style: "text-decoration: none; color: #4096EE;" %>!</i></p>
+ <p>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;" %>
+ </p>
+ </div>
+ </div>
+</div>
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 @@
</p>
</div>
</div>
-</div> \ No newline at end of file
+</div>