Début de la mise en place du VLAN gratuit
darcs-hash:20080903204822-ffbb2-f1ba3162718ce45385b2b160c149e2cb8740cefe.gz
This commit is contained in:
parent
6f6527d2c1
commit
04f0caf4be
1 changed files with 28 additions and 7 deletions
|
@ -290,10 +290,11 @@ class CransLdap:
|
|||
['etudes', 'paiement', 'carteEtudiant', 'aid', 'postalAddress',
|
||||
'historique', 'blacklist', 'droits', 'uidNumber', 'uid', 'info',
|
||||
'solde', 'controle', 'contourneGreylist', 'rewriteMailHeaders',
|
||||
'ablacklist', 'homepageAlias', 'mailInvalide', 'charteMA'], \
|
||||
'ablacklist', 'homepageAlias', 'mailInvalide', 'charteMA',
|
||||
'adherentPayant'], \
|
||||
'club': \
|
||||
['cid', 'responsable', 'paiement', 'historique', 'blacklist',
|
||||
'mailAlias', 'info', 'controle', 'ablacklist'], \
|
||||
'mailAlias', 'info', 'controle', 'ablacklist', 'imprimeurClub'], \
|
||||
'machineFixe': non_auto_search_machines_champs,
|
||||
'machineCrans': non_auto_search_machines_champs + ['prise'],
|
||||
'borneWifi': non_auto_search_machines_champs + \
|
||||
|
@ -2022,6 +2023,19 @@ class Adherent(BaseProprietaire):
|
|||
# renvoie la valeur trouvée dans la base
|
||||
return bool(self._data.get('charteMA', []))
|
||||
|
||||
def adherentPayant(self, valeur = None):
|
||||
"""
|
||||
L'adhérent paie sa cotisation (a droit au WiFi, à un compte Crans, ... True par défaut
|
||||
"""
|
||||
|
||||
if isinstance(valeur, bool):
|
||||
self._set('adherentPayant', valeur and [] or ['FALSE'])
|
||||
else if valeur is not None:
|
||||
raise ValueError, u"adherentPayant prend un booléen comme argument"
|
||||
|
||||
# bool d'une liste non vide est true, on inverse donc (la base ne peut contenir que FALSE)
|
||||
return not bool(self._data.get('adherentPayant', []))
|
||||
|
||||
def supprimer_compte(self):
|
||||
"""
|
||||
Supprime le compte sur zamok. Penser à définir l'adresse mail après.
|
||||
|
@ -2108,6 +2122,9 @@ class Adherent(BaseProprietaire):
|
|||
l, login = preattr(login)
|
||||
login = login.lower()
|
||||
|
||||
if login and not self.adherentPayant():
|
||||
raise ValueError(u"L'adhérent ne paie pas de cotisation, il n'a pas droit à un compte.")
|
||||
|
||||
if 'posixAccount' in self._data['objectClass']:
|
||||
if login != self._data['uid']:
|
||||
# A déja un compte
|
||||
|
@ -2768,11 +2785,15 @@ class Machine(BaseClasseCrans):
|
|||
net = [ '0.0.0.0/0' ]
|
||||
pool_ip = lister_ip_dispo('all')
|
||||
else:
|
||||
if self.proprietaire().adherentPayant():
|
||||
try:
|
||||
net = config.NETs[self.proprietaire().chbre()[0].lower()]
|
||||
pool_ip = lister_ip_dispo(self.proprietaire().chbre()[0].lower())
|
||||
except:
|
||||
raise RuntimeError(u'Impossible de trouver le réseau où placer la machine.')
|
||||
else:
|
||||
net = config.NETs["gratuit"]
|
||||
pool_ip = lister_ip_dispo("gratuit")
|
||||
|
||||
if ip == '<automatique>':
|
||||
# On va prendre choisir une IP au hasard dans le pool des IP dispo
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue