Send notification emails when someone comments on a map bug report

This commit is contained in:
Kai Krueger 2011-04-27 12:01:52 -06:00
parent 3b55494c8c
commit b3d62bb85a
4 changed files with 53 additions and 1 deletions

View file

@ -311,7 +311,18 @@ private
end
bug_comment.save;
bug.last_changed = t
bug.save
bug.save
sent_to = Set.new;
bug.map_bug_comment.each do | cmt |
if cmt.user
unless sent_to.include?(cmt.user)
Notifier.deliver_bug_comment_notification(bug_comment, cmt.user) unless cmt.user == @user;
sent_to.add(cmt.user);
end
end
end
end
end

View file

@ -95,6 +95,24 @@ class Notifier < ActionMailer::Base
body :friend => friend
end
def bug_comment_notification(bug_comment, recipient)
common_headers recipient
commenter_name = bug_comment.user.display_name if bug_comment.user
commenter_name = bug_comment.commenter_name unless bug_comment.user
owner = (recipient == bug_comment.map_bug.map_bug_comment[0].user);
subject I18n.t('notifier.map_bug_plain.subject_own', :commenter => commenter_name) if owner
subject I18n.t('notifier.map_bug_plain.subject_other', :commenter => commenter_name) unless owner
body :bugurl => url_for(:host => SERVER_URL,
:controller => "browse",
:action => "bug",
:id => bug_comment.bug_id),
:place => bug_comment.map_bug.nearby_place,
:comment => bug_comment.comment,
:owner => owner,
:commenter => commenter_name
end
private
def common_headers(recipient)

View file

@ -0,0 +1,15 @@
<%= t 'notifier.map_bug_plain.greeting' %>
<% if @owner %>
<%= t 'notifier.map_bug_plain.your_bug', :commenter => @commenter, :place => @place %>
<% else %>
<%= t 'notifier.map_bug_plain.commented_bug', :commenter => @commenter, :place => @place %>
<% end %>
==
<%= @comment %>
==
<%= t 'notifier.map_bug_plain.details', :URL => @bugurl %>

View file

@ -1176,6 +1176,14 @@ en:
greeting: "Hi,"
hopefully_you: "Someone (possibly you) has asked for the password to be reset on this email address's openstreetmap.org account."
click_the_link: "If this is you, please click the link below to reset your password."
map_bug_plain:
subject_own: "[OpenStreetMap bugs] {{commenter}} has commented on one of your bugs"
subject_other: "[OpenStreetMap bugs] {{commenter}} has commented on a bug you are interested in"
greeting: "Hi,"
your_bug: "{{commenter}} has left a comment on one of your map bug reports near {{place}}."
commented_bug: "{{commenter}} has left a comment on a map bug report you have commented on. The bug is near {{place}}."
details: "More details about the bug report can be found at {{URL}}."
message:
inbox:
title: "Inbox"