Ajouter la prise en charge des champs multi-sélections dans le protocole DiscourseConnect

Continuant la discussion de Champ personnalisé dans DiscourseConnect :

Bien que les administrateurs de site puissent créer des champs à sélection multiple dans Admin → Personnaliser → Champs utilisateur dans Discourse, il n’est pas possible pour le moment de remplir ces champs avec plusieurs valeurs via une charge utile DiscourseConnect.

Le plan est d’ajouter la prise en charge des paramètres de tableau dans la charge utile SSO comme suit :

custom.user_field_1[]=valueA&custom.user_field_1[]=valueB

Cela fonctionne presque, mais est brouillé par cette ligne :

Array.to_s signifie qu’il est stocké comme

 ['valueA', 'valueB'].to_s
=> "[\\\"valueA\\\", \\\"valueB\\\"]"

Restreindre les valeurs stockées aux options existantes dans l’écran d’administration de Discourse n’est pas nécessaire.

4 « J'aime »

J’adore la syntaxe proposée ici :hugs: allez-y et apportez la modification pour ajouter la prise en charge des tableaux.

3 « J'aime »