J’ai lu le sujet, Group trust level où il est dit,
Ainsi que ce sujet plus ancien, Should losing group membership unlock trust level?
Où la situation décrite correspond largement à mon expérience,
Mais, ce que j’ai trouvé dans ma propre instance de test de Discourse, c’est ceci…
Avec tous les paramètres de Niveau de confiance par défaut, j’ai un compte TL1 (U) et un groupe nommé tl3 qui accorde Trust_Level_3.
- Conditions de départ
- Niveau de confiance :
1: utilisateur de baseDéverrouillé - Groupes automatiques :
trust_level_0,trust_level_1 - Groupes personnalisés : Aucun
- Niveau de confiance :
- Ajouter U à tl3
- Niveau de confiance :
3: RégulierDéverrouillé - Groupes automatiques :
trust_level_0,trust_level_1,trust_level_2,trust_level_3 - Groupes personnalisés : tl3
- Niveau de confiance :
- Retirer U de tl3
- Niveau de confiance :
2: MembreDéverrouillé - Groupes automatiques :
trust_level_0,trust_level_1,trust_level_2,trust_level_3 - Groupes personnalisés : Aucun
- NOTE : Malgré un niveau de confiance de 2, l’utilisateur fait toujours partie du groupe automatique
trust_level_3. Sachant qu’un utilisateur ne peut pas être rétrogradé à TL1 sans un niveau de confiance verrouillé, le résultat attendu ici est que l’utilisateur devrait immédiatement perdre son appartenance au groupe automatiquetrust_level_2.
- Niveau de confiance :
- Verrouiller le niveau de confiance de U
- Niveau de confiance :
2: MembreVerrouillé - Groupes automatiques :
trust_level_0,trust_level_1,trust_level_2,trust_level_3 - Groupes personnalisés : Aucun
- NOTE : Malgré un niveau de confiance de
2: Membre, l’utilisateur fait toujours partie du groupe automatiquetrust_level_3.
- Niveau de confiance :
- Déverrouiller le niveau de confiance de U
- Niveau de confiance :
1: De baseDéverrouillé - Groupes automatiques :
trust_level_0,trust_level_1 - Groupes personnalisés : Aucun
- Niveau de confiance :
Ainsi, lors du désenregistrement d’un utilisateur d’un groupe, le niveau de confiance est automatiquement et instantanément recalculé, mais l’appartenance au groupe automatique n’est pas recalculée, sauf si le niveau de confiance de l’utilisateur subit un événement de déverrouillage.
Mon hypothèse est que les appartenances aux groupes automatiques sont calculées à l’échelle du système pour tous les utilisateurs une fois par jour et que les appartenances aux groupes automatiques seront rectifiées à ce moment-là. Mais il semble que les appartenances aux groupes automatiques devraient être déclenchées soit lors du retrait d’un utilisateur d’un groupe ayant un effet sur le niveau de confiance, soit déclenchées immédiatement lors de tout changement de niveau de confiance, pas seulement lors d’une augmentation du niveau de confiance.
Donc, l’appel API backend vers,
POST {{site}}/admin/users/{{userId}}/groups
met à jour les appartenances aux groupes automatiques, mais
DELETE {{site}}/admin/users/{{usedId}}/groups/{{groupId}}
ne le fait pas, ce qui ressemble à un bug, surtout si vous utilisez des groupes automatiques de niveau de confiance pour le contrôle d’accès.
Et, pour être complet, évidemment les appels vers,
PUT {{site}}/admin/users/{{userId}}/trust_level
qui sont invoqués lors du changement manuel du niveau de confiance d’un utilisateur dans l’interface d’administration, recalculent immédiatement les appartenances aux groupes automatiques comme prévu.

