Fix #4525: Show mod report notices next to reported content.
This commit is contained in:
@@ -6,15 +6,28 @@ class ForumPostComponent < ApplicationComponent
|
||||
|
||||
with_collection_parameter :forum_post
|
||||
|
||||
def initialize(forum_post:, original_forum_post_id: nil, dtext_data: nil, moderation_reports: [], current_user: User.anonymous)
|
||||
def self.with_collection(forum_posts, forum_topic:, current_user:)
|
||||
dtext_data = DText.preprocess(forum_posts.map(&:body))
|
||||
original_forum_post_id = forum_topic.original_post&.id
|
||||
|
||||
forum_posts = forum_posts.includes(:creator, :bulk_update_request)
|
||||
forum_posts = forum_posts.includes(:moderation_reports) if Pundit.policy!([current_user, nil], ModerationReport).show?
|
||||
|
||||
super(forum_posts, dtext_data: dtext_data, original_forum_post_id: original_forum_post_id, current_user: current_user)
|
||||
end
|
||||
|
||||
def initialize(forum_post:, original_forum_post_id: nil, dtext_data: nil, current_user: User.anonymous)
|
||||
@forum_post = forum_post
|
||||
@original_forum_post_id = original_forum_post_id
|
||||
@dtext_data = dtext_data
|
||||
@moderation_reports = moderation_reports
|
||||
@current_user = current_user
|
||||
end
|
||||
|
||||
def render?
|
||||
policy(forum_post).show_deleted?
|
||||
end
|
||||
|
||||
def has_moderation_reports?
|
||||
policy(ModerationReport).show? && forum_post.moderation_reports.present?
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user