Mensajes de "Usuarios esperando aprobación" después de la migración

Hace unos 8 meses, migré un grupo de Yahoo a una nueva instalación de Discourse descargando archivos .mbox de Yahoo e importándolos a Discourse. La importación salió bien y, aunque la comunidad no es especialmente activa, a los usuarios les parece bien el nuevo formato. Sin embargo, el grupo antiguo existía desde hacía casi 20 años, lo que trae sus propios problemas.

Muchos de los miembros del grupo a lo largo de su historia tienen direcciones de correo electrónico que ya no son válidas (y en algunos casos, han fallecido). Y esto podría ser la razón por la que recibo periódicamente un mensaje del sistema indicando que hay alrededor de 385 usuarios esperando aprobación, como este:


Pero cuando hago clic en el enlace “Por favor, revísalos”, obtengo esto en su lugar:

No es un problema grave, pero resulta algo molesto. ¿Hay alguna forma de solucionarlo?

@tshenry ¿hay alguna forma de eliminarlos desde la línea de comandos?

Hay algunas cosas que puedes hacer aquí. Lo más sencillo sería establecer la siguiente configuración del sitio en -1:

La única desventaja es que no recibirás una notificación si hay usuarios pendientes que han estado esperando durante el número de horas especificado. Siempre y cuando haya alguien disponible habitualmente que pueda aprobar nuevos usuarios, no debería ser un problema.

La alternativa sería eliminar o aprobar los usuarios desde la línea de comandos. Avísame si prefieres alguno de estos enfoques. Puedo prepararte los comandos para cualquiera de ellos.

Creo que aprobarlos en masa podría ser mejor. El sitio no es muy activo, así que no estoy allí todos los días para aprobar nuevos usuarios. Gracias por la ayuda.

¡Genial! Aquí tienes lo que puedes hacer para manejar tu caso específico:

  1. Aprobación o rechazo de cualquier usuario pendiente que esté visible actualmente en tu cola de revisión.

  2. Realiza una copia de seguridad de tu sitio.

  3. Accede a la consola de rails de tu sitio.

    cd /var/discourse
    ./launcher enter app
    rails c
    
  4. Obtén los usuarios que están en un limbo de aprobación.

    pending_users = AdminUserIndexQuery.new(query: 'pending', stats: false).find_users_query
    
  5. Ejecuta lo siguiente para aprobarlos.

    pending_users.each do |u|
      u.approved = true
      u.approved_by = Discourse.system_user
      u.approved_at = Time.zone.now
      u.save!
    end
    

¡Eso debería bastar!

Parece que eso ha funcionado, gracias. Si no es así, lo sabré muy pronto.

Ahora han pasado tres semanas (lo siento) y no he vuelto a ver el mensaje. Sí, esa solución funcionó.

¡Hola!
¿Cuál sería el comando para desaprobar usuarios en masa?
Importé un vBulletin y tengo unos 100 usuarios pendientes, todas cuentas de spam. :slight_smile: