objets: machines destructibles par parent

Aller la dupplication de code aller aller.
This commit is contained in:
Daniel STAN 2014-03-04 18:47:48 +01:00
parent 1394cfc867
commit b9f47f5b94

View file

@ -368,7 +368,7 @@ class CransLdapObject(object):
login = self.conn.current_login
if self.mode not in ['w', 'rw']:
raise EnvironmentError("Objet en lecture seule, réessayer en lecture/écriture")
if not self.may_be(variables.deleted, self.conn.droits):
if not self.may_be(variables.deleted, self.conn.droits + self.conn._check_parent(self.dn) + self.conn._check_self(self.dn)):
raise EnvironmentError("Vous n'avez pas le droit de supprimer %s." % self.dn)
if not self.in_context:
# forcer l'utilisation d'un context manager permet d'être certain que les locks seront libéré quoi qu'il arrive
@ -936,7 +936,7 @@ class machine(CransLdapObject):
login = self.conn.current_login
if self.mode not in ['w', 'rw']:
raise EnvironmentError("Objet en lecture seule, réessayer en lecture/écriture")
if not self.may_be(variables.deleted, self.conn.droits):
if not self.may_be(variables.deleted, self.conn.droits + self.conn._check_parent(self.dn)):
raise EnvironmentError("Vous n'avez pas le droit de supprimer %s." % self.dn)
for certificat in self.certificats():
certificat.delete(comm, login)