Parcourir la source

Transitioning ipam.Status from model to static field

Jeremy Stretch il y a 9 ans
Parent
commit
2baa31bde1
2 fichiers modifiés avec 40 ajouts et 1 suppressions
  1. 25 0
      netbox/ipam/migrations/0002_auto_20160517_2007.py
  2. 15 1
      netbox/ipam/models.py

+ 25 - 0
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'),
+        ),
+    ]

+ 15 - 1
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: