Erreurs : il ne faut pas faire de test contextuel quand on crée un
objet depuis un ldif. Il faut s'assurer avant de créer l'objet que le ldif est valide. C'est fait par setitem pour tout ce qui est modification, et par _create_entity pour ce qui est création
This commit is contained in:
parent
42c48f77e8
commit
4066eafd14
1 changed files with 3 additions and 2 deletions
|
@ -173,6 +173,7 @@ class lc_ldap(ldap.ldapobject.LDAPObject):
|
|||
# Si on a un dn, on se connecte avec à la base ldap sinon on s'y
|
||||
# connecte en anonyme
|
||||
if dn:
|
||||
secrets = import_secrets()
|
||||
self.conn = self.bind_s(secrets.ldap_auth_dn, secrets.ldap_password)
|
||||
self.dn = dn
|
||||
self.droits = self.search_s(dn, ldap.SCOPE_BASE, attrlist=['droits'])[0][1].get('droits', [])
|
||||
|
@ -303,7 +304,7 @@ class lc_ldap(ldap.ldapobject.LDAPObject):
|
|||
def _create_entity(self, dn, uldif):
|
||||
'''Crée une nouvelle entité ldap en dn, avec attributs ldif:
|
||||
uniquement en unicode'''
|
||||
# Conversion en cldiff pour vérification des valeurs
|
||||
# Conversion en cldif pour vérification des valeurs
|
||||
cldif = ldif_to_cldif(uldif, self)
|
||||
# Conversion en ascii
|
||||
ldif = cldif_to_ldif(cldif)
|
||||
|
@ -420,7 +421,7 @@ class CransLdapObject(object):
|
|||
self.attrs = ldif
|
||||
if dn != base_dn: # new_cransldapobject ne donne pas de ldif formaté et utilise un ldif non formaté, donc on formate
|
||||
self.attrs = ldif_to_uldif(self.attrs)
|
||||
self.attrs = ldif_to_cldif(self.attrs, conn, check_ctxt = True)
|
||||
self.attrs = ldif_to_cldif(self.attrs, conn, check_ctxt = False)
|
||||
self._modifs = ldif_to_uldif(ldif)
|
||||
self._modifs = ldif_to_cldif(self._modifs, conn, check_ctxt = False)
|
||||
orig = ldif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue