Я ищу возможность отключить эту функцию, так как она может усложнить управление темами, когда у вас есть разные команды модераторов для разных категорий, и внезапно они обнаруживают, что в их категории появилась большая или спорная тема без предварительного уведомления.
Я прочитал здесь Access rights for moving a topic to another category, где сказано, что это действие должно быть доступно только пользователям с уровнем доверия 3. Однако в моей тестовой среде пользователь с уровнем доверия 2 смог это сделать.
Я попробовал включить опцию «запретить редактирование после правки поста сотрудником», но это, похоже, не повлияло на возможность перемещения темы в другую категорию.
Не уверен, потребуется ли какое-то тестирование. Модификация группы категорий всё ещё может перемещать тему через команду редактирования или перемещения.
Также стоит обратить внимание на плагин #plugin Custom Trust Levels.
Я посмотрел — это хороший MVP, но сообщество, на которое я ориентируюсь, довольно технически подкованное, и было бы лучше, если бы DOM полностью пропускал отрисовку этого компонента, а не просто скрывал его от глаз.
Для этого потребуется плагин, или я смогу реализовать это с помощью компонента?
Мне нужно примерно определить, генерируется ли HTML для этого селекта или нет, исходя из роли.
Чтобы скрыть селектор категорий при редактировании первого поста (через действие «Редактировать пост», а не «Редактировать заголовок»), можно использовать следующий код:
Отлично, благодаря хорошему другу, который страдает от бессонницы, мы выяснили, где найти нужный хук
Вот он: он также корректирует визуальное оформление формы и позволяет выбрать минимальный уровень доверия, с которого доступ к редактированию категории будет доступен в любом случае (уровень доверия по умолчанию — 0, чтобы соответствовать настройкам Discourse по умолчанию)
Сейчас я создам новую тему в разделе #plugin.
Огромное спасибо @Canapin за то, что вы с самого начала указали нам верное направление
Просто для сведения: пользователи TL3 и TL4 могут перекатегоризировать любую тему, пока включена настройка «доверенные пользователи могут редактировать чужие». Пользователи TL0/1/2 должны иметь возможность делать это только для своих собственных тем и только в пределах периода редактирования [1]. Если вы заблокируете первый пост с помощью гаечного ключа, это также должно предотвратить редактирование категории (а также заголовка и тегов).
Я не на 100% уверен, что правильно понял ваш сценарий использования, но рад, что вы нашли решение.
устанавливается параметром «время редактирования поста» для TL0 и TL1 и «время редактирования поста TL2» для TL2 и TL3 ↩︎
Однако моя цель заключалась в том, чтобы не заставлять модераторов сталкиваться с многочисленными случаями перемещения тем между категориями, что может усложнить модерацию, когда тема сначала находится в одной категории, затем перемещается в другую и так далее.
Я считаю, что важно добавить, что поскольку это компонент темы, пользователь может обойти эти ограничения, внедрив JavaScript (насколько я понимаю) или включив безопасный режим, если он доступен (см. настройку включить безопасный режим).
Для более безопасного способа вам потребуется плагин.