FEATURE: Support designating multiple groups as mods on category (#28655)

Currently, categories support designating only 1 group as a moderation group on the category. This commit removes the one group limitation and makes it possible to designate multiple groups as mods on a category.

Internal topic: t/124648.
This commit is contained in:
Osama Sayegh
2024-09-04 04:38:46 +03:00
committed by GitHub
parent 7092d88ee4
commit 280adda09c
49 changed files with 388 additions and 273 deletions

View File

@ -59,9 +59,8 @@ after_initialize do
config.allowed_group_ids += SiteSetting.edit_all_post_groups.split("|").map(&:to_i)
end
if SiteSetting.enable_category_group_moderation? &&
group_id = topic.category&.reviewable_by_group_id
config.allowed_group_ids << group_id
if SiteSetting.enable_category_group_moderation? && topic.category
config.allowed_group_ids.push(*topic.category.moderating_groups.pluck(:id))
end
config

View File

@ -73,7 +73,7 @@ RSpec.describe "discourse-presence" do
expect(c.config.allowed_group_ids).to contain_exactly(Group::AUTO_GROUPS[:staff])
SiteSetting.enable_category_group_moderation = true
category.update(reviewable_by_group_id: group.id)
Fabricate(:category_moderation_group, category:, group:)
c = PresenceChannel.new("/discourse-presence/edit/#{p.id}", use_cache: false)
expect(c.config.allowed_group_ids).to contain_exactly(Group::AUTO_GROUPS[:staff], group.id)