카테고리 모드가 다른 플래그에서 전체 대화를 볼 수 없음

이것을 버그로 분류하겠습니다. 다만 의도된 동작인지 확실하지는 않습니다.

현재 카테고리 관리자는 자신의 카테고리에서 플래그를 처리할 수 있습니다. 하지만 누군가 게시물을 '기타’로 플래그를 걸면, 관리자는 해당 플래그를 처리할 수는 있지만, 전체 대화를 볼 수 없습니다. 버튼은 표시되지만, 이 페이지가 존재하지 않거나 비공개라고만 표시됩니다.


재현 방법 (계정 2개가 필요합니다. 사용자 2는 카테고리 관리자입니다)

  • 사용자가 게시물을 '기타’로 플래그를 겁니다
  • 사용자 2가 /review로 이동하여 플래그를 검토하지만, 전체 대화를 볼 수 없습니다
5개의 좋아요

버그 리포트 감사합니다. 문제를 재현할 수 있음을 확인했습니다.

게시물이 '기타’로 신고되면, 신고를 생성한 사용자와 ‘moderators’ 그룹 사이에 개인 메시지 토픽이 생성됩니다. 스크린샷의 ‘전체 대화 보기’ 버튼은 이 개인 메시지 토픽으로 연결되며, 현재 카테고리 그룹 모더레이터가 이 버튼을 클릭하면 오류가 발생합니다.

해결 방법은 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개의 좋아요