[cransldapopbject] On peuple les objectClass même pour associationCrans (qui contient organizationalUnit)

mais on force le mode en read only
This commit is contained in:
Valentin Samir 2014-02-12 00:51:13 +01:00
parent faeb3651dd
commit fb600ec478

View file

@ -119,7 +119,7 @@ class CransLdapObject(object):
self.attrs = attributs.AttrsDict(conn, Parent=self) # Contient un dico ldif qui doit représenter ce qui
# est dans la base. On attrify paresseusement au moment où on utilise un attribut
self._modifs = None # C'est là qu'on met les modifications
self._modifs = {} # C'est là qu'on met les modifications
self.dn = dn
orig = {}
@ -127,7 +127,7 @@ class CransLdapObject(object):
self.attrs = attributs.AttrsDict(self.conn, uldif, Parent=self)
self._modifs = attributs.AttrsDict(self.conn, uldif, Parent=self)
elif dn != variables.base_dn:
else:
res = self.conn.search_s(dn, 0)
if not res:
raise ValueError ('objet inexistant: %s' % dn)
@ -139,6 +139,9 @@ class CransLdapObject(object):
self.attrs = attributs.AttrsDict(self.conn, uldif, Parent=self)
self._modifs = attributs.AttrsDict(self.conn, uldif, Parent=self)
if dn == variables.base_dn:
mode = 'ro'
if mode in ['w', 'rw']:
if not self.may_be(variables.modified, self.conn.droits + self.conn._check_parent(dn) + self.conn._check_self(dn)):
raise EnvironmentError("Vous n'avez pas le droit de modifier cet objet.")