mirror of
https://github.com/discourse/discourse.git
synced 2024-11-22 09:42:02 +08:00
DEV: Users must be able to see a topic to moderate it. (#10906)
Follows-up a8c47e7c
. It makes more sense to check if the user can see the topic inside the `can_moderate?` method instead of doing it separately.
This commit is contained in:
parent
b19e8ea206
commit
108414e47c
|
@ -453,7 +453,6 @@ class TopicsController < ApplicationController
|
|||
params.require(:duration) if based_on_last_post
|
||||
|
||||
topic = Topic.find_by(id: params[:topic_id])
|
||||
guardian.ensure_can_see!(topic)
|
||||
guardian.ensure_can_moderate!(topic)
|
||||
|
||||
options = {
|
||||
|
|
|
@ -170,7 +170,10 @@ class Guardian
|
|||
end
|
||||
|
||||
def can_moderate?(obj)
|
||||
obj && authenticated? && !is_silenced? && (is_staff? || (obj.is_a?(Topic) && @user.has_trust_level?(TrustLevel[4])))
|
||||
obj && authenticated? && !is_silenced? && (
|
||||
is_staff? ||
|
||||
(obj.is_a?(Topic) && @user.has_trust_level?(TrustLevel[4]) && can_see_topic?(obj))
|
||||
)
|
||||
end
|
||||
alias :can_see_flags? :can_moderate?
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user