From 2baa31bde1801df93d747e3b7037ed353a34c94a Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 17 May 2016 16:13:27 -0400 Subject: [PATCH] Transitioning ipam.Status from model to static field --- .../migrations/0002_auto_20160517_2007.py | 25 +++++++++++++++++++ netbox/ipam/models.py | 16 +++++++++++- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 netbox/ipam/migrations/0002_auto_20160517_2007.py diff --git a/netbox/ipam/migrations/0002_auto_20160517_2007.py b/netbox/ipam/migrations/0002_auto_20160517_2007.py new file mode 100644 index 000000000..597bb5130 --- /dev/null +++ b/netbox/ipam/migrations/0002_auto_20160517_2007.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.5 on 2016-05-17 20:07 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('ipam', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='prefix', + name='status_new', + field=models.PositiveSmallIntegerField(choices=[(0, b'Container'), (1, b'Active'), (2, b'Reserved'), (3, b'Deprecated')], default=1, verbose_name=b'Status'), + ), + migrations.AddField( + model_name='vlan', + name='status_new', + field=models.PositiveSmallIntegerField(choices=[(1, b'Active'), (2, b'Reserved'), (3, b'Deprecated')], default=1, verbose_name=b'Status'), + ), + ] diff --git a/netbox/ipam/models.py b/netbox/ipam/models.py index a3ea25d11..2d78d03c3 100644 --- a/netbox/ipam/models.py +++ b/netbox/ipam/models.py @@ -14,6 +14,19 @@ AF_CHOICES = ( (6, 'IPv6'), ) +PREFIX_STATUS_CHOICES = ( + (0, 'Container'), + (1, 'Active'), + (2, 'Reserved'), + (3, 'Deprecated') +) + +VLAN_STATUS_CHOICES = ( + (1, 'Active'), + (2, 'Reserved'), + (3, 'Deprecated') +) + BOOTSTRAP_CLASS_CHOICES = ( (0, 'Default'), (1, 'Primary'), @@ -97,7 +110,6 @@ class Aggregate(models.Model): raise ValidationError("{} is already covered by an existing aggregate ({})" .format(self.prefix, covering_aggregates[0])) - def save(self, *args, **kwargs): if self.prefix: # Infer address family from IPNetwork object @@ -202,6 +214,7 @@ class Prefix(models.Model): vrf = models.ForeignKey('VRF', related_name='prefixes', on_delete=models.PROTECT, blank=True, null=True, verbose_name='VRF') vlan = models.ForeignKey('VLAN', related_name='prefixes', on_delete=models.PROTECT, blank=True, null=True, verbose_name='VLAN') status = models.ForeignKey('Status', related_name='prefixes', on_delete=models.PROTECT) + status_new = models.PositiveSmallIntegerField('Status', choices=PREFIX_STATUS_CHOICES, default=1) role = models.ForeignKey('Role', related_name='prefixes', on_delete=models.SET_NULL, blank=True, null=True) description = models.CharField(max_length=100, blank=True) @@ -283,6 +296,7 @@ class VLAN(models.Model): ]) name = models.CharField(max_length=30) status = models.ForeignKey('Status', related_name='vlans', on_delete=models.PROTECT) + status_new = models.PositiveSmallIntegerField('Status', choices=VLAN_STATUS_CHOICES, default=1) role = models.ForeignKey('Role', related_name='vlans', on_delete=models.SET_NULL, blank=True, null=True) class Meta: