В настоящее время в плагине Автоматизация есть скрипт для добавления пользователей в группу на основе пользовательского поля. Нам нужен скрипт, который будет добавлять пользователей в группу при их добавлении в другую группу.
Сценарий следующий: плагин Discourse Experts предполагает, что у вас есть только одна пользовательская группа, обозначенная как «эксперты». Мы запускаем программу амбассадоров и имеем два уровня амбассадоров — оба в данном случае являются «экспертами».
Мы хотим, чтобы любой пользователь, добавленный в группу «Амбассадоры» или «Экспертные амбассадоры», автоматически добавлялся также в пользовательскую группу «Эксперты».
Я отмечаю это, чтобы убедиться, что добавление скрипта автоматизации — это лучший способ решить эту задачу, или же данный функционал должен быть реализован в основном коде групп Discourse.
Я немного поэкспериментировал с этим ради интереса. Это как-то связано с недавней работой, которую я выполнял с Zapier. Можете проигнорировать остальную часть этого сообщения.
Предполагая, что скрипт автоматизации — правильный подход, единственное препятствие заключается в том, что компонент group плагина автоматизации принимает только одну группу. Следовательно, либо компонент group нужно обновить, чтобы он принимал более одной группы, либо необходимо добавить новый компонент groups. Я добавил компонент groups в свою локальную ветку разработки для тестирования. С его помощью:
Добавить пользователя в родительскую группу, если он добавлен в любую из списка подгрупп: