Как работает скрипт «Добавить пользователя в группу через пользовательское поле пользователя» (от @leonardo)?
Я не могу заставить его работать, несмотря на несколько попыток и попытки разобраться в коде. Но это было бы действительно полезно!
Как работает скрипт «Добавить пользователя в группу через пользовательское поле пользователя» (от @leonardo)?
Я не могу заставить его работать, несмотря на несколько попыток и попытки разобраться в коде. Но это было бы действительно полезно!
Привет, Нейтан!
Этот скрипт предназначен для довольно специфичного случая, когда нужно убедиться, что пользователи относятся к определённой группе на основе пользовательского поля, которое они заполнили при регистрации.
Допустим, пользовательское поле — это «любимая футбольная команда», и оно содержит список вариантов. Скрипт выполняется по повторяющемуся триггеру, поэтому пользователи в конечном итоге попадут в группу, полное имя (full name, а не просто name) которой совпадает с выбранным ими значением, если такая группа существует.
Вы можете посмотреть тесты, чтобы увидеть несколько синтетических примеров: https://github.com/discourse/discourse-automation/blob/main/spec/scripts/add_user_to_group_through_custom_field_spec.rb
Отлично! Это сработает и для полей пользователей с множественным выбором? Это может быть именно то, что я ищу.
Это имеет смысл только для полей пользователя типа «Выпадающий список», так как «Множественный выбор» позволяет выбирать несколько значений, а скрипт не поддерживает несколько групп в качестве цели. Это возможно, но немного усложнит логику. PR приветствуются ![]()
Важно: никогда не используйте это с текстовым полем пользователя, так как пользователи смогут выбирать любую группу для добавления. На данный момент «Выпадающий список» — единственный разумный вариант.