Ajouter un script pour ajouter un utilisateur au groupe d'utilisateurs

Il existe actuellement un script dans le plugin Automation pour ajouter des utilisateurs à un groupe en fonction d’un champ personnalisé. Nous souhaiterions un script pour ajouter des utilisateurs à un groupe lorsqu’ils sont ajoutés à un autre groupe.

Le scénario est le suivant : le plugin Discourse Experts exige que vous n’ayez qu’un seul groupe d’utilisateurs désigné pour les « experts ». Nous gérons un programme d’ambassadeurs et avons deux niveaux d’ambassadeurs, tous deux étant des « experts » dans ce cas.

Nous aimerions dire que toute personne ajoutée à « Ambassadeurs » ou « Ambassadeurs Experts » est également ajoutée au groupe d’utilisateurs « Experts ».

5 « J'aime »

Si vous êtes prêt à sponsoriser cela, je ne vois pas cela comme trop compliqué, nous pouvons chiffrer le travail. Contactez team.

2 « J'aime »

Également demandé dans :

2 « J'aime »

Outre le sujet auquel @JammyDodger a lié, il y a eu quelques autres demandes pour des fonctionnalités similaires

Il y a également eu des demandes pour pouvoir afficher les groupes de manière hiérarchique :

Je note cela juste pour m’assurer que l’ajout d’un script d’automatisation est la meilleure façon de gérer cela, ou s’il s’agit d’une fonctionnalité qui devrait être ajoutée au code de base des groupes Discourse.

J’ai bricolé cela pour le plaisir. C’est un peu lié à un travail récent que j’ai fait avec Zapier. N’hésitez pas à ignorer le reste de ce message.

En supposant qu’un script d’automatisation est la bonne approche, le seul obstacle est que le composant group du plugin d’automatisation n’accepte qu’un seul groupe. Le composant group doit donc être mis à jour pour accepter plus d’un groupe, ou un nouveau composant groups doit être ajouté. J’ai ajouté un composant groups à ma branche de développement locale pour tester. Avec cela en place :

Ajouter un utilisateur à un groupe parent lorsqu’il est ajouté à l’un des sous-groupes listés :

Supprimer un utilisateur d’un groupe parent s’il a été supprimé de tous les sous-groupes listés :

Si cela peut aider, les déclencheurs et les scripts sont dans un plugin : automation-script-example/plugin.rb at main · scossar/automation-script-example · GitHub. Notez que ce code suppose qu’un composant groups a été ajouté à https://github.com/discourse/discourse-automation/tree/main/assets/javascripts/discourse/components/fields.

4 « J'aime »

Ce plugin couvre désormais cette fonctionnalité :