@readurl = diary_entry_url(comment.diary_entry.user, comment.diary_entry, :anchor => "comment#{comment.id}")
@commenturl = diary_entry_url(comment.diary_entry.user, comment.diary_entry, :anchor => "newcomment")
@replyurl = new_message_url(comment.user, :message => { :title => "Re: #{comment.diary_entry.title}" })
- @ref = "osm-diary-#{comment.diary_entry.id}@#{Settings.server_url}"
@author = @from_user
attach_user_avatar(comment.user)
- headers["In-Reply-To"] = @ref
- headers["References"] = @ref
+ set_references("diary", comment.diary_entry)
mail :from => from_address(comment.user.display_name, "c", comment.id, comment.digest, recipient.id),
:to => recipient.email,
end
end
- def friend_notification(friend)
- with_recipient_locale friend.befriendee do
- @friend = friend
- @viewurl = user_url(@friend.befriender)
- @friendurl = url_for(:controller => "users", :action => "make_friend",
- :display_name => @friend.befriender.display_name)
- @author = @friend.befriender.display_name
+ 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
- attach_user_avatar(@friend.befriender)
- mail :to => friend.befriendee.email,
- :subject => I18n.t("notifier.friend_notification.subject", :user => friend.befriender.display_name)
+ attach_user_avatar(@friendship.befriender)
+ mail :to => friendship.befriendee.email,
+ :subject => I18n.t("notifier.friendship_notification.subject", :user => friendship.befriender.display_name)
end
end
@comment = comment.body
@owner = recipient == comment.note.author
@event = comment.event
- @ref = "osm-note-#{comment.note.id}@#{Settings.server_url}"
@commenter = if comment.author
comment.author.display_name
@author = @commenter
attach_user_avatar(comment.author)
- headers["In-Reply-To"] = @ref
- headers["References"] = @ref
+ set_references("note", comment.note)
subject = if @owner
I18n.t("notifier.note_comment_notification.#{@event}.subject_own", :commenter => @commenter)
@time = comment.created_at
@changeset_author = comment.changeset.user.display_name
@author = @commenter
- @ref = "osm-changeset-#{comment.changeset.id}@#{Settings.server_url}"
subject = if @owner
I18n.t("notifier.changeset_comment_notification.commented.subject_own", :commenter => @commenter)
attach_user_avatar(comment.author)
- headers["In-Reply-To"] = @ref
- headers["References"] = @ref
+ set_references("changeset", comment.changeset)
mail :to => recipient.email, :subject => subject
end
def user_avatar_file(user)
avatar = user&.avatar
if avatar&.attached?
- avatar.variant(:resize => "50x50>").blob.download
+ if avatar.variable?
+ image = avatar.variant(:resize => "50x50>").processed
+ image.service.download(image.key)
+ else
+ avatar.blob.download
+ end
else
File.read(Rails.root.join("app/assets/images/avatar_small.png"))
end
Settings.email_from
end
end
+
+ def set_references(scope, reference_object)
+ ref = "osm-#{scope}-#{reference_object.id}@#{Settings.server_url}"
+
+ headers["X-Entity-Ref-ID"] = ref
+ headers["In-Reply-To"] = ref
+ headers["References"] = ref
+ end
end