Club Parent
Il faut éviter qu'on puisse être membre de Kfet, sans être membre BdE. Pour ça, on propose de rajouter une ForeignKey
au modèle :model:member.Club
vers :model:member.Club
parent_club = model.ForeignKey('Club', null=True)
et pour faire adhérer un user à un club d'impémenter un test de la forme
if club.parent_club is in user.memberships.club:
do_stuff()
Ainsi, la plupart des clubs vont hériter de BdE. Exemple d'utilisation :
Nous sommes en 2023, l'ENS s'est bien installée sur le plateau et cohabite avec ses voisins Centraliens. Martin est un jeune Centralien dynamique, qui, comme ses camarades, est convaincu que la Kfet et le BdE de Cachan Paris-Saclay sont beaucoup mieux. Il est donc adhérent Bde. Il veut aussi être membre de la JE qui a permis des paiements par Note. Or, l'administration de Centrale ne veut que le meilleur pour sa JE, et il faut être membre du club StartupNation pour y participer. Alors du point de vue de la note, JE et StatupNation sont deux clubs avec :
JE.parent_club == StartupNation
StatupNation.parent_club == BdE