8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-26 22:52:26 +00:00

Si il y a deja des ip, on change leur destination ip_type

This commit is contained in:
Gabriel Detraz 2017-08-28 23:04:15 +00:00 committed by Mael Kervella
parent b06c7ed6ff
commit 789a8dcb5d

View file

@ -93,7 +93,13 @@ class IpType(models.Model):
for net in self.ip_range.cidrs(): for net in self.ip_range.cidrs():
networks += net.iter_hosts() networks += net.iter_hosts()
ip_obj = [IpList(ip_type=self, ipv4=str(ip)) for ip in networks] ip_obj = [IpList(ip_type=self, ipv4=str(ip)) for ip in networks]
listes_ip = IpList.objects.filter(ipv4__in=[str(ip) for ip in networks])
# Si il n'y a pas d'ip, on les crée
if not listes_ip:
IpList.objects.bulk_create(ip_obj) IpList.objects.bulk_create(ip_obj)
# Sinon on update l'ip_type
else:
listes_ip.update(ip_type=self)
return return
def del_ip_range(self): def del_ip_range(self):
@ -373,7 +379,6 @@ def interface_post_delete(sender, **kwargs):
@receiver(post_save, sender=IpType) @receiver(post_save, sender=IpType)
def iptype_post_save(sender, **kwargs): def iptype_post_save(sender, **kwargs):
iptype = kwargs['instance'] iptype = kwargs['instance']
if not iptype.ip_objects():
iptype.gen_ip_range() iptype.gen_ip_range()
@receiver(post_save, sender=MachineType) @receiver(post_save, sender=MachineType)