Новая тема всё ещё доступна, даже если у пользователей нет прав

Я думаю, что простое решение можно реализовать, добавив этот компонент GitHub - discourse/discourse-groups-css-classes-in-body · GitHub, а затем применив некоторые CSS-трюки, например:

body.group-not-allowed-group.category-not-allowed-category #create-topic {
    display: none;
}

где not-allowed-group — это группа, для которой нужно скрыть кнопку создания темы, а not-allowed-category — категория, на которую нужно ориентироваться. Вы можете использовать циклы следующим образом:

$categories: 'category1', 'category2', 'category3';
$groups: 'group1', 'group2', 'group3';

@each $category in $categories {
  @each $group in $groups {
    body.group-#{$group}.category-#{$category} #create-topic {
      display: none;
    }
  }
}

Конечно, если вы пойдёте этим путём, вероятно, проще создать пользовательский компонент темы с настройками списка для групп и категорий, чтобы их было легко выбирать и т. д.

2 лайка