diff options
author | MrYummy <elemental428@gmail.com> | 2017-06-04 20:02:57 +0200 |
---|---|---|
committer | MrYummy <elemental428@gmail.com> | 2017-06-04 20:02:57 +0200 |
commit | 68ee779c11e7d7fbaece844f34f2a7a4ed19a64b (patch) | |
tree | 1dbd8fefec7163fadf1fd18a65a4246d58d87a87 | |
parent | 7c233c8fef34613a39815402f7944a42110d2f8f (diff) |
Now sends mail to user_target on message creation
-rw-r--r-- | app/controllers/messages_controller.rb | 2 | ||||
-rw-r--r-- | app/helpers/mailer_helper.rb | 2 | ||||
-rw-r--r-- | app/mailers/redstoner_mailer.rb | 6 | ||||
-rw-r--r-- | app/models/message.rb | 14 | ||||
-rw-r--r-- | app/views/redstoner_mailer/new_message_mail.html.erb | 28 | ||||
-rw-r--r-- | app/views/redstoner_mailer/new_post_comment_mail.html.erb | 2 |
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> |