[objets] Bug en cas d'annulation
* self._modifs = self.attrs met les deux AttrsDict dans le même état, ce qui fait qu'une modif de l'un se répercute sur l'autre. * On en profite pour créer une fonction .cancel
This commit is contained in:
parent
35f9c36461
commit
c41aac0de0
1 changed files with 8 additions and 1 deletions
|
@ -431,7 +431,7 @@ class CransLdapObject(object):
|
|||
except Exception as error:
|
||||
# On nettoie les locks
|
||||
self.conn.lockholder.purge(self.lockId)
|
||||
self._modifs = self.attrs
|
||||
self.cancel()
|
||||
raise EnvironmentError("Impossible de modifier l'objet, peut-être n'existe-t-il pas ? %r" % error)
|
||||
|
||||
# On programme le redémarrage des services
|
||||
|
@ -440,6 +440,13 @@ class CransLdapObject(object):
|
|||
# Vérification des modifications.
|
||||
self.check_modifs()
|
||||
|
||||
def cancel(self):
|
||||
"""
|
||||
Annule les changements en attente
|
||||
"""
|
||||
old_uldif = lc_ldap.ldif_to_uldif(self.conn.search_s(self.dn, ldap.SCOPE_BASE)[0][1])
|
||||
self._modifs = attributs.AttrsDict(self.conn, old_uldif, Parent=self)
|
||||
|
||||
def check_modifs(self):
|
||||
"""
|
||||
Fonction qui vérifie que les modifications se sont bien
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue