Хотел бы обсудить здесь один сценарий использования, буду очень признателен за вашу помощь.
Моя текущая конфигурация:
Две категории:
Финансы
Маркетинг
Два типа пользователей:
Финансы
Маркетинг
В настоящее время:
Пользователь из отдела финансов может создавать или просматривать темы в категории «Финансы», а пользователь из отдела маркетинга — только в категории «Маркетинг».
Новый сценарий использования:
Теперь я хочу внести изменения в права доступа, чтобы разрешить следующее: если пользователь из отдела маркетинга захочет создать тему в категории «Финансы», ему это будет разрешено, но он сможет видеть только темы из категории «Маркетинг» и те темы, которые создал он сам в категории «Финансы».
Поскольку я считаю, что это связано с обходом прав доступа, я размещаю этот вопрос в категории для разработчиков.
Это не так просто реализовать. Разрешения устанавливаются на уровне категорий, а не тем. Они либо могут видеть категорию «Финансы», либо нет. Они не могут видеть только свои посты в категории «Финансы».
Единственный способ реализовать разрешения на уровне тем — использовать личные сообщения (ЛС).
У меня есть ещё одна идея, как это реализовать. А что, если я клонирую тему из одной категории в другую, а когда кто-то ответит на эту клонированную тему, я буду клонировать этот пост обратно в исходную тему?
Я изучил REST API и думаю, что смогу реализовать это с его помощью. Конечно, при этом я, возможно, не смогу указать имя пользователя, который ответил на тему.
Так что, помимо REST API, есть ли в самом Discourse какая-либо конфигурация или плагин, которые могли бы помочь мне это сделать?
Я написал решение для поста по теме из разных категорий и реализовал то же решение, о котором упоминал. Я клонировал тему и её ответы с помощью веб-хука, чтобы клонировать созданные мной посты, и использовал бот-пользователей.
Интересно. Не могли бы вы поделиться кодом?
Так что единственная проблема в том, что пользователи финансовой стороны не видят, кто печатает на стороне маркетинга, и наоборот?