On n'oublie de retourner aussi les valeurs déjà attrifiées

This commit is contained in:
Valentin Samir 2013-04-01 23:07:23 +02:00
parent 0c0338719c
commit b957a41cd7
2 changed files with 11 additions and 10 deletions

View file

@ -468,8 +468,7 @@ class CransLdapObject(object):
self.attrs = attributs.AttrsDict(conn, ldif, check_ctxt = False)
else:
self.attrs = ldif
self._modifs = ldif_to_uldif(ldif)
self._modifs = ldif_to_cldif(self._modifs, conn, check_ctxt = False)
self._modifs = attributs.AttrsDict(conn, ldif, check_ctxt = False)
orig = ldif
elif dn != base_dn:
@ -485,7 +484,7 @@ class CransLdapObject(object):
# Pour test en cas de mode w ou rw
orig = res[0][1]
self._modifs = ldif_to_cldif(ldif_to_uldif(res[0][1]), conn, check_ctxt = False)
self._modifs = attributs.AttrsDict(conn, res[0][1], check_ctxt = False)
# Je m'interroge sur la pertinence de cette partie, je pense qu'elle n'est
# pas utile. -- PEB 27/01/2013
@ -503,8 +502,6 @@ class CransLdapObject(object):
nvals = [nldif[attr][v.index(v)] for v in vals ]
raise EnvironmentError("λv. str(Attr(v)) n'est peut-être pas une projection (ie non idempotente):", attr, nvals, vals)
# def _get_fields(self):
# """Renvoie la liste des champs LDAP de l'objet"""
# return self.attribs
@ -547,8 +544,7 @@ class CransLdapObject(object):
raise EnvironmentError("Impossible de modifier l'objet, peut-être n'existe-t-il pas ?")
# Vérification des modifications
self.attrs = ldif_to_uldif(self.conn.search_s(self.dn, 0)[0][1])
self.attrs = ldif_to_cldif(self.attrs, self.conn, check_ctxt=False)
self.attrs = attributs.AttrDict(conn, self.conn.search_s(self.dn, 0)[0][1], check_ctxt=False)
differences = []
# On fait les différences entre les deux dicos
for attr in set(self.attrs.keys()).union(set(self._modifs.keys())):