Adicionar script para adicionar usuário ao grupo de usuários

Além do tópico que @JammyDodger linkou, houve algumas outras solicitações de funcionalidade semelhante

Também houve solicitações para poder exibir grupos de forma hierárquica:

Estou anotando isso apenas para ter certeza de que adicionar um script de Automação é a melhor maneira de lidar com isso, ou se é uma funcionalidade que deve ser adicionada ao código principal de grupos do Discourse.

Eu tenho mexido nisso por diversão. Está meio que relacionado a um trabalho recente que tenho feito com o Zapier. Sinta-se à vontade para ignorar o resto desta postagem.

Assumindo que um script de Automação é a abordagem correta, o único obstáculo é que o componente group do plugin de Automação aceita apenas um único grupo. Portanto, o componente group precisa ser atualizado para aceitar mais de um grupo, ou um novo componente groups precisa ser adicionado. Adicionei um componente groups ao meu branch de desenvolvimento local para testá-lo. Com isso implementado:

Adicionar um usuário a um grupo pai quando ele é adicionado a qualquer um de uma lista de subgrupos:

Remover um usuário de um grupo pai se ele foi removido de todos os subgrupos listados:

Se ajudar, os gatilhos e scripts estão em um plugin: automation-script-example/plugin.rb at main · scossar/automation-script-example · GitHub. Observe que este código assume que um componente groups foi adicionado a https://github.com/discourse/discourse-automation/tree/main/assets/javascripts/discourse/components/fields.

4 curtidas