[*] on a fait marcher et on teste la création de compte (reste les services)

This commit is contained in:
Antoine Durand-gasselin 2010-10-17 19:27:17 +02:00
parent 27ed937c5f
commit 4178ad26ee
4 changed files with 32 additions and 20 deletions

View file

@ -287,8 +287,8 @@ class CransLdapObject(object):
self.attrs = ldif_to_uldif(self.attrs)
if mode in ['w', 'rw']:
self._modifs = copy.deepcopy(self.attrs)
self.attrs = ldif_to_cldif(self.attrs, conn, check_ctxt = False)
### Vérification que `λv. str(Attr(v))` est bien une projection
oldif = res[0][1]
nldif = cldif_to_ldif(self.attrs)
@ -582,12 +582,12 @@ class adherent(proprio):
if u'posixAccount' in self.attrs['objectClass']:
return self.attrs['uid'][0]
elif login:
fn = crans_utils.strip_accents(self.attrs['prenom'][0].capitalize())
ln = crans_utils.strip_accents(self.attrs['nom'][0].capitalize())
fn = crans_utils.strip_accents(unicode(self.attrs['prenom'][0]).capitalize())
ln = crans_utils.strip_accents(unicode(self.attrs['nom'][0]).capitalize())
login = crans_utils.strip_accents(login).lower()
if jaro(ln.lower(), login) < 0.75 and jaro(fn.lower() + ' ' + ln.lower(), login) < 0.75:
raise ValueError("Le login est trop différent du nom (%s -> %s)" %
(login, self.attrs['nom'][0]))
raise ValueError("Le login est trop différent du nom",
login, self.attrs['nom'][0])
if not re.match('^[a-z][-a-z]{1,15}$', login):
raise ValueError("Le login a entre 2 et 16 lettres, il peut contenir (pas au début) des - ")
if crans_utils.mailexist(login):
@ -633,7 +633,7 @@ class adherent(proprio):
self._modifs['uidNumber'] = [unicode(uidNumber)]
self._modifs['gidNumber'] = [unicode(config.gid)]
self._modifs['gecos'] = self._modifs['cn'][0] + u',,,'
self._modifs['gecos'] = [self._modifs['cn'][0] + u',,,']
self.save()