Mantengo un foro para empleados donde queremos desactivar el acceso a usuarios específicos sin enviarles un correo electrónico. La forma en que hemos estado desactivando el acceso es suspendiendo sus cuentas. Cuando suspendemos una cuenta, el usuario recibe un correo electrónico con el motivo de la suspensión. Preferiríamos no molestar a la persona con un correo.
He intentado primero desactivar una cuenta de prueba antes de suspenderla, pero aún se envía un correo.
Nota: cuando suspendo un usuario, no relleno el campo “Mensaje por correo electrónico” con nada.
¿Existe alguna forma de desactivar el acceso a Discourse sin enviar un correo al usuario?
Aquí tienes el código para ejecutarlo en la consola de Rails:
./launcher enter app
rails c
username = "nombre-de-usuario-a-suspender"
admin_username = "nombre-de-usuario-admin"
reason = "motivo de la suspensión"
till = Time.at(33174889200)
u = User.find_by_username(username)
puts "no se pudo encontrar al usuario llamado #{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
Sé cómo hacerlo en la consola de Rails, pero ¿hay alguna manera de hacerlo en la interfaz web? Veo la opción de editar su correo electrónico en su perfil, pero parece que requiere que el correo electrónico esté verificado para que surta efecto.
Tienes razón, acabo de probarlo. Y desactivar el correo electrónico del usuario tampoco evita que se envíe. Podría haber jurado que en versiones anteriores no se enviaba ningún correo a menos que se añadiera el mensaje opcional.