From 7fe89abfe63cc284037795b7cebbb090013e79f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre-Elliott=20B=C3=A9cue?= Date: Mon, 27 Apr 2015 16:13:22 +0200 Subject: [PATCH] =?UTF-8?q?Les=20respos=20sont=20pris=20en=20compte=20dans?= =?UTF-8?q?=20les=20droits=20test=C3=A9s=20sur=20les=20attributs.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- attributs.py | 2 +- objets.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/attributs.py b/attributs.py index 810c23a..098d1b2 100644 --- a/attributs.py +++ b/attributs.py @@ -1298,7 +1298,7 @@ class imprimeurClub(Attr): optional = True legend = u"Imprimeur du club" category = "perso" - can_modify = [cableur, nounou] + can_modify = [cableur, imprimeur, nounou, respo] ldap_name = "imprimeurClub" def __init__(self, *args, **kwargs): diff --git a/objets.py b/objets.py index 79b2167..c2c59f4 100644 --- a/objets.py +++ b/objets.py @@ -654,7 +654,7 @@ class CransLdapObject(object): # sert à permettre les vérifications de cardinalité # (on peut pas utiliser self._modifs, car il ne faut # faire le changement que si on peut) - attrs_before_verif = [ attributs.attrify(val, attr, self.conn, Parent=self) for val in values ] + attrs_before_verif = [attributs.attrify(val, attr, self.conn, Parent=self) for val in values] # Methode de vérification diverse ayant pour but d'être surcharger # par les classes enfants. Ainsi, elle ne touche pas à __setitem__ @@ -670,7 +670,7 @@ class CransLdapObject(object): # vide avant, puis on en a une nouvelle après. if mixed_attrs: # Tests de droits. - if not mixed_attrs[0].is_modifiable(self.conn.droits + self.conn._check_parent(self.dn) + self.conn._check_self(self.dn)): + if not mixed_attrs[0].is_modifiable(self.conn.droits + self.conn._check_parent(self.dn) + self.conn._check_self(self.dn) + self.conn._check_respo(self.dn)): raise EnvironmentError("Vous ne pouvez pas modifier l'attribut %r de l'objet %r." % (attr, self)) # On ajoute des locks sur les nouvelles valeurs