Skript hinzufügen, um Benutzer zur Benutzergruppe hinzuzufügen

Abgesehen von dem Thema, das @JammyDodger verlinkt hat, gab es ein paar weitere Anfragen nach ähnlicher Funktionalität

Es gab auch Anfragen, Gruppen hierarchisch darstellen zu können:

Ich notiere dies nur, um sicherzustellen, dass das Hinzufügen eines Automatisierungsskripts der beste Weg ist, dies zu behandeln, oder ob es sich um eine Funktionalität handelt, die dem Kerncode der Discourse-Gruppen hinzugefügt werden sollte.

Ich habe damit zum Spaß herumgespielt. Es hängt irgendwie mit einigen meiner letzten Arbeiten mit Zapier zusammen. Fühlen Sie sich frei, den Rest dieses Beitrags zu ignorieren.

Unter der Annahme, dass ein Automatisierungsskript der richtige Ansatz ist, ist das einzige Hindernis, dass die group-Komponente des Automatisierungs-Plugins nur eine einzige Gruppe akzeptiert. Entweder muss die group-Komponente aktualisiert werden, um mehr als eine Gruppe zu akzeptieren, oder es muss eine neue groups-Komponente hinzugefügt werden. Ich habe eine groups-Komponente zu meinem lokalen Entwicklungszweig hinzugefügt, um sie zu testen. Mit dieser im Platz:

Fügen Sie einen Benutzer zu einer übergeordneten Gruppe hinzu, wenn er zu einer beliebigen Untergruppe aus einer Liste hinzugefügt wird:

Entfernen Sie einen Benutzer aus einer übergeordneten Gruppe, wenn er aus allen aufgeführten Untergruppen entfernt wurde:

Wenn es hilft, sind die Trigger und Skripte in einem Plugin: automation-script-example/plugin.rb at main · scossar/automation-script-example · GitHub. Beachten Sie, dass dieser Code davon ausgeht, dass eine groups-Komponente zu https://github.com/discourse/discourse-automation/tree/main/assets/javascripts/discourse/components/fields hinzugefügt wurde.

4 „Gefällt mir“