Send email notifications when people comment on diary entries. Closes #655.
This commit is contained in:
parent
fae8295ec2
commit
5fbc8ad3f4
4 changed files with 50 additions and 1 deletions
|
@ -20,6 +20,7 @@ class DiaryEntryController < ApplicationController
|
||||||
@diary_comment = @entry.diary_comments.build(params[:diary_comment])
|
@diary_comment = @entry.diary_comments.build(params[:diary_comment])
|
||||||
@diary_comment.user = @user
|
@diary_comment.user = @user
|
||||||
if @diary_comment.save
|
if @diary_comment.save
|
||||||
|
Notifier::deliver_diary_comment_notification(@diary_comment)
|
||||||
redirect_to :controller => 'diary_entry', :action => 'view', :display_name => @entry.user.display_name, :id => @entry.id
|
redirect_to :controller => 'diary_entry', :action => 'view', :display_name => @entry.user.display_name, :id => @entry.id
|
||||||
else
|
else
|
||||||
render :action => 'view'
|
render :action => 'view'
|
||||||
|
|
|
@ -63,6 +63,34 @@ class Notifier < ActionMailer::Base
|
||||||
:message_id => message.id)
|
:message_id => message.id)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def diary_comment_notification(comment)
|
||||||
|
recipients comment.diary_entry.user.email
|
||||||
|
from "webmaster@openstreetmap.org"
|
||||||
|
subject "[OpenStreetMap] #{comment.user.display_name} commented on your diary entry"
|
||||||
|
headers "Auto-Submitted" => "auto-generated"
|
||||||
|
body :to_user => comment.diary_entry.user.display_name,
|
||||||
|
:from_user => comment.user.display_name,
|
||||||
|
:body => comment.body,
|
||||||
|
:subject => comment.diary_entry.title,
|
||||||
|
:readurl => url_for(:host => SERVER_URL,
|
||||||
|
:controller => "diary_entry",
|
||||||
|
:action => "view",
|
||||||
|
:display_name => comment.diary_entry.user.display_name,
|
||||||
|
:id => comment.diary_entry.id,
|
||||||
|
:anchor => "comment#{comment.id}"),
|
||||||
|
:commenturl => url_for(:host => SERVER_URL,
|
||||||
|
:controller => "diary_entry",
|
||||||
|
:action => "view",
|
||||||
|
:display_name => comment.diary_entry.user.display_name,
|
||||||
|
:id => comment.diary_entry.id,
|
||||||
|
:anchor => "newcomment"),
|
||||||
|
:replyurl => url_for(:host => SERVER_URL,
|
||||||
|
:controller => "message",
|
||||||
|
:action => "new",
|
||||||
|
:user_id => comment.user.id,
|
||||||
|
:title => "Re: #{comment.diary_entry.title}")
|
||||||
|
end
|
||||||
|
|
||||||
def friend_notification(friend)
|
def friend_notification(friend)
|
||||||
befriender = User.find_by_id(friend.user_id)
|
befriender = User.find_by_id(friend.user_id)
|
||||||
befriendee = User.find_by_id(friend.friend_user_id)
|
befriendee = User.find_by_id(friend.friend_user_id)
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
<h4>Comment from <%= link_to diary_comment.user.display_name, :controller => 'user', :action => 'view', :display_name => diary_comment.user.display_name %> at <%= diary_comment.created_at %></h4>
|
<h4 id="comment<%= diary_comment.id %>">Comment from <%= link_to diary_comment.user.display_name, :controller => 'user', :action => 'view', :display_name => diary_comment.user.display_name %> at <%= diary_comment.created_at %></h4>
|
||||||
<%= htmlize(diary_comment.body) %>
|
<%= htmlize(diary_comment.body) %>
|
||||||
<hr />
|
<hr />
|
||||||
|
|
20
app/views/notifier/diary_comment_notification.rhtml
Normal file
20
app/views/notifier/diary_comment_notification.rhtml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
***************************************************************************
|
||||||
|
Please do not reply to this email. Use the OpenStreetMap web site to reply.
|
||||||
|
***************************************************************************
|
||||||
|
|
||||||
|
Hi <%= @to_user %>,
|
||||||
|
|
||||||
|
<%= @from_user %> has commented on your recent OpenStreetMap diary entry
|
||||||
|
with the subject "<%= @subject %>":
|
||||||
|
|
||||||
|
==
|
||||||
|
<%= @body %>
|
||||||
|
==
|
||||||
|
|
||||||
|
You can also read the comment at <%= @readurl %>
|
||||||
|
and you can comment at <%= @commenturl %>
|
||||||
|
or reply at <%= @replyurl %>
|
||||||
|
|
||||||
|
***************************************************************************
|
||||||
|
Please do not reply to this email. Use the OpenStreetMap web site to reply.
|
||||||
|
***************************************************************************
|
Loading…
Add table
Add a link
Reference in a new issue