Comportamento atteso
I proprietari del gruppo possono aggiungere membri al gruppo utilizzando la finestra di dialogo “aggiungi membri”.
Comportamento osservato
I proprietari del gruppo vedono la finestra di dialogo “aggiungi membri”, ma quando provano a inviarla, ricevono un errore 403 (proibito).
Ho appena scaricato l’ultima versione del codice da GitHub e ho eseguito nuovamente i test. Confermo che il problema è presente. Passaggi per riprodurlo:
Crea un nuovo utente; questo utente non deve essere un moderatore né un amministratore.
Crea un nuovo gruppo con le seguenti impostazioni: Consenti agli utenti di lasciare il gruppo liberamente=True, Consenti agli utenti di inviare richieste di adesione ai proprietari del gruppo=True, Chi può vedere questo gruppo?=Tutti, Chi può vedere i membri di questo gruppo?=Tutti, Chi può menzionare (@mention) questo gruppo?=Solo moderatori e amministratori, Chi può inviare messaggi a questo gruppo?=Solo moderatori e amministratori.
Imposta l’utente come proprietario del gruppo.
Effettuando l’accesso come proprietario del gruppo, prova ad aggiungere un altro utente al gruppo.
@Benjamin_D aveva ragione. È un problema relativo al livello di fiducia (TL).
Esiste un’impostazione del sito min_trust_level_to_allow_invite, che era impostata su TL2, mentre il proprietario del gruppo aveva TL1.
Un proprietario di gruppo dovrebbe essere autorizzato a invitare utenti nel gruppo senza rispettare il requisito del livello di fiducia? Sembra confuso.
O magari aggiungere semplicemente un messaggio di errore più specifico in questo caso.
Ad esempio, invece di generare l’errore InvalidAccess con il messaggio (en): You are not permitted to view the requested resource.
Creare un errore InsufficientTrustLevel (forse come sottoclasse di InvalidAccess) con il messaggio (en): You do not have the required trust level to view the requeted resource. Almeno in questo modo gli amministratori potranno capire che si tratta di un problema relativo al livello di fiducia e non di un bug.
Alcune note su dove queste cose sono definite nel codice sorgente:
Sebbene concordi sul fatto che serva un messaggio di errore migliore qui, ritengo in realtà che abbiamo fatto un passo indietro.
Il ruolo del proprietario di un gruppo è gestire l’iscrizione dei membri del gruppo. Se non possono invitare/aggiungere utenti al proprio gruppo, allora la funzionalità è a metà strada rotta…
Potrei sbagliarmi, ma credo che questa situazione sia emersa nell’ambito del lavoro che stiamo svolgendo per migliorare il sistema di invito. Stiamo normalizzando gli inviti in modo che tutti utilizzino lo stesso sistema di invito e stiamo separando le funzioni relative agli utenti esistenti. Più recentemente, abbiamo modificato il sistema in modo da notificare agli utenti esistenti i nuovi argomenti tramite il pulsante di condivisione nel menu dell’argomento, separatamente dall’invitare nuovi utenti a unirsi al sito e contribuire all’argomento.
Vogliamo fare lo stesso per i gruppi: è già nella nostra lista di cose da fare, ma ora immagino sia diventato più urgente, dato che significa che non è possibile aggiungere nessuno a un gruppo se non si dispone di un livello di fiducia (TL) sufficiente per invitare nuovi utenti al sito.
Quel limite ha senso quando si invitano indirizzi email a gruppi. Tuttavia, non ha senso quando si invitano utenti esistenti. Ho risolto questo problema in:
Ciò risolverà il problema per il momento, ma prevediamo di rivedere completamente questa area.