Quelques améliorations, mise en place de fonctions pour tester parenté,

tester si c'est soi-même qu'on modifie, pour tester si on peut bien
altérer l'objet concerné.
Création des objets en deux temps (on crée l'objet Crans, puis
on l'enregistre dans ldap après test des droits.
Changement de méthode de binding : le binding nominatif va être bien
trop complexe à implémenter, on va donc faire autrement...
This commit is contained in:
Pierre-Elliott Bécue 2013-01-28 00:45:01 +01:00
parent fcafdbff28
commit 42c48f77e8
3 changed files with 190 additions and 61 deletions

View file

@ -425,6 +425,8 @@ class hostAlias(host):
optional = True
legend = u'Alias de nom de machine'
can_modify = [nounou, cableur]
class macAddress(Attr):
singlevalue = True
optional = False
@ -447,6 +449,7 @@ class ipHostNumber(Attr):
legend = u"Adresse IPv4 de la machine"
hname = "IPv4"
category = 'base_tech'
can_modify = [nounou]
def parse_value(self, ip, ldif):
if ip == '<automatique>':
@ -476,6 +479,7 @@ class rid(Attr):
unique = True
legend = "Identifiant réseau de machine"
category = 'id'
can_modify = [nounou]
def parse_value(self, rid, ldif):
self.value = Rid(rid = int(rid))
@ -494,18 +498,21 @@ class puissance(Attr):
optional = True
legend = u"puissance d'émission pour les bornes wifi"
category = 'wifi'
can_modify = [nounou]
class canal(intAttr):
singlevalue = True
optional = True
legend = u'Canal d\'émission de la borne'
category = 'wifi'
can_modify = [nounou]
class portAttr(Attr):
singlevalue = False
optional = True
legend = u'Ouverture de port'
category = 'firewall'
can_modify = [nounou]
def parse_value(self, port, ldif):
if ":" in port:
@ -553,6 +560,7 @@ class prise(Attr):
optional = True
legend = u"Prise sur laquelle est branchée la machine"
category = 'base_tech'
can_modify = [nounou]
def parse_value(self, prise, ldif):
### Tu es une Nounou, je te fais confiance
@ -570,6 +578,7 @@ class responsable(Attr):
optional = True
legend = u"Responsable du club"
category = 'perso'
can_modify = [nounou]
def get_respo(self):
if self.value == None:
@ -583,12 +592,12 @@ class responsable(Attr):
def __unicode__(self):
return self.__resp
class blacklist(Attr):
singlevalue = False
optional = True
legend = u"Blackliste"
category = 'info'
can_modify = [nounou]
def parse_value(self, bl, ldif):
bl_debut, bl_fin, bl_type, bl_comm = bl.split('$')
@ -712,9 +721,7 @@ class gecos(Attr):
category = 'id'
def parse_value(self, gecos, ldif):
a, b, c, d = gecos.split(',')
self.value = gecos
class sshFingerprint(Attr):
singlevalue = False