Eliminar Usuario con su validación por DNI


#1

Hola community!
Para poder eliminar un usuario con la cuenta admin ¿sería posible?

Estoy viendo que si un usuario sigue estos pasos:

  • valida su cuenta
  • luego se da de baja
  • El usuario no puede acceder y tiene que volver a registrase. Es correcto. Pero su DNI de validación no se borra.
  • por lo tanto si el mismo usuario se arrepiente y vuelve a registrarse con su DNI no le dejará.

Alguna forma de borrar su “validación” de la BBDD para que pueda registrarse de forma correcta.

Gracias de antemano.


#2

Hola @antonio,

Aquí te explico como borrar esa validación en consola. Lo único que hay que borrar es su DNI (para evitar el error de que está duplicado). Puedes hacerlo siguiendo estos pasos:

  1. Abres la consola de rails con bin/rails console
  2. Buscas al usuario con u = User.where(document_number: "12345678Z").first
  3. Actualizas ese valor a nil con u.document_number = nil
  4. Imprimes en consola la información para ver que el cambio es correcto pp u

Hecho esto para ese usuario debería aparecer el campo como document_number: nil. De esta manera el usuario podría crear otra cuenta usando su DNI de nuevo.

Recuerda que esto es algo delicado y que el no eliminar su documento se hace por seguridad, para que un usuario no vaya eliminando/creando varias cuentas (aunque cuando se da de baja desaparece toda su actividad).

Como recomendación estaría bien hacer siempre una comprobación extra. Haciendo que la persona que quiere volver a registrarse contacte con los administradores para verificar su identidad. :slight_smile:

¡Saludos!


#3

Hola @decabeza,

Muchas gracias por la respuesta. Acabo de realizar los pasos que me comentas y no se me elimina el dni.

  • Me localiza el usuario correctamente y me aparece los datos modo SELECT
  • aplico el u.document_number = nil : irb(main):038:0> u.document_number = nil => nil
  • Meto pp u y me sigue apareciendo el usuario.

Alguna cosa que me puede faltar para eliminar el dni completamente?. Sí, entiendo que se trata por motivos de seguridad pero estaba haciendo pruebas en PRE y quiero borrar algún usuario.

Gracias.


#4

Hola @antonio,

Efectivamente al hacer pp u el usuario seguirá saliendo, pero lo que tienes que comprobar es que el campo document_number tenga el valor nil, así el usuario podría crearse otra cuenta y usar el DNI eliminado evitando el error de “Este documento ya está en uso”.

:slight_smile:


#5

Muchas gracias @decabeza ,
Solo me faltaba poner el u.save para guardar los cambios y ahora si deja validar otra vez el dni para el usuario que procedió darse de baja.