X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/52f755cb27dd7dad2fe65a3deb5d4591c6675dec..4370fe45add697f481ab88764aba8379eb3316c2:/app/mailers/user_mailer.rb?ds=inline diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb index 92c64b4d6..fea73c710 100644 --- a/app/mailers/user_mailer.rb +++ b/app/mailers/user_mailer.rb @@ -78,7 +78,7 @@ class UserMailer < ApplicationMailer @text = message.body @title = message.title @readurl = message_url(message) - @replyurl = message_reply_url(message) + @replyurl = new_message_reply_url(message) @author = @from_user attach_user_avatar(message.sender) @@ -105,22 +105,30 @@ class UserMailer < ApplicationMailer set_references("diary", comment.diary_entry) + set_list_headers( + "#{comment.diary_entry.id}.diary.www.openstreetmap.org", + t(".description", :id => comment.diary_entry.id), + :archive => @readurl, + :subscribe => diary_entry_subscribe_url(comment.diary_entry.user, comment.diary_entry), + :unsubscribe => @unsubscribeurl + ) + mail :from => from_address(comment.user.display_name, "c", comment.id, comment.notification_token(recipient.id), recipient.id), :to => recipient.email, :subject => t(".subject", :user => comment.user.display_name) end end - def friendship_notification(friendship) - with_recipient_locale friendship.befriendee do - @friendship = friendship - @viewurl = user_url(@friendship.befriender) - @friendurl = make_friend_url(@friendship.befriender) - @author = @friendship.befriender.display_name + def friendship_notification(follow) + with_recipient_locale follow.following do + @follow = follow + @viewurl = user_url(@follow.follower) + @followurl = follow_url(@follow.follower) + @author = @follow.follower.display_name - attach_user_avatar(@friendship.befriender) - mail :to => friendship.befriendee.email, - :subject => t(".subject", :user => friendship.befriender.display_name) + attach_user_avatar(@follow.follower) + mail :to => follow.following.email, + :subject => t(".subject", :user => follow.follower.display_name) end end @@ -143,6 +151,12 @@ class UserMailer < ApplicationMailer set_references("note", comment.note) + set_list_headers( + "#{comment.note.id}.note.www.openstreetmap.org", + t(".description", :id => comment.note.id), + :archive => @noteurl + ) + subject = if @owner t(".#{@event}.subject_own", :commenter => @commenter) else @@ -163,6 +177,7 @@ class UserMailer < ApplicationMailer @changeset_comment = comment.changeset.tags["comment"].presence @time = comment.created_at @changeset_author = comment.changeset.user.display_name + @unsubscribe_url = unsubscribe_changeset_url(comment.changeset) @author = @commenter subject = if @owner @@ -175,6 +190,14 @@ class UserMailer < ApplicationMailer set_references("changeset", comment.changeset) + set_list_headers( + "#{comment.changeset.id}.changeset.www.openstreetmap.org", + t(".description", :id => comment.changeset.id), + :subscribe => subscribe_changeset_url(comment.changeset), + :unsubscribe => @unsubscribe_url, + :archive => @changeset_url + ) + mail :to => recipient.email, :subject => subject end end @@ -224,8 +247,8 @@ class UserMailer < ApplicationMailer end end - def with_recipient_locale(recipient, &block) - I18n.with_locale(Locale.available.preferred(recipient.preferred_languages), &block) + def with_recipient_locale(recipient, &) + I18n.with_locale(Locale.available.preferred(recipient.preferred_languages), &) end def from_address(name, type, id, token, user_id = nil) @@ -247,4 +270,11 @@ class UserMailer < ApplicationMailer headers["In-Reply-To"] = ref headers["References"] = ref end + + def set_list_headers(id, description, options = {}) + headers["List-ID"] = "#{description} <#{id}>" + headers["List-Archive"] = "<#{options[:archive]}>" if options[:archive] + headers["List-Subscribe"] = "<#{options[:subscribe]}>" if options[:subscribe] + headers["List-Unsubscribe"] = "<#{options[:unsubscribe]}>" if options[:unsubscribe] + end end