Proprietário do grupo não pode adicionar membros a um grupo

Tenho quase certeza de que isso costumava funcionar.

Comportamento Esperado
Os proprietários do grupo podem adicionar membros ao grupo usando o modal “adicionar membros”.

Comportamento Observado
Os proprietários do grupo veem o modal “adicionar membros”, mas ao tentar enviá-lo, recebem um erro 403 (proibido).

Observado em dois sites separados.

Aqui está uma captura de tela para você:

5 curtidas

Ainda está funcionando na versão 2.7.0.beta9 ( 4a2912233c )

3 curtidas

Acabei de puxar o código mais recente do GitHub e retestei. Confirmado que está quebrado. Passos para reproduzir:

  1. Crie um novo usuário; este usuário não deve ser moderador nem administrador.
  2. Crie um novo grupo com as seguintes configurações: Allow users to leave the group freely=True, Allow users to send membership requests to group owners=True, Who can see this group?=Everyone, Who can see this group's members?=Everyone, Who can @mention this group?=Only moderators and admins, Who can message this group?=Only moderators and admins.
  3. Defina o usuário como proprietário do grupo.
  4. Enquanto estiver logado como proprietário do grupo, tente adicionar um usuário diferente ao grupo.
5 curtidas

Assumo que o usuário seja TL2 ou >?

4 curtidas

Consegui resolver isso.

Aqui está a linha que estava causando problemas: discourse/app/controllers/groups_controller.rb at e2e13a70f63605b92b4e521cc9f818061c1ccfb6 · discourse/discourse · GitHub

@Benjamin_D acertou. É um problema de nível de confiança (TL).

Existe uma configuração do site min_trust_level_to_allow_invite, que estava definida como TL2, enquanto o proprietário do grupo tinha TL1.

Será que um proprietário de grupo deve poder convidar usuários para o grupo sem atender ao requisito de nível de confiança? Parece confuso.

10 curtidas

:thinking: você tem razão, acho que ele deveria? Ou talvez ele não deveria ser proprietário se não atender aos critérios de NL?

6 curtidas

Isso também faria sentido.

Ou até mesmo apenas adicionar uma mensagem de erro mais específica a isso.
Por exemplo, em vez de lançar o erro InvalidAccess com a mensagem (em inglês): You are not permitted to view the requested resource.

Criar um erro InsufficientTrustLevel (talvez como uma subclasse de InvalidAccess) com uma mensagem (em inglês): You do not have the required trust level to view the requeted resource. Pelo menos assim os administradores saberão que se trata de um problema de Nível de Confiança (TL) e não de um bug.

Algumas notas sobre onde essas coisas são definidas na base de código:

Posso criar um PR para isso se parecer ser o caminho a seguir.

7 curtidas

Embora eu concorde que precisamos de uma mensagem de erro melhor aqui, na verdade acho que regredimos.

A função do proprietário de um grupo é gerenciar a participação de seus membros. Se ele não puder convidar/adicionar usuários ao grupo, a funcionalidade está pela metade…

@dan, você pode adicionar isso à sua lista?

9 curtidas

Ótimo trabalho de detetive, pessoal!

Posso estar errado, mas acho que essa situação surgiu como parte do trabalho que estamos fazendo para melhorar o sistema de convites. Estamos normalizando os convites para que todos usem o mesmo sistema de convite e separando as funções relacionadas a usuários existentes. Mais recentemente, mudamos para notificar usuários existentes sobre tópicos agora por meio do botão de compartilhamento no menu do tópico, separadamente de convidar novos usuários a se juntarem ao site e contribuir para o tópico.

Queremos fazer o mesmo para grupos — isso já está na nossa lista para trabalhar, mas agora acho que se tornou mais urgente se significa que não é possível adicionar ninguém a um grupo se você não tiver TL suficiente para convidar novos usuários para o site.

7 curtidas

Esse limite faz sentido ao convidar e-mails para grupos. No entanto, não faz sentido ao convidar usuários existentes. Corrigi esse problema em:

Isso resolverá o problema por enquanto, mas esperamos reformular essa área.

8 curtidas

Este tópico foi fechado automaticamente após 2 dias. Novas respostas não são mais permitidas.