カテゴリーモデレーターが他のフラグで完全な会話を表示できない

これはバグとして分類しますが、意図された動作かどうかは確信が持てません。

現在、カテゴリモデレーターは自身のカテゴリ内のフラグを処理できます。しかし、「その他」として投稿がフラグ付けされた場合、フラグを処理することはできても、ボタンが表示されていても「このページは存在しないか、非公開です」と表示され、完全な会話を閲覧できないようです。


再現手順(2 つのアカウントが必要です。ユーザー 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

そのグループの「誰がこのグループにメッセージを送れるか?」が「全員」に設定されていれば、カテゴリグループモデレーターはこれらの「その他」報告を読むことができるようになります。

「全員」に設定されていない場合、フラグを作成しようとする際に「メッセージを作成できません」というエラーが返されます。

考えられる解決策は以下の 2 つです:

  1. カテゴリグループモデレーターグループのメッセージ送信権限を「全員」に必須とする。
  2. 上記のコードブロックの引数に skip_group_validation のような新しいフラグを追加し、「その他」フラグ作成時にメッセージ送信権限のチェックをスキップできるようにする。

少し考えて、どのような対応が可能か検討します…

「いいね!」 5

上記のissueに対する修正がマージされました。

@ondrej さん、ありがとうございます!

「いいね!」 8