Gestion des groupes
Il existe deux types de groupes sur le site AE :
- l'un se base sur des groupes enregistrés en base de données pendant le développement, c'est le système de groupes réels.
- L'autre est plus dynamique et comprend tous les groupes générés pendant l'exécution et l'utilisation du programme. Cela correspond généralement aux groupes liés aux clubs. Ce sont les méta-groupes.
La définition d'un groupe¶
Les deux types de groupes sont stockés dans la même table
en base de données, et ne sont différenciés que par un attribut is_meta
.
Les groupes réels¶
Pour plus différencier l'utilisation de ces deux types de groupe,
il a été créé une classe proxy
(c'est-à-dire qu'elle ne correspond pas à une vraie table en base de donnée)
qui encapsule leur utilisation.
RealGroup
peut être utilisé pour créer des groupes réels dans le code
et pour faire une recherche sur ceux-ci
(dans le cadre d'une vérification de permissions par exemple).
Les méta-groupes¶
Les méta-groupes, comme expliqué précédemment,
sont utilisés dans les contextes où il est nécessaire de créer un groupe dynamiquement.
Les objets MetaGroup
, bien que dynamiques, doivent tout de même s'enregistrer
en base de données comme des vrais groupes afin de pouvoir être affectés
dans les permissions d'autres objets, comme un forum ou une page de wiki par exemple.
C'est principalement utilisé au travers des clubs,
qui génèrent automatiquement deux groupes à leur création :
- club-bureau : contient tous les membres d'un club au dessus
du grade défini dans
settings.SITH_MAXIMUM_FREE_ROLE
. - club-membres : contient tous les membres d'un club
en dessous du grade défini dans
settings.SITH_MAXIMUM_FREE_ROLE
.
Les groupes réels utilisés¶
Les groupes réels que l'on utilise dans le site sont les suivants :
Groupes gérés automatiquement par le site :
Public
: tous les utilisateurs du siteSubscribers
: tous les cotisants du siteOld subscribers
: tous les anciens cotisants
Groupes gérés par les administrateurs (à appliquer à la main sur un utilisateur) :
Root
: administrateur global du siteAccounting admin
: les administrateurs de la comptabilitéCommunication admin
: les administrateurs de la communicationCounter admin
: les administrateurs des comptoirs (foyer et autre)SAS admin
: les administrateurs du SASForum admin
: les administrateurs du forumPedagogy admin
: les administrateurs de la pédagogie (guide des UVs)Banned from buying alcohol
: les utilisateurs interdits de vente d'alcool (non mineurs)Banned from counters
: les utilisateurs interdits d'utilisation des comptoirsBanned to subscribe
: les utilisateurs interdits de cotisation