Fix #4525: Show mod report notices next to reported content.

This commit is contained in:
evazion
2021-01-15 19:54:21 -06:00
parent 37792bd5dd
commit b4530183f4
20 changed files with 153 additions and 57 deletions

View File

@@ -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