diff --git a/gestion/ldap_crans.py b/gestion/ldap_crans.py index 34b03320..d869d0d9 100755 --- a/gestion/ldap_crans.py +++ b/gestion/ldap_crans.py @@ -618,6 +618,35 @@ class crans_ldap : return result + __machines = () + def all_machines(self, graphic=False): + """Renvoie toutes les machines autorisées. + + Cela affiche des trucs et des bidules si graphic est à True.""" + if graphic: from affich_tools import anim, cprint, OK + if not self.__machines : + # Récolte des données + if graphic: cprint('Lecture base LDAP','gras') + # Machines de l'assoce + self.__machines = crans(self.conn).machines() + # Machines des invités + self.__machines += invite(self.conn).machines() + # Machines des adhérents et clubs de l'année en cours + base = self.search('paiement=ok') + base = base['adherent'] + base['club'] + if graphic: a = anim('\ttri machines',len(base)) + for adh in base : + if graphic: a.cycle() + # Adhérent ayant payé l'année en cours + if 'bloq' in adh.blacklist_actif() : + # Adhérent ignoré + continue + self.__machines += adh.machines() + if graphic: a.reinit() + if graphic: print OK + + return self.__machines + ############################################################################# class base_classes_crans(crans_ldap) :