El script 'Añadir usuario a grupo...' tiene una entrada de campo diferente para los dos desencadenantes

Al mirar el script “Añadir usuario a grupo a través de campo personalizado de usuario”, parece haber un pequeño problema. Si se selecciona el disparador “Primera vez que el usuario inicia sesión”, el campo de entrada “Nombre del campo personalizado de usuario” debe establecerse en el nombre del campo de usuario, por ejemplo, “Idioma nativo”. Pero si se selecciona el disparador “Recurrente”, el campo de entrada “Nombre del campo personalizado de usuario” debe establecerse en función del id del campo de usuario. Por ejemplo, “user_field_5”.

Los detalles sobre cómo encontrar el nombre para cuando se utiliza el disparador “Recurrente” se encuentran aquí: Finding Userfield Custom Name for 'Add user to group through User Custom Field' - #2 by leonardo.

Idealmente, el nombre amigable (por ejemplo, “Idioma nativo”) se utilizaría como el valor correcto para ambos disparadores disponibles. El código relevante se encuentra aquí: https://github.com/discourse/discourse-automation/blob/main/lib/discourse_automation/scripts/add_user_to_group_through_custom_field.rb. La forma en que el disparador “Primera vez que el usuario inicia sesión” encuentra el campo personalizado de usuario correcto a partir del nombre del campo (en lugar del id) se encuentra aquí:

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

Quizás haya una forma compatible con versiones anteriores en la que esa lógica podría aplicarse al disparador “Recurrente”.

3 Me gusta

Solo para que conste, esto se menciona en el tutorial:

He mencionado la posibilidad de rehacer el script para que sea coherente, aunque aún no se ha priorizado. También están las configuraciones de administrador public user custom fields (campos personalizados de usuario públicos) y staff user custom fields (campos personalizados de usuario del personal) que sería bueno alinear con él.

(Y también está poll groupable user fields (campos agrupables de encuestas para usuarios), que utiliza el ‘nombre amigable’)

4 Me gusta

Aquí tienes una PR para solucionar el problema:

2 Me gusta

Esto se ha resuelto con un nuevo menú desplegable para seleccionar sus campos personalizados de usuario existentes, lo que funciona para ambos desencadenadores: :partying_face:

2 Me gusta