Melhor estratégia para membro que quer "pausar"? Suspender pode não ser a solução

Ei, eu administro um site de membros que usa o Discourse para os fóruns (via SSO). No meu site principal, os membros têm suas próprias contas, perfis, etc.

Atualmente, os membros podem suspender temporariamente seus perfis principais, o que está tudo bem. Quando isso acontece, eu também ‘suspendo’ os perfis deles no Discourse, com esta mensagem: “Este membro escolheu suspender temporariamente seu perfil.”

Pergunta: essa é a melhor maneira de lidar com isso? Existe algum outro mecanismo para “pausar” uma conta no Discourse (porque o membro por trás dela escolheu não interagir temporariamente)? Atualmente, a mensagem de suspensão aparece no Discourse como um GRANDE MARCO VERMELHO, o que definitivamente não deveria ser o caso; obviamente, a Suspensão foi criada como um recurso do Discourse para punição, mas isso não é uma situação negativa.

Adoraria ouvir qualquer pensamento, reflexões gerais, ideias, ver alguns GIFs fofos de gatinhos…

2 curtidas

Desativá-los em vez disso? Isso impedirá que recebam e-mails. Eles precisarão revalidar seus e-mails para voltar a usar o fórum. Observação: isso também excluirá suas contas após um período de carência, mas apenas se não tiverem nenhuma postagem.

4 curtidas

Eu estou aberto a isso – terei que pesquisar como é a opção ‘Desativar’, pois não estou familiarizado com ela. Obrigado pela dica!

(Ou seja, gostaria que houvesse um quadro comparativo simples entre ignorar, silenciar, suspender e desativar. Todos são graus variados de ‘quero ver menos do usuário x’, mas há algumas nuances…)

2 curtidas

Olá @merefield, ao dizer “Desativar”, você quer dizer apenas alterar o valor de “Ativo” para falso? Não estou muito claro sobre isso. Encontrei esta postagem do @sam, que não inclui um estado “Desativado”. :man_shrugging:t2:

É exatamente isso, Desativar:

(isso é um trecho da página de administração de um usuário, acessível apenas por um administrador, suspeito).

2 curtidas

Então. Não consigo descobrir como verificar se um usuário está ativado ou não. Consigo obter o objeto de usuário (tanto a versão /users/ quanto a /admin/users/) via API… então capturei os dados antes e depois de desativar um usuário e comparei os dois dumps JSON. Não há diferença nos campos que indiquem o status de “ativação” do usuário que eu consiga ver! Estou perdendo algo?!

Use o console do Rails. E certifique-se de salvar a alteração se estiver fazendo isso por código.

Oi, obrigado pela resposta…

…mas não tenho certeza do que você quis dizer com isso. :slight_smile:

Atualmente, estou ativando/desativando o usuário diretamente no perfil do usuário (com minha conta de administrador, apenas clicando no botão) e, em seguida, busco o registro completo de /admin/users/ com o Insomnia (uma ferramenta de exploração de API, semelhante ao Postman). Assim, vejo o registro JSON bruto do usuário que a API está retornando para mim.

Não tenho certeza do que usar o console do Rails me ajudaria --? Ou como “salvar” qualquer alteração? Quando clico no botão “Desativar este usuário” na tela de administração de usuários, a ação ocorre imediatamente.

Dê uma olhada neste site :slight_smile:

https://meta.discourse.org/search?q=rails%20console

Claro, estou assumindo que você tem acesso ao terminal? …

Ah, entendi. Sim, eu tenho… mas acho que ainda não estou entendendo como usar o console do Rails (para brincar com tudo isso?) vai me ajudar aqui. Vou dar uma olhada mais…

Tente:

rails c

myUser = User.find_by(username_lower:"---seu nome de usuário---")

Do diretório discourse.

exit para … hum … sair :slight_smile:

Cuidado se for Produção, porém.

Você pode brincar de forma mais segura com :slight_smile:

rails c --sandbox
1 curtida