[lc_ldap,attributs] On ajoute sshFingerprint et gpgFingerprint, on rend possible l'ajout d'attribut obtionnel optionnel quand le cardinal précédent de l'attribut est 0

This commit is contained in:
Valentin Samir 2013-01-15 18:51:46 +01:00
parent a629e4c82f
commit 1403cfdb7b
3 changed files with 22 additions and 3 deletions

View file

@ -94,7 +94,9 @@ class Attr(object):
def validate(self, ldif):
"""validates:
vérifie déjà que ce qu'on a rentré est parsable"""
own_values = ldif[self.__class__.__name__]
if not self.__class__.__name__ in CRANS_ATTRIBUTES:
raise ValueError('Attribut %s inconnu' % self.__class__.__name__)
own_values = ldif.get(self.__class__.__name__, [])
self._check_cardinality(own_values)
self._check_uniqueness()
self._check_users_restrictions(own_values)
@ -594,6 +596,18 @@ class mail(Attr):
# XXX - to be implemented
#def parse_value(self, mail, ldif):
# pass
class sshFingerprint(Attr):
singlevalue = False
optional = True
legend = "Clef ssh de la machine"
can_modify = ["parent", "Nounou"]
class gpgFingerprint(Attr):
singlevalue = False
optional = True
legend = "Clef gpg d'un adhérent"
can_modify = ["self", "Nounou"]
class cn(Attr):
singlevalue = True
@ -639,8 +653,10 @@ CRANS_ATTRIBUTES= {
'chbre' : chbre,
'droits' : droits,
'solde' : solde,
'gpgFingerprint' : gpgFingerprint,
'mid' : mid,
'host' : host,
'sshFingerprint' : sshFingerprint,
'macAddress': macAddress,
'ipHostNumber': ipHostNumber,
'hostAlias' : hostAlias,