diff --git a/gestion/gen_confs/switchs.py b/gestion/gen_confs/switchs.py index 83b47b0a..c1aa85ae 100644 --- a/gestion/gen_confs/switchs.py +++ b/gestion/gen_confs/switchs.py @@ -428,6 +428,15 @@ exit # chambres. chbres = prise_chbres.get(annu_prise, []) + # Combien de machines sont succeptibles d'etre sur la prise + nombre_de_machines = 0 + # Pour chaque chambre sur cette prise + for chb in chbres: + # On selectionne les eventuels adherents y residant + for adherent in self.db.search("chbre=%s" % (chb))['adherent']: + # On selectionne les machines fixes de l'adherent, et on ajoute le nombre au quota + nombre_de_machines += len(adherent.machines_fixes()) + # Authentification RADIUS, pas pour les clubs... if not any("cl" in chbre.lower() for chbre in chbres): # "unauth-vid" est le vlan sur lequel sont envoyés les machines @@ -437,8 +446,9 @@ exit aaa port-access mac-based %(prise)s addr-limit %(nbmac)s aaa port-access mac-based %(prise)s logoff-period 3600 aaa port-access mac-based %(prise)s unauth-vid 1 -""" % { 'nbmac': 1+2*len(chbres), 'prise': prise } - +""" % { 'nbmac': 2 + nombre_de_machines, 'prise': prise } +# On regle le nombre de machines connectables a la prise au nombre de machines +# sur cette prise dans l'annuaire plus 2 # On donne à la prise un nom qui dépend des chambres # connectés dessus