Don't send @mention dmails when updating forum after approving BURs.
This commit is contained in:
@@ -21,9 +21,10 @@ class ForumUpdater
|
||||
end
|
||||
|
||||
def create_response(body)
|
||||
forum_topic.posts.create(
|
||||
:body => body
|
||||
)
|
||||
forum_topic.posts.create({
|
||||
:body => body,
|
||||
:skip_mention_notifications => true
|
||||
}, :without_protection => true)
|
||||
end
|
||||
|
||||
def update_title(title_tag)
|
||||
@@ -33,6 +34,6 @@ class ForumUpdater
|
||||
end
|
||||
|
||||
def update_post(body)
|
||||
forum_post.update(:body => "#{forum_post.body}\n\nEDIT: #{body}")
|
||||
forum_post.update({:body => "#{forum_post.body}\n\nEDIT: #{body}", :skip_mention_notifications => true }, :without_protection => true)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -9,7 +9,7 @@ module Mentionable
|
||||
@mentionable_options = options
|
||||
|
||||
message_field = mentionable_option(:message_field)
|
||||
after_save :queue_mention_messages, if: :"#{message_field}_changed?"
|
||||
after_save :queue_mention_messages
|
||||
end
|
||||
|
||||
def mentionable_option(key)
|
||||
@@ -19,6 +19,9 @@ module Mentionable
|
||||
|
||||
def queue_mention_messages
|
||||
message_field = self.class.mentionable_option(:message_field)
|
||||
return if !send("#{message_field}_changed?")
|
||||
return if self.skip_mention_notifications
|
||||
|
||||
text = send(message_field)
|
||||
text_was = send("#{message_field}_was")
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ class ForumPost < ApplicationRecord
|
||||
|
||||
attr_accessible :body, :topic_id, :as => [:member, :builder, :gold, :platinum, :admin, :moderator, :default]
|
||||
attr_accessible :is_locked, :is_sticky, :is_deleted, :as => [:admin, :moderator]
|
||||
attr_accessor :skip_mention_notifications # used by `Mentionable::queue_mention_messages`
|
||||
attr_readonly :topic_id
|
||||
belongs_to :creator, :class_name => "User"
|
||||
belongs_to :updater, :class_name => "User"
|
||||
|
||||
@@ -134,6 +134,12 @@ class BulkUpdateRequestTest < ActiveSupport::TestCase
|
||||
@post.reload
|
||||
assert_match(/\[REJECTED\]/, @topic.title)
|
||||
end
|
||||
|
||||
should "not send @mention dmails to the approver" do
|
||||
assert_no_difference("Dmail.count") do
|
||||
@req.approve!(@admin)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "when searching" do
|
||||
|
||||
Reference in New Issue
Block a user