Aggiungi script per aggiungere l'utente al gruppo di utenti

Oltre all’argomento collegato da @JammyDodger, ci sono state altre richieste per funzionalità simili

Ci sono state anche richieste per poter visualizzare i gruppi in modo gerarchico:

Sto annotando questo solo per assicurarmi che l’aggiunta di uno script di automazione sia il modo migliore per affrontare questo problema, o se si tratta di una funzionalità che dovrebbe essere aggiunta al codice principale dei gruppi di Discourse.

Ho armeggiato con questo per divertimento. È in qualche modo correlato ad alcuni lavori recenti che ho svolto con Zapier. Sentiti libero di ignorare il resto di questo post.

Supponendo che uno script di automazione sia l’approccio giusto, l’unico ostacolo è che il componente group del plugin di automazione accetta solo un singolo gruppo. Quindi, o il componente group deve essere aggiornato per accettare più di un gruppo, o deve essere aggiunto un nuovo componente groups. Ho aggiunto un componente groups al mio branch di sviluppo locale per testarlo. Con questo in atto:

Aggiungi un utente a un gruppo padre quando viene aggiunto a uno qualsiasi di un elenco di sottogruppi:

Rimuovi un utente da un gruppo padre se è stato rimosso da tutti i sottogruppi elencati:

Se può essere d’aiuto, i trigger e gli script sono in un plugin: automation-script-example/plugin.rb at main · scossar/automation-script-example · GitHub. Nota che questo codice presuppone che un componente groups sia stato aggiunto a https://github.com/discourse/discourse-automation/tree/main/assets/javascripts/discourse/components/fields.

4 Mi Piace