crans -> AssociationCrans
adherent -> Adherent club -> Club darcs-hash:20060325215156-68412-615c1bfb3b23e16cd10b82cc3dc467e716c258ea.gz
This commit is contained in:
parent
0a53921e05
commit
f16056b8b4
12 changed files with 62 additions and 64 deletions
|
@ -554,10 +554,7 @@ class crans_ldap:
|
|||
nom_classe = (entry[1].get('objectClass') or ['none'])[0]
|
||||
nom_classe = nom_classe[0].upper() + nom_classe[1:]
|
||||
try:
|
||||
# Hack temporaire, à enlever quand on aura tout renommé
|
||||
if nom_classe in ['Adherent', 'Club']:
|
||||
nom_classe = nom_classe.lower()
|
||||
classe = globals()[nom_classe]
|
||||
classe = eval(nom_classe)
|
||||
# On crée l'objet
|
||||
return classe(entry, mode, self.conn)
|
||||
except:
|
||||
|
@ -803,7 +800,7 @@ class crans_ldap:
|
|||
# Récolte des données
|
||||
if graphic: cprint('Lecture base LDAP', 'gras')
|
||||
# Machines de l'assoce
|
||||
self.__machines = crans(self.conn).machines()
|
||||
self.__machines = AssociationCrans(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']
|
||||
|
@ -1198,7 +1195,7 @@ class base_classes_crans(crans_ldap):
|
|||
#############################################################################
|
||||
|
||||
class base_proprietaire(base_classes_crans):
|
||||
""" Méthodes de bases pour les classes adherent et club """
|
||||
""" Méthodes de bases pour les classes Adherent et Club """
|
||||
def __init__(self, data=(), mode='', conn=None):
|
||||
"""
|
||||
Si data est fourni initialise l'adhérent avec les valeurs données
|
||||
|
@ -1591,14 +1588,14 @@ class base_proprietaire(base_classes_crans):
|
|||
|
||||
#############################################################################
|
||||
|
||||
class adherent(base_proprietaire):
|
||||
class Adherent(base_proprietaire):
|
||||
""" Classe de définition d'un adhérent """
|
||||
objectClass = 'adherent'
|
||||
idn = 'aid'
|
||||
filtre_idn = '(objectClass=adherent)'
|
||||
|
||||
### Méthodes Nom utilisée lors de l'affichage des propriétés
|
||||
### (commune avec les classes crans et club)
|
||||
### (commune avec les classes AssociationCrans et Club)
|
||||
def Nom(self):
|
||||
""" Retourne prenom nom """
|
||||
return "%s %s" % ( self.prenom() , self.nom() )
|
||||
|
@ -2013,7 +2010,7 @@ class adherent(base_proprietaire):
|
|||
# renvoie la valeur trouvée dans la base
|
||||
return self._data.get('rewriteMailHeaders', ['oui']) == ['oui']
|
||||
|
||||
class club(base_proprietaire):
|
||||
class Club(base_proprietaire):
|
||||
""" Classe de définition d'un club """
|
||||
idn = 'cid'
|
||||
filtre_idn = '(objectClass=club)'
|
||||
|
@ -2051,7 +2048,7 @@ class club(base_proprietaire):
|
|||
return self.search('aid=%s' % aid)['adherent'][0]
|
||||
else: return ''
|
||||
|
||||
if adher.__class__ != adherent:
|
||||
if adher.__class__ != Adherent:
|
||||
raise ValueError
|
||||
|
||||
if not adher.id():
|
||||
|
@ -2151,8 +2148,8 @@ class Machine(base_classes_crans):
|
|||
"""
|
||||
parent_or_tuple est :
|
||||
* soit une instance d'une classe pouvant posséder une machine
|
||||
(adherent, club ou crans), la nouvelle machine lui sera alors
|
||||
associée.
|
||||
(Adherent, Club ou AssociationCrans), la nouvelle machine lui
|
||||
sera alors associée.
|
||||
* soit directement le tuple définissant une machine (tel que
|
||||
retourné par les fonctions de recherche ldap)
|
||||
typ permet de définir le type de machine : wifi ou fixe,
|
||||
|
@ -2196,7 +2193,7 @@ class Machine(base_classes_crans):
|
|||
# Propriéraire inconnu mais ce n'est pas grave
|
||||
self.__proprietaire = None
|
||||
|
||||
elif t in [ adherent, club, crans ] and typ in [ 'fixe' , 'wifi' , 'borne' ]:
|
||||
elif t in [ Adherent, Club, AssociationCrans ] and typ in [ 'fixe' , 'wifi' , 'borne' ]:
|
||||
# Machine vide
|
||||
self.__proprietaire = parent_or_tuple
|
||||
self.dn = parent_or_tuple.dn
|
||||
|
@ -2281,7 +2278,7 @@ class Machine(base_classes_crans):
|
|||
if l<2:
|
||||
raise ValueError(u"%s trop court." % champ.capitalize())
|
||||
|
||||
if self.proprietaire().__class__ != crans:
|
||||
if self.proprietaire().__class__ != AssociationCrans:
|
||||
new = new.split('.', 1)[0]
|
||||
for c in new[:]:
|
||||
if not c in (string.letters + string.digits + '-'):
|
||||
|
@ -2329,7 +2326,7 @@ class Machine(base_classes_crans):
|
|||
Si la prise est inconne retourne N/A
|
||||
"""
|
||||
if new == None:
|
||||
if self.proprietaire().__class__ == crans:
|
||||
if self.proprietaire().__class__ == AssociationCrans:
|
||||
return decode(self._data.get('prise', ['N/A'])[0])
|
||||
else:
|
||||
chbre = self.proprietaire().chbre()
|
||||
|
@ -2396,7 +2393,7 @@ class Machine(base_classes_crans):
|
|||
if ip == None:
|
||||
if self._data.has_key('ipHostNumber'):
|
||||
return decode(self._data['ipHostNumber'][0])
|
||||
elif self.proprietaire().__class__ == crans and self.__typ != 'borne':
|
||||
elif self.proprietaire().__class__ == AssociationCrans and self.__typ != 'borne':
|
||||
return ''
|
||||
else:
|
||||
return '<automatique>'
|
||||
|
@ -2412,7 +2409,7 @@ class Machine(base_classes_crans):
|
|||
net = config.NETs['wifi']
|
||||
elif self.__typ == 'borne':
|
||||
net = config.NETs['bornes']
|
||||
elif self.proprietaire().__class__ == crans:
|
||||
elif self.proprietaire().__class__ == AssociationCrans:
|
||||
net = [ '0.0.0.0/0' ]
|
||||
else:
|
||||
try:
|
||||
|
@ -2512,16 +2509,16 @@ class Machine(base_classes_crans):
|
|||
|
||||
def proprietaire(self):
|
||||
"""
|
||||
retroune le propriétaire de la machine (classe adherent, club ou crans)
|
||||
retroune le propriétaire de la machine (classe Adherent, Club ou AssociationCrans)
|
||||
"""
|
||||
if not self.__proprietaire:
|
||||
res = self.conn.search_s(','.join(self.dn.split(',')[1:]), 0)
|
||||
if 'adherent' in res[0][1]['objectClass']:
|
||||
self.__proprietaire = adherent(res[0], self._modifiable, self.conn)
|
||||
self.__proprietaire = Adherent(res[0], self._modifiable, self.conn)
|
||||
elif 'club' in res[0][1]['objectClass']:
|
||||
self.__proprietaire = club(res[0], self._modifiable, self.conn)
|
||||
self.__proprietaire = Club(res[0], self._modifiable, self.conn)
|
||||
else:
|
||||
self.__proprietaire = crans(self.conn)
|
||||
self.__proprietaire = AssociationCrans(self.conn)
|
||||
|
||||
return self.__proprietaire
|
||||
|
||||
|
@ -2530,7 +2527,7 @@ class Machine(base_classes_crans):
|
|||
Enregistre la machine courante dans la base LDAP
|
||||
Retourne une chaîne indiquant les opération effectuées.
|
||||
"""
|
||||
if self.proprietaire().__class__ == crans and not (isadm or user_tests.getuser() == 'www-data'):
|
||||
if self.proprietaire().__class__ == AssociationCrans and not (isadm or user_tests.getuser() == 'www-data'):
|
||||
raise EnvironmentError(u'Il faut être administrateur pour effectuer cette opération.')
|
||||
|
||||
if not self._init_data:
|
||||
|
@ -2588,7 +2585,7 @@ class Machine(base_classes_crans):
|
|||
self.services_to_restart(s, [self.ip()])
|
||||
|
||||
# Regénération de l'autostatus et mail de changmement ?
|
||||
if self.proprietaire().__class__ == crans:
|
||||
if self.proprietaire().__class__ == AssociationCrans:
|
||||
self.services_to_restart('autostatus')
|
||||
self.services_to_restart('mail_modif', ['ip=%s' % self.ip()])
|
||||
|
||||
|
@ -2610,7 +2607,7 @@ class Machine(base_classes_crans):
|
|||
|
||||
def delete(self, comment=''):
|
||||
""" Destruction de la machines """
|
||||
if self.proprietaire().__class__ == crans and not isadm:
|
||||
if self.proprietaire().__class__ == AssociationCrans and not isadm:
|
||||
raise EnvironmentError(u'Il faut être administrateur pour effectuer cette opération.')
|
||||
|
||||
|
||||
|
@ -2908,7 +2905,7 @@ class _FakeProprio(crans_ldap):
|
|||
m.append(self.make(r))
|
||||
return m
|
||||
|
||||
class crans(_FakeProprio):
|
||||
class AssociationCrans(_FakeProprio):
|
||||
""" Classe définissant l'assoce (pour affichage de ses machines) """
|
||||
def __init__(self, conn=None):
|
||||
_FakeProprio.__init__(self, conn)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue