[lc_ldap] Ajout d'une méthode pour affectuer une ipv4 à une machine wifi si elle n'est pas pas déjà une.

This commit is contained in:
Valentin Samir 2013-04-10 10:54:42 +02:00
parent f88b6ec688
commit d8c8e55909

View file

@ -828,7 +828,7 @@ class machine(CransLdapObject):
attributs.rid, attributs.info, attributs.blacklist, attributs.hostAlias,
attributs.exempt, attributs.portTCPout, attributs.portTCPin,
attributs.portUDPout, attributs.portUDPin, attributs.sshFingerprint,
attributs.ipHostNumber, attributs.ip6HostNumber]
attributs.ipHostNumber, attributs.ip6HostNumber, attributs.historique]
def __init__(self, conn, dn, mode='ro', ldif = None):
super(machine, self).__init__(conn, dn, mode, ldif)
@ -851,7 +851,6 @@ class machine(CransLdapObject):
black.extend(filter((lambda bl: bl.is_actif()), attrs.get("blacklist",[])))
return black
class AssociationCrans(proprio):
u""" Association crans (propriétaire particulier)."""
pass
@ -945,6 +944,19 @@ class machineWifi(machine):
u"""Machine wifi"""
attribs = machine.attribs + [attributs.ipsec]
def set_ipv4(self, login=None):
u"""Définie une ipv4 à la machine si elle n'est possède pas déjà une."""
if not 'ipHostNumber' in self.attrs.keys() or not self['ipHostNumber']:
rid = self['rid']=[ unicode(self.conn._find_id('rid', range(config.rid['wifi'][0], config.rid['wifi'][1]))) ]
ip = self['ipHostNumber'] = [ unicode(crans_utils.ip4_of_rid(int(rid[0]))) ]
login = login or current_user
self.history_add(login, u"rid")
self.history_add(login, u"ipHostNumber (N/A -> %s)" % ip[0])
self.save()
from gen_confs.dhcpd_new import dydhcp
dhcp=dydhcp()
dhcp.add_host(str(self['ipHostNumber'][0]), str(self['macAddress'][0]), str(self['host'][0]))
class machineCrans(machine):
can_be_by = { created: [attributs.nounou],
modified: [attributs.nounou],