类别管理员无法在其他标志中查看完整对话

我将此归类为一个 bug,尽管我不确定这是否是预期行为。

目前,分类版主可以处理其所在分类中的举报。然而,当有人将帖子举报为“其他”时,版主虽然可以处理该举报,却无法查看完整对话,尽管按钮可用,但点击后提示“此页面不存在或为私密”。


复现步骤(需要两个账号。用户 2 为分类版主):

  • 用户将帖子举报为“其他”
  • 用户 2 访问 /review,查看该举报,但无法查看完整对话
5 个赞

感谢提交错误报告。我可以确认已复现该问题。

当帖子被标记为“其他事项”时,系统会在创建该标记的用户与“版主”群组之间创建一个私信话题。您截图中的“查看完整对话”按钮链接到该私信话题,但目前如果类别群组版主点击该链接,将会收到错误。

解决方案是在 post_action_creator.rb 第 309 行附近添加如下代码,以便在启用相关功能时将对应的群组加入私信:

if SiteSetting.enable_category_group_moderation? && @post.topic&.category&.reviewable_by_group_id?
  create_args[:target_group_names] << @post.topic.category.reviewable_by_group.name
end

如果该群组的“谁可以消息此群组?”设置为“所有人”,那么类别群组版主将能够阅读这些“其他事项”报告。

如果未设置为“所有人”,则在尝试创建标记时会返回错误,提示无法创建消息。

目前我看到有两种可能的解决方案:

  1. 要求类别群组版主群组的消息权限必须设置为“所有人”。
  2. 在上述代码块中添加一个额外的参数,例如 skip_group_validation,用于在创建“其他事项”标记时跳过对消息权限的检查。

让我再仔细考虑一下,看看能想出什么办法……

5 个赞

上述问题的修复已合并。

感谢 @ondrej

8 个赞