From cc0f6e0a916a5c223ca50a5cf8a51a32a436b420 Mon Sep 17 00:00:00 2001 From: Valentin Samir Date: Tue, 14 May 2013 18:00:00 +0200 Subject: [PATCH] Antagonisme entre un attribut et sa valeur textuelle --- attributs.py | 4 ++-- lc_ldap.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/attributs.py b/attributs.py index 324c8a3..35ce791 100644 --- a/attributs.py +++ b/attributs.py @@ -277,7 +277,7 @@ class nom(Attr): def parse_value(self, nom): if self.parent != None: - if u'club' in self.parent['objectClass']: + if u'club' in [str(o) for o in self.parent['objectClass']]: self.value = validate_name(nom,"0123456789\[\]") else: self.value = validate_name(nom) @@ -449,7 +449,7 @@ class chbre(Attr): def parse_value(self, chambre): if self.parent != None: - if u'club' in self.parent['objectClass']: + if u'club' in [str(o) for o in self.parent['objectClass']]: if chambre in annuaires_pg.locaux_clubs(): self.value = chambre return diff --git a/lc_ldap.py b/lc_ldap.py index ee8bafe..05aad3f 100644 --- a/lc_ldap.py +++ b/lc_ldap.py @@ -308,7 +308,7 @@ class lc_ldap(ldap.ldapobject.LDAPObject, object): def newAdherent(self, ldif): """Crée un nouvel adhérent""" - aid = ldif.setdefault('aid', [ self._find_id('aid') ]) + aid = ldif.setdefault('aid', [ str(self._find_id('aid')) ]) ldif['objectClass'] = ['adherent'] adherent = self._create_entity('aid=%s,%s' % (aid[0], base_dn), ldif) if adherent.may_be(created, self.droits): @@ -318,7 +318,7 @@ class lc_ldap(ldap.ldapobject.LDAPObject, object): def newClub(self, ldif): """Crée un nouveau club""" - cid = ldif.setdefault('cid', [ self._find_id('cid') ]) + cid = ldif.setdefault('cid', [ str(self._find_id('cid')) ]) ldif['objectClass'] = ['club'] club = self._create_entity('cid=%s,%s' % (cid[0], base_dn), ldif) if club.may_be(created, self.droits): @@ -956,7 +956,7 @@ class adherent(proprio): u"""Renvoie le nom du compte crans. S'il n'existe pas, et que uid est précisé, le crée.""" - if u'posixAccount' in self.attrs['objectClass']: + if u'posixAccount' in [str(o) for o in self.attrs['objectClass']]: return self.attrs['uid'][0] elif login: