8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-23 20:03:11 +00:00

Fix gen_range + macaddress non unique

This commit is contained in:
chirac 2018-06-22 17:48:10 +02:00 committed by Gabriel Detraz
parent cf7be2b21f
commit 65b3c8768b
2 changed files with 24 additions and 6 deletions

View file

@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.7 on 2018-08-05 09:48
from __future__ import unicode_literals
from django.db import migrations
import macaddress.fields
class Migration(migrations.Migration):
dependencies = [
('machines', '0088_iptype_prefix_v6_length'),
]
operations = [
migrations.AlterField(
model_name='interface',
name='mac_address',
field=macaddress.fields.MACAddressField(integer=False, max_length=17),
),
]

View file

@ -351,12 +351,9 @@ class IpType(RevMixin, AclMixin, models.Model):
crée les ip une par une. Si elles existent déjà, met à jour le type crée les ip une par une. Si elles existent déjà, met à jour le type
associé à l'ip""" associé à l'ip"""
# Creation du range d'ip dans les objets iplist # Creation du range d'ip dans les objets iplist
networks = [] ip_obj = [IpList(ip_type=self, ipv4=str(ip)) for ip in self.ip_range]
for net in self.ip_range.cidrs():
networks += net.iter_hosts()
ip_obj = [IpList(ip_type=self, ipv4=str(ip)) for ip in networks]
listes_ip = IpList.objects.filter( listes_ip = IpList.objects.filter(
ipv4__in=[str(ip) for ip in networks] ipv4__in=[str(ip) for ip in self.ip_range]
) )
# Si il n'y a pas d'ip, on les crée # Si il n'y a pas d'ip, on les crée
if not listes_ip: if not listes_ip:
@ -900,7 +897,7 @@ class Interface(RevMixin, AclMixin, FieldPermissionModelMixin, models.Model):
blank=True, blank=True,
null=True null=True
) )
mac_address = MACAddressField(integer=False, unique=True) mac_address = MACAddressField(integer=False)
machine = models.ForeignKey('Machine', on_delete=models.CASCADE) machine = models.ForeignKey('Machine', on_delete=models.CASCADE)
type = models.ForeignKey('MachineType', on_delete=models.PROTECT) type = models.ForeignKey('MachineType', on_delete=models.PROTECT)
details = models.CharField(max_length=255, blank=True) details = models.CharField(max_length=255, blank=True)