diff --git a/gestion/ldap_crans.py b/gestion/ldap_crans.py index 66d13694..379b3f5a 100644 --- a/gestion/ldap_crans.py +++ b/gestion/ldap_crans.py @@ -329,8 +329,13 @@ class CransLdap(dict): 'borneWifi': 2, 'facture': 2} - def __init__(self, readonly=False): - self.connect(readonly) + def __init__(self, readonly=False, conn=None): + if not self.conn: + self.conn = conn + if not self.conn: + self.connect(readonly) + self['readonly'] = readonly + self['witness'] = "I exist" def __del__(self): # Destruction des locks résiduels @@ -1327,10 +1332,7 @@ class BaseProprietaire(BaseClasseCrans): conn est une instance de la classe de connexion à la base LDAP """ - self.conn = conn - if not self.conn: - self.connect() - + BaseClasseCrans.__init__(self, conn = conn) if type(data) != tuple: raise TypeError @@ -2643,14 +2645,12 @@ class Machine(BaseClasseCrans): conn est une instance de la classe de connexion à la base LDAP """ + # Définition de l'objectClass LDAP à partir du nom de la classe Python self.objectClass = str(self.__class__).split('.')[-1] self.objectClass = self.objectClass[0].lower() + self.objectClass[1:] - # Initialisation de la connexion - self.conn = conn - if not self.conn: - self.connect() + BaseClasseCrans.__init__(self, conn = conn) self.modifs = {} t = parent_or_tuple.__class__ @@ -3421,9 +3421,7 @@ class Facture(BaseClasseCrans): """ # Initialisation de la connexion - self.conn = conn - if not self.conn: - self.connect() + BaseClasseCrans.__init__(self, conn= conn) self.modifs = {} t = parent_or_tuple.__class__ @@ -3733,9 +3731,7 @@ class _FakeProprio(CransLdap): u"""Définitions de base d'un propriétaire virtuel""" idn = '' def __init__(self, conn=None): - self.conn = conn - if not self.conn: - self.connect() + CransLdap.__init__(self, conn = conn) self.dn = self.base_dn def id(self): return ''