From e6f860e43c35f7e4074054246f9e0648aca05158 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre-Elliott=20B=C3=A9cue?= Date: Thu, 7 Aug 2014 13:24:08 +0200 Subject: [PATCH] =?UTF-8?q?[ldap=5Fcrans]=20Un=20pas=20vers=20l'ipv6only?= =?UTF-8?q?=20(que=20je=20ne=20veux=20pas=20d=C3=A9truire)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gestion/ldap_crans.py | 12 ++++++++++-- gestion/ridtools.py | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/gestion/ldap_crans.py b/gestion/ldap_crans.py index 9bc9da1a..3425453f 100755 --- a/gestion/ldap_crans.py +++ b/gestion/ldap_crans.py @@ -3127,6 +3127,9 @@ Contactez nounou si la MAC est bien celle d'une carte.""", 3) if not len(pool_ip): raise RuntimeError(u"Plus d'IP libres dans %s." % ' et '.join(net)) + elif ip == '': + self._set('ipHostNumber', []) + ip = None else: # L'ip est elle dans le bon sous-réseau ? # (accessoirement teste si l'IP est valide et ne correspond pas @@ -3139,10 +3142,15 @@ Contactez nounou si la MAC est bien celle d'une carte.""", 3) if self.exist('ipHostNumber=%s' % ip): raise ValueError(u'IP déjà prise.') - my_rid = ridtools.Rid(ipv4=ip) + if ip != None: + my_rid = ridtools.Rid(ipv4=ip) + else: + rid = self.rid() + if rid == '': + pass # Lock ip - if lock: + if lock and ip: self.lock('ipHostNumber', ip) self._set('ipHostNumber', [ip]) diff --git a/gestion/ridtools.py b/gestion/ridtools.py index 313fcd25..a0d17ffc 100644 --- a/gestion/ridtools.py +++ b/gestion/ridtools.py @@ -144,7 +144,7 @@ class Rid(object): return "" % (self.rid, self.ipv4()) else: return "" % self.rid - + def __int__(self): return self.rid