ondrej
2021 年 8 月 8 日午後 8:32
1
これはバグとして分類しますが、意図された動作かどうかは確信が持てません。
現在、カテゴリモデレーターは自身のカテゴリ内のフラグを処理できます。しかし、「その他」として投稿がフラグ付けされた場合、フラグを処理することはできても、ボタンが表示されていても「このページは存在しないか、非公開です」と表示され、完全な会話を閲覧できないようです。
再現手順(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 つです:
カテゴリグループモデレーターグループのメッセージ送信権限を「全員」に必須とする。
上記のコードブロックの引数に skip_group_validation のような新しいフラグを追加し、「その他」フラグ作成時にメッセージ送信権限のチェックをスキップできるようにする。
少し考えて、どのような対応が可能か検討します…
「いいね!」 5