From d0619adcf6762ca61aac7ed5ad00bb05928b0467 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre-Elliott=20B=C3=A9cue?= Date: Sat, 14 Feb 2015 14:12:48 +0100 Subject: [PATCH] Quand mode='rw' mais que l'objet n'est pas modifiable, on fallback en ro --- objets.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/objets.py b/objets.py index cbbb217..363e73c 100644 --- a/objets.py +++ b/objets.py @@ -130,7 +130,7 @@ class CransLdapObject(object): """ Retourne les droits courant de l'utilisateur sur l'objet. Ces droits sont égaux aux droits de l'utilisateur plus : - * soi si le dn de l'utilisateur est égale au dn de l'objet + * soit si le dn de l'utilisateur est égal au dn de l'objet * parent si le dn de l'utilisateur est préfixe du dn de l'objet la méthode est en anglais pour ne pas interférer avec les attributs droits et jinja2 où les méthodes de l'objet et ses attributs sont appelé de la même manière @@ -185,7 +185,9 @@ class CransLdapObject(object): if self.mode in ['w', 'rw']: if not self.may_be(variables.modified): - raise EnvironmentError("Vous n'avez pas le droit de modifier cet objet. DEB(dn=%s,user=%s,rights=%s)" % (dn, self.conn.dn, self.rights())) + # On ne peut pas modifier l'objet, on droppe silencieusement ici, et + # on fera un raise quand la tentative de modif aura effectivement lieu. + self.mode = 'ro' self.update_attribs() @@ -959,7 +961,6 @@ class proprio(CransLdapObject): else: raise EnvironmentError("L'adhérent n'a pas de compte crans") - def solde(self, operation, comment): self['historique'].append(comment) if self['solde']: