[lc_ldap] On vérifie désormais que $dude peut modifier les attributs.

Les principales modifs touchent __setitem__, il faut voir s'il n'y a pas mieux
pour les histoires de cardinalité, quitte à réécrire des choses. Par ailleurs,
j'ai l'impression que le test sur les attributs nécessaires/optionnels
ne sert à rien, il faut voir comment on veut gérer ça.
This commit is contained in:
Pierre-Elliott Bécue 2013-04-03 02:51:46 +02:00
parent b565cc51e5
commit 93d5a11d66
2 changed files with 34 additions and 7 deletions

View file

@ -186,6 +186,8 @@ class Attr(object):
etc..."""
if self.singlevalue and len(values) > 1:
raise ValueError('%s doit avoir au maximum une valeur (affecte %s)' % (self.__class__, values))
# A priori, ça sert à rien, on fait du for val in values, si la liste
# est vide, le type d'attribut généré n'est pas pris en compte.
if not self.optional and len(values) == 0:
raise ValueError('%s doit avoir au moins une valeur' % self.__class__)
@ -209,7 +211,7 @@ class Attr(object):
"""
L'attribut est-il modifiable par un des droits dans liste_droits ?
"""
return set(liste_droits).isdisjoint(self.can_modify)
return not set(liste_droits).isdisjoint(self.can_modify)
class objectClass(Attr):
singlevalue = False