8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-12-23 07:23:46 +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 27d6823532
commit f1373ee5be

View file

@ -93,7 +93,13 @@ class IpType(models.Model):
for net in self.ip_range.cidrs():
networks += net.iter_hosts()
ip_obj = [IpList(ip_type=self, ipv4=str(ip)) for ip in networks]
IpList.objects.bulk_create(ip_obj)
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)
# Sinon on update l'ip_type
else:
listes_ip.update(ip_type=self)
return
def del_ip_range(self):
@ -373,8 +379,7 @@ def interface_post_delete(sender, **kwargs):
@receiver(post_save, sender=IpType)
def iptype_post_save(sender, **kwargs):
iptype = kwargs['instance']
if not iptype.ip_objects():
iptype.gen_ip_range()
iptype.gen_ip_range()
@receiver(post_save, sender=MachineType)
def machine_post_save(sender, **kwargs):