FEATURE: Do not autoclose topics due to user flagging that are authored by staff

This commit is contained in:
Jeff Wong 2019-01-21 15:50:53 -08:00
parent fe6d571021
commit 3359b3baca
2 changed files with 16 additions and 0 deletions

View File

@ -565,6 +565,7 @@ class PostAction < ActiveRecord::Base
MAXIMUM_FLAGS_PER_POST = 3 MAXIMUM_FLAGS_PER_POST = 3
def self.auto_close_threshold_reached?(topic) def self.auto_close_threshold_reached?(topic)
return if topic.user&.staff?
flags = PostAction.active flags = PostAction.active
.flags .flags
.joins(:post) .joins(:post)

View File

@ -920,6 +920,21 @@ describe PostAction do
expect(topic_status_update.status_type).to eq(TopicTimer.types[:open]) expect(topic_status_update.status_type).to eq(TopicTimer.types[:open])
end end
context "on a staff post" do
let(:staff_user) { Fabricate(:user, moderator: true) }
let(:topic) { Fabricate(:topic, user: staff_user) }
it "will not close topics opened by staff" do
[flagger1, flagger2].each do |flagger|
[post1, post2, post3].each do |post|
PostAction.act(flagger, post, PostActionType.types[:inappropriate])
end
end
expect(topic.reload.closed).to eq(false)
end
end
it "will keep the topic in closed status until the community flags are handled" do it "will keep the topic in closed status until the community flags are handled" do
freeze_time freeze_time