我将此归类为一个 bug,尽管我不确定这是否是预期行为。
目前,分类版主可以处理其所在分类中的举报。然而,当有人将帖子举报为“其他”时,版主虽然可以处理该举报,却无法查看完整对话,尽管按钮可用,但点击后提示“此页面不存在或为私密”。
复现步骤(需要两个账号。用户 2 为分类版主):
- 用户将帖子举报为“其他”
- 用户 2 访问
/review,查看该举报,但无法查看完整对话
我将此归类为一个 bug,尽管我不确定这是否是预期行为。
目前,分类版主可以处理其所在分类中的举报。然而,当有人将帖子举报为“其他”时,版主虽然可以处理该举报,却无法查看完整对话,尽管按钮可用,但点击后提示“此页面不存在或为私密”。
复现步骤(需要两个账号。用户 2 为分类版主):
/review,查看该举报,但无法查看完整对话感谢提交错误报告。我可以确认已复现该问题。
当帖子被标记为“其他事项”时,系统会在创建该标记的用户与“版主”群组之间创建一个私信话题。您截图中的“查看完整对话”按钮链接到该私信话题,但目前如果类别群组版主点击该链接,将会收到错误。
解决方案是在 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
如果该群组的“谁可以消息此群组?”设置为“所有人”,那么类别群组版主将能够阅读这些“其他事项”报告。
如果未设置为“所有人”,则在尝试创建标记时会返回错误,提示无法创建消息。
目前我看到有两种可能的解决方案:
skip_group_validation,用于在创建“其他事项”标记时跳过对消息权限的检查。让我再仔细考虑一下,看看能想出什么办法……
上述问题的修复已合并。
感谢 @ondrej!