From d8c8e559099bf55630d936888e81aa1e9c37b293 Mon Sep 17 00:00:00 2001 From: Valentin Samir Date: Wed, 10 Apr 2013 10:54:42 +0200 Subject: [PATCH] =?UTF-8?q?[lc=5Fldap]=20Ajout=20d'une=20m=C3=A9thode=20po?= =?UTF-8?q?ur=20affectuer=20une=20ipv4=20=C3=A0=20une=20machine=20wifi=20s?= =?UTF-8?q?i=20elle=20n'est=20pas=20pas=20d=C3=A9j=C3=A0=20une.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lc_ldap.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/lc_ldap.py b/lc_ldap.py index 4320ee1..1a833ee 100644 --- a/lc_ldap.py +++ b/lc_ldap.py @@ -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],