Enforce disabling flagging hidden posts server-side
This commit is contained in:
parent
94f628fb4c
commit
7b3432f711
|
@ -40,6 +40,9 @@ module PostGuardian
|
|||
# Silenced users can't flag
|
||||
return false if is_flag && @user.silenced?
|
||||
|
||||
# Hidden posts can't be flagged
|
||||
return false if is_flag && post.hidden?
|
||||
|
||||
# post made by staff, but we don't allow staff flags
|
||||
return false if is_flag &&
|
||||
(!SiteSetting.allow_flagging_staff?) &&
|
||||
|
|
|
@ -116,6 +116,11 @@ describe Guardian do
|
|||
expect(Guardian.new(user).post_can_act?(post, :spam)).to be_truthy
|
||||
end
|
||||
|
||||
it "does not allow flagging of hidden posts" do
|
||||
post.hidden = true
|
||||
expect(Guardian.new(user).post_can_act?(post, :spam)).to be_falsey
|
||||
end
|
||||
|
||||
it "allows flagging of staff posts when allow_flagging_staff is true" do
|
||||
SiteSetting.allow_flagging_staff = true
|
||||
staff_post = Fabricate(:post, user: Fabricate(:moderator))
|
||||
|
|
Loading…
Reference in New Issue