Eu mantenho um fórum para funcionários onde queremos desabilitar o acesso de usuários específicos sem enviar e-mails para eles. O método que temos usado para desabilitar o acesso é suspender a conta deles. Quando suspendemos a conta, o usuário recebe um e-mail com o motivo da suspensão. Preferiríamos muito não incomodar a pessoa com um e-mail.
Tentei primeiro desativar uma conta de teste antes de suspendê-la, mas um e-mail ainda é enviado.
Nota: quando suspendo um usuário, não preencho o campo “Mensagem por e-mail” com nada.
Existe alguma maneira de desabilitar o acesso ao Discourse sem enviar um e-mail ao usuário?
Aqui está um código que fará isso no console do Rails:
./launcher enter app
rails c
username = "user-to-suspend-username"
admin_username = "admin-username"
reason = "motivo da suspensão"
till = Time.at(33174889200)
u = User.find_by_username(username)
puts "não foi possível encontrar o usuário com o nome #{username}" unless u
if u and !u.suspended?
u.suspended_till = till
u.suspended_at = DateTime.now
User.transaction do
u.save!
admin = User.find_by_username(admin_username)
StaffActionLogger.new(admin).log_user_suspend(
u,
reason
)
end
u.logged_out
end
Sei como fazer isso no console do Rails, mas existe uma maneira de fazer isso na interface web? Vejo a opção de editar o e-mail no perfil dela, mas parece que é necessário que o e-mail seja verificado antes que a alteração surta efeito.
Você tem razão, acabei de testar isso. E desativar o e-mail do usuário também não impede que o e-mail seja enviado. Eu poderia jurar que, em versões anteriores, nenhum e-mail era enviado a menos que a mensagem opcional fosse adicionada.