Mejor estrategia para un miembro que quiere "pausar"? Suspender puede no ser la opción

¡Hola! Administro un sitio de membresías que utiliza Discourse para los foros (a través de SSO). En mi sitio principal, los miembros tienen sus propias cuentas, perfiles, etc.

Actualmente, los miembros pueden suspender temporalmente sus perfiles principales, lo cual está bien. Cuando eso ocurre, también ‘suspendo’ sus perfiles de Discourse con este mensaje: “Este miembro ha elegido suspender temporalmente su perfil.”

Pregunta: ¿es esta la mejor manera de manejarlo? ¿Existe algún otro mecanismo para “pausar” una cuenta de Discourse (porque el miembro detrás de ella ha decidido no participar temporalmente)? Actualmente, el mensaje de suspensión aparece en Discourse como una GRAN MARCA ROJA, lo cual definitivamente no debería ser así en este caso; obviamente, la suspensión se diseñó como una función de Discourse para castigar, pero esto no es una situación negativa.

Me encantaría escuchar cualquier opinión, reflexiones generales, ideas o ver algunos GIFs lindos de gatitos…

2 Me gusta

¿Desactivarlos en su lugar? Eso evitará que reciban correos electrónicos. Tendrían que volver a validar sus correos electrónicos para volver a usar el foro. Nota: esto también eliminará sus cuentas después de un período de gracia, pero solo si no tienen ninguna publicación.

4 Me gusta

Estoy abierto a eso; tendré que investigar cómo es ‘Desactivar’, ya que no estoy familiarizado con ello. ¡Gracias por la pista!

(Ojalá hubiera un cuadro comparativo sencillo de ignorar, silenciar, suspender y desactivar. Todos son grados variados de ‘Quiero ver menos de usuario x’, pero hay algunas diferencias sutiles…)

2 Me gusta

Hola @merefield, ¿con “Desactivar” te refieres simplemente a cambiar el valor de “Activo” a falso? No estoy muy claro. Encontré esta publicación de @sam que no incluye un estado de “Desactivado”. :man_shrugging:t2:

Me refiero exactamente a eso, Desactivar:

(Esto es un fragmento de la página de administración de un usuario, accesible solo por un administrador, sospecho).

2 Me gusta

Bueno. No logro entender cómo saber si un usuario está activado o no. Puedo obtener el objeto de usuario (tanto la versión de /users/ como la de /admin/users/) desde la API… así que lo recuperé antes de desactivar un usuario y después, y comparé los dos volcados JSON. ¡No veo ninguna diferencia en los campos que indique el estado de «activación» de un usuario! ¿Me estoy perdiendo algo?!

Usa la consola de Rails. Y asegúrate de guardar el cambio si lo haces mediante código.

Hola, gracias por esta respuesta…

…pero no estoy seguro de qué quieres decir con esto. :slight_smile:

Actualmente estoy activando/desactivando al usuario directamente en su perfil (con mi cuenta de administrador, simplemente haciendo clic en el botón) y luego obtengo el registro completo de /admin/users/ con Insomnia (una herramienta de exploración de API, similar a Postman). Así que estoy viendo el registro JSON crudo del usuario que la API me devuelve.

No estoy seguro de qué me aportaría usar la consola de Rails… ¿o cómo “guardar” cualquier cambio? Cuando hago clic en el botón “Desactivar este usuario” en la pantalla de administración de usuarios, ocurre inmediatamente.

Echa un vistazo a este sitio :slight_smile:

https://meta.discourse.org/search?q=rails%20console

Asumo, por supuesto, que tienes acceso a la terminal? …

Ah, entiendo. Sí, lo hago… pero supongo que todavía no termino de entender cómo usar la consola de Rails (para experimentar con todo esto?) me ayudará aquí. Seguiré buscando más información…

Intenta:

rails c

myUser = User.find_by(username_lower:"---su nombre de usuario---")

Desde el directorio discourse.

exit para… um… salir :slight_smile:

Ten cuidado si es Producción.

Puedes experimentar de forma más segura con :slight_smile:

rails c --sandbox
1 me gusta