Componente de tema para ocultar tópicos se o usuário estiver em um determinado grupo

Esqueci de mencionar, ainda queremos permitir que eles vejam um tópico em seus “Mais Recentes” - os Termos de Serviço atualizados.

Eu também não gosto muito, mas é o melhor que consigo pensar. O objetivo é fazer com que todos os usuários assinem os ToS atualizados, com importância maior que o normal. Houve uma discussão em How to force existing users to accept ToS que talvez o Discourse Policy pudesse ajudar. Mas o Policy não impõe nada, e por causa da importância dos novos ToS, queremos algo mais do que uma bolha azul para incomodar os usuários. Desenvolvemos um plugin há alguns anos para adicionar membros a um grupo quando eles aceitavam uma política, e isso funcionou para algumas coisas, mas não consigo ver como fazer isso funcionar para este caso.

Já temos um conjunto bastante elaborado de grupos e categorias, então não podemos simplesmente alterar as permissões de cada categoria de “todos” para “tos-acceptors”. Se as permissões de categoria suportassem lógica booleana, talvez pudéssemos alterar as permissões para permitir apenas usuários que são membros de ambos os grupos ‘premium-group’ e ‘tos-acceptors’. Mas não suporta isso.

Não tenho uma opinião forte sobre como incomodá-los. Se houvesse alguma imposição integrada do Discourse Policy, eu a usaria. Mas precisamos de mais do que uma bolha azul neste caso.

Também considerei brevemente redirecioná-los com um link permanente se eles não forem membros de ‘tos-acceptors’. Essa ainda é uma opção se pudermos obter o ID do usuário ou nome de usuário anexado à URL do link permanente como parâmetros de consulta. Se os redirecionarmos para um Docusign ou algo assim, eu poderia configurar um webhook para adicioná-los ao grupo ‘tos-acceptors’ para que parem de ser redirecionados. Isso parece um plano melhor?

1 curtida