La notificación reclama X usuarios para aprobación, pero no se encuentra ninguno

Parece un error, pero no puedo ver cómo reproducirlo.

Recibo una notificación de MP (mensaje privado) que dice:

Pero cuando hago clic en el enlace de revisión, no hay usuarios pendientes. En /admin/users veo algunos usuarios que no han validado sus direcciones de correo electrónico.

No puedo decir si la notificación está produciendo el número incorrecto, o si de alguna manera existen usuarios esperando aprobación que no aparecen al buscarlos, o si de alguna manera los usuarios que no han validado su correo electrónico se cuentan como pendientes para las notificaciones pero no para la aprobación.

3 Me gusta

No ser la Sra. Obvia, pero ¿está allow_new_registrations desmarcada por casualidad? Claramente tienes habilitada la configuración must_approve_users y no estoy segura de cómo se ve afectada si el registro está deshabilitado. :thinking: Pensaría que la configuración de registro anularía cualquier creación de cuenta y la deshabilitaría. No, eso tampoco tiene sentido…

[cita=“Lilly, post:2, topic:262853, username:Lilly”]
¿Por casualidad allow_new_registrations no está desmarcado?
[/cita]

Es casi seguro que es algo obvio, así que agradezco tu ayuda.

Sí, ambos están marcados. Algunas personas se están registrando y siendo aprobadas. Es solo que el número que se dice que está esperando no coincide con el número que se dice en la notificación. Me dijo 5, y solo había habido 2 en los últimos días.

1 me gusta

muy extraño de hecho. suena como si algo en el registro de usuario fuera rechazado después de que se envía la solicitud de aprobación (contada) para su revisión…

3 Me gusta

¿Hay usuarios revisados cuando muestras todos los elementos revisados, o tal vez desde los registros del personal? :person_shrugging:

A menudo recibo mensajes privados/recordatorios de elementos revisables que ya están revisados, por lo que no aparece nada.

Asumí que el problema era que alguien más aprobaba a los usuarios antes de que yo (o el propietario del sitio) llegara a ellos, pero no puedo hacer que los números cuadren de esa manera).

¿Puede un usuario eliminar su cuenta antes de que se apruebe su registro?

¿Quizás? No lo creo, ya que necesitarían iniciar sesión para hacerlo y no pueden iniciar sesión hasta que sean aprobados (pero no revisé el código ni nada parecido).

Encontré este tema mientras buscaba antes de enviar un informe de error, así que lo agrego.

Resumen: la consulta para la notificación es incorrecta porque también cuenta a los usuarios rechazados.

Notificación: 16 usuarios esperando aprobación, haz clic en el enlace, solo ves 2.

La consulta utilizada para la notificación es esta

puts AdminUserIndexQuery.new(query: "pending", stats: false).find_users_query.to_sql

SELECT "users".* FROM "users"
WHERE (suspended_till IS NULL OR suspended_till <= '2023-11-13 11:05:23.225614')
AND "users"."approved" = FALSE
AND "users"."active" = TRUE
ORDER BY users.created_at DESC,users.username

que, en mi caso, me da 16 usuarios

[4479, 4472, 4456, 4446, 4443, 4430, 4302, 4291, 4206, 4199, 4178, 4168, 4131, 4061, 3677, 3642]

Al lanzar estos IDs en la cola de Revisables, obtengo 2 usuarios que realmente necesitan ser aprobados (estado 0) y 14 usuarios que ya han sido rechazados (estado 2)

ReviewableUser.where(type: 'ReviewableUser')
  .where(target_id: ids)
  .pluck(:target_id, :status)

[[3642, 2], [3677, 2], [4061, 2], [4131, 2], [4168, 2],
[4178, 2], [4199, 2], [4206, 2], [4291, 2], [4302, 2],
[4430, 2], [4443, 2], [4446, 2], [4456, 2], [4472, 0], [4479, 0]]
2 Me gusta

Alguien se quejó de esto hoy. Antes de encontrar todo esto, “resolví” el problema algo así:

malos=Usuario.donde(aprobado: falso);
malos.cada uno |usuario| pone "https://community.open-emr.org/admin/users/#{usuario.id}/#{usuario.username}"; fin;

Esto imprime las URL de administrador para todos los usuarios para que puedas aprobarlos o eliminarlos allí, creo.

Así que supongo que esto sigue siendo un error.

Oh, y entonces:

ids=malos.pluck(:id);
UsuarioRevisable.donde(tipo: 'UsuarioRevisable')
  .donde(id_objetivo: ids)
  .pluck(:id_objetivo, :estado)

Ahora devuelve algo como esto:

=> [[4610, "rechazado"], [4527, "rechazado"], [4643, "rechazado"], [4648, "rechazado"]]

¿Quizás esos necesiten ser eliminados de UsuarioRevisable?

¿O tal vez solo eliminar a los usuarios?

2 Me gusta

Como moderador (no administrador), pude listar a los usuarios rechazados en la Cola de Revisión sin filtrar. Pero no encontrarlos en la sección de Usuarios ni acceder al editor de usuarios para usuarios rechazados desde la Cola de Revisión.

Estos son los parámetros del Filtro utilizados para la cola de Revisión para
https://gramps.discourse.group/review?additional_filters={}&sort_order=score&status=rejected&type=ReviewableUser

Por lo tanto, los moderadores deben poder encontrar usuarios “Rechazados” y con estado de aprobación “No” en las pestañas de Usuario o poder navegar al editor de usuarios desde la Cola de Revisión.

1 me gusta