El propietario del grupo no puede agregar miembros a un grupo

Estoy bastante seguro de que esto solía funcionar.

Comportamiento esperado
Los propietarios del grupo pueden agregar miembros al grupo usando el modal “Agregar miembros”.

Comportamiento observado
Los propietarios del grupo ven el modal “Agregar miembros”, pero al intentar enviarlo, reciben un error 403 (prohibido).

Observado en dos sitios diferentes.

Aquí tienes una captura de pantalla:

5 Me gusta

Todavía funciona en 2.7.0.beta9 ( 4a2912233c )

3 Me gusta

Acabo de extraer el último código de GitHub y volver a probarlo. Confirmado que está roto. Pasos para reproducir:

  1. Crear un nuevo usuario; este usuario no debe ser moderador ni administrador.
  2. Crear un nuevo grupo con la siguiente configuración: Permitir que los usuarios abandonen el grupo libremente=True, Permitir que los usuarios envíen solicitudes de membresía a los propietarios del grupo=True, ¿Quién puede ver este grupo?=Todos, ¿Quién puede ver los miembros de este grupo?=Todos, ¿Quién puede mencionar (@mention) a este grupo?=Solo moderadores y administradores, ¿Quién puede enviar mensajes a este grupo?=Solo moderadores y administradores.
  3. Establecer al usuario como propietario del grupo.
  4. Iniciar sesión como propietario del grupo e intentar agregar a un usuario diferente al grupo.
5 Me gusta

Asumo que el usuario es TL2 o superior, ¿verdad?

4 Me gusta

He logrado resolver esto.

Aquí está la línea que estaba causando problemas: discourse/app/controllers/groups_controller.rb at e2e13a70f63605b92b4e521cc9f818061c1ccfb6 · discourse/discourse · GitHub

@Benjamin_D lo tenía correcto. Es un problema de nivel de confianza (TL).

Existe una configuración del sitio llamada min_trust_level_to_allow_invite, que estaba establecida en TL2, mientras que el propietario del grupo tenía TL1.

¿Se debería permitir que un propietario de grupo invite usuarios sin cumplir con el requisito de nivel de confianza? Parece confuso.

10 Me gusta

:pensando: tienes razón, supongo que debería ser así. ¿O quizás no debería ser propietario si no cumple con los criterios de nivel de confianza?

6 Me gusta

Eso también tendría sentido.

O incluso simplemente agregar un error más específico para esto.
Por ejemplo, en lugar de generar el error InvalidAccess con el mensaje (en): You are not permitted to view the requested resource.

Crear un error InsufficientTrustLevel (quizás como subclase de InvalidAccess) con un mensaje (en): You do not have the required trust level to view the requeted resource. Al menos así los administradores sabrán que es un problema de nivel de confianza y no un error.

Algunas notas sobre dónde se define esto en la base de código:

Puedo crear una PR para eso si parece ser el camino a seguir.

7 Me gusta

Aunque coincido en que necesitamos un mensaje de error mejor aquí, en realidad creo que hemos retrocedido.

El rol del propietario de un grupo es gestionar la membresía de su grupo. Si no pueden invitar o agregar usuarios a su grupo, entonces la función está medio rota…

@dan, ¿puedes agregar eso a tu lista?

9 Me gusta

¡Excelente trabajo de investigación, a todos!

Puede que me equivoque, pero creo que esta situación ha surgido como parte del trabajo que estamos realizando para mejorar el sistema de invitaciones. Estamos normalizando las invitaciones para que todas utilicen el mismo sistema y separando las funciones relacionadas con los usuarios existentes. Recientemente, lo modificamos para notificar a los usuarios existentes sobre los temas a través del botón de compartir en el menú del tema, de forma independiente a invitar a nuevos usuarios a unirse al sitio y contribuir al tema.

Queremos hacer lo mismo para los grupos; ya está en nuestra lista de tareas, pero ahora supongo que se ha vuelto más urgente si significa que no es posible agregar a alguien a un grupo si no tienes el nivel de confianza (TL) suficiente para invitar a nuevos usuarios al sitio.

7 Me gusta

Ese límite tiene sentido al invitar correos electrónicos a grupos. Sin embargo, no tiene sentido al invitar a usuarios existentes. He solucionado este problema en:

Esto solucionará el problema por ahora, pero esperamos reformular esta área.

8 Me gusta

Este tema se cerró automáticamente después de 2 días. Ya no se permiten nuevas respuestas.