‘Add user to group….’ 脚本对于两个触发器有不同的字段输入

查看“通过用户自定义字段将用户添加到组”脚本,似乎存在一些问题。如果选择了“用户首次登录”触发器,则“用户自定义字段名称”输入应设置为用户字段的_名称_,例如“母语”。但是,如果选择了“定期”触发器,“用户自定义字段名称”输入需要根据用户字段的 id 来设置。例如“user_field_5”。

有关查找用于“定期”触发器的名称的详细信息,请参见此处:Finding Userfield Custom Name for 'Add user to group through User Custom Field' - #2 by leonardo

理想情况下,友好名称(例如“母语”)将用作两个可用触发器的正确值。相关代码在此处:https://github.com/discourse/discourse-automation/blob/main/lib/discourse_automation/scripts/add_user_to_group_through_custom_field.rb。 “用户首次登录”触发器根据字段名称(而不是 id)查找正确的用户自定义字段的逻辑在此处:

https://github.com/discourse/discourse-automation/blob/main/lib/discourse_automation/scripts/add_user_to_group_through_custom_field.rb#L54-L67

也许有一种向后兼容的方法可以将该逻辑应用于“定期”触发器。

3 个赞

请注意,这在演练中已提到:

我已经提到要重写脚本以保持一致性,尽管这尚未被优先处理。还有 public user custom fields(公共用户自定义字段)和 staff user custom fields(员工用户自定义字段)管理员设置,也希望与之保持一致。

(还有 poll groupable user fields(投票可分组用户字段),它使用了“友好名称”)

4 个赞

这是修复此问题的 PR:

2 个赞

这已通过新的下拉菜单得到解决,您可以从中选择现有的用户自定义字段,该字段适用于两种触发器::partying_face:

2 个赞