Browse Source

Delete deprecated ipam.Status model

Jeremy Stretch 9 years ago
parent
commit
e9d09d9a16

+ 0 - 8
netbox/ipam/admin.py

@@ -8,14 +8,6 @@ class VRFAdmin(admin.ModelAdmin):
     list_display = ['name', 'rd']
     list_display = ['name', 'rd']
 
 
 
 
-@admin.register(Status)
-class StatusAdmin(admin.ModelAdmin):
-    prepopulated_fields = {
-        'slug': ['name'],
-    }
-    list_display = ['name', 'slug', 'weight', 'bootstrap_class']
-
-
 @admin.register(Role)
 @admin.register(Role)
 class RoleAdmin(admin.ModelAdmin):
 class RoleAdmin(admin.ModelAdmin):
     prepopulated_fields = {
     prepopulated_fields = {

+ 1 - 20
netbox/ipam/api/serializers.py

@@ -1,7 +1,7 @@
 from rest_framework import serializers
 from rest_framework import serializers
 
 
 from dcim.api.serializers import SiteNestedSerializer, InterfaceNestedSerializer
 from dcim.api.serializers import SiteNestedSerializer, InterfaceNestedSerializer
-from ipam.models import VRF, Status, Role, RIR, Aggregate, Prefix, IPAddress, VLAN
+from ipam.models import VRF, Role, RIR, Aggregate, Prefix, IPAddress, VLAN
 
 
 
 
 #
 #
@@ -22,23 +22,6 @@ class VRFNestedSerializer(VRFSerializer):
 
 
 
 
 #
 #
-# Statuses
-#
-
-class StatusSerializer(serializers.ModelSerializer):
-
-    class Meta:
-        model = Status
-        fields = ['id', 'name', 'slug', 'weight', 'bootstrap_class']
-
-
-class StatusNestedSerializer(StatusSerializer):
-
-    class Meta(StatusSerializer.Meta):
-        fields = ['id', 'name', 'slug']
-
-
-#
 # Roles
 # Roles
 #
 #
 
 
@@ -97,7 +80,6 @@ class AggregateNestedSerializer(AggregateSerializer):
 class VLANSerializer(serializers.ModelSerializer):
 class VLANSerializer(serializers.ModelSerializer):
     display_name = serializers.SerializerMethodField()
     display_name = serializers.SerializerMethodField()
     site = SiteNestedSerializer()
     site = SiteNestedSerializer()
-    status = StatusNestedSerializer()
     role = RoleNestedSerializer()
     role = RoleNestedSerializer()
 
 
     class Meta:
     class Meta:
@@ -122,7 +104,6 @@ class PrefixSerializer(serializers.ModelSerializer):
     site = SiteNestedSerializer()
     site = SiteNestedSerializer()
     vrf = VRFNestedSerializer()
     vrf = VRFNestedSerializer()
     vlan = VLANNestedSerializer()
     vlan = VLANNestedSerializer()
-    status = StatusNestedSerializer()
     role = RoleNestedSerializer()
     role = RoleNestedSerializer()
 
 
     class Meta:
     class Meta:

+ 0 - 4
netbox/ipam/api/urls.py

@@ -9,10 +9,6 @@ urlpatterns = [
     url(r'^vrfs/$', VRFListView.as_view(), name='vrf_list'),
     url(r'^vrfs/$', VRFListView.as_view(), name='vrf_list'),
     url(r'^vrfs/(?P<pk>\d+)/$', VRFDetailView.as_view(), name='vrf_detail'),
     url(r'^vrfs/(?P<pk>\d+)/$', VRFDetailView.as_view(), name='vrf_detail'),
 
 
-    # Statuses
-    url(r'^statuses/$', StatusListView.as_view(), name='status_list'),
-    url(r'^statuses/(?P<pk>\d+)/$', StatusDetailView.as_view(), name='status_detail'),
-
     # Roles
     # Roles
     url(r'^roles/$', RoleListView.as_view(), name='role_list'),
     url(r'^roles/$', RoleListView.as_view(), name='role_list'),
     url(r'^roles/(?P<pk>\d+)/$', RoleDetailView.as_view(), name='role_detail'),
     url(r'^roles/(?P<pk>\d+)/$', RoleDetailView.as_view(), name='role_detail'),

+ 7 - 23
netbox/ipam/api/views.py

@@ -1,9 +1,9 @@
 from rest_framework import generics
 from rest_framework import generics
 
 
-from ipam.models import VRF, Status, Role, RIR, Aggregate, Prefix, IPAddress, VLAN
+from ipam.models import VRF, Role, RIR, Aggregate, Prefix, IPAddress, VLAN
 from ipam.filters import AggregateFilter, PrefixFilter, IPAddressFilter, VLANFilter
 from ipam.filters import AggregateFilter, PrefixFilter, IPAddressFilter, VLANFilter
-from .serializers import VRFSerializer, StatusSerializer, RoleSerializer, RIRSerializer, AggregateSerializer, \
+from .serializers import VRFSerializer, RoleSerializer, RIRSerializer, AggregateSerializer, PrefixSerializer,\
-    PrefixSerializer, IPAddressSerializer, VLANSerializer
+    IPAddressSerializer, VLANSerializer
 
 
 
 
 class VRFListView(generics.ListAPIView):
 class VRFListView(generics.ListAPIView):
@@ -22,22 +22,6 @@ class VRFDetailView(generics.RetrieveAPIView):
     serializer_class = VRFSerializer
     serializer_class = VRFSerializer
 
 
 
 
-class StatusListView(generics.ListAPIView):
-    """
-    List all statuses
-    """
-    queryset = Status.objects.all()
-    serializer_class = StatusSerializer
-
-
-class StatusDetailView(generics.RetrieveAPIView):
-    """
-    Retrieve a single status
-    """
-    queryset = Status.objects.all()
-    serializer_class = StatusSerializer
-
-
 class RoleListView(generics.ListAPIView):
 class RoleListView(generics.ListAPIView):
     """
     """
     List all roles
     List all roles
@@ -91,7 +75,7 @@ class PrefixListView(generics.ListAPIView):
     """
     """
     List prefixes (filterable)
     List prefixes (filterable)
     """
     """
-    queryset = Prefix.objects.select_related('site', 'vrf', 'vlan', 'status', 'role')
+    queryset = Prefix.objects.select_related('site', 'vrf', 'vlan', 'role')
     serializer_class = PrefixSerializer
     serializer_class = PrefixSerializer
     filter_class = PrefixFilter
     filter_class = PrefixFilter
 
 
@@ -100,7 +84,7 @@ class PrefixDetailView(generics.RetrieveAPIView):
     """
     """
     Retrieve a single prefix
     Retrieve a single prefix
     """
     """
-    queryset = Prefix.objects.select_related('site', 'vrf', 'vlan', 'status', 'role')
+    queryset = Prefix.objects.select_related('site', 'vrf', 'vlan', 'role')
     serializer_class = PrefixSerializer
     serializer_class = PrefixSerializer
 
 
 
 
@@ -127,7 +111,7 @@ class VLANListView(generics.ListAPIView):
     """
     """
     List VLANs (filterable)
     List VLANs (filterable)
     """
     """
-    queryset = VLAN.objects.select_related('site', 'status', 'role')
+    queryset = VLAN.objects.select_related('site', 'role')
     serializer_class = VLANSerializer
     serializer_class = VLANSerializer
     filter_class = VLANFilter
     filter_class = VLANFilter
 
 
@@ -136,5 +120,5 @@ class VLANDetailView(generics.RetrieveAPIView):
     """
     """
     Retrieve a single VLAN
     Retrieve a single VLAN
     """
     """
-    queryset = VLAN.objects.select_related('site', 'status', 'role')
+    queryset = VLAN.objects.select_related('site', 'role')
     serializer_class = VLANSerializer
     serializer_class = VLANSerializer

+ 1 - 1
netbox/ipam/filters.py

@@ -3,7 +3,7 @@ from netaddr import IPNetwork
 from netaddr.core import AddrFormatError
 from netaddr.core import AddrFormatError
 
 
 from dcim.models import Site, Device, Interface
 from dcim.models import Site, Device, Interface
-from ipam.models import RIR, Aggregate, VRF, Prefix, IPAddress, VLAN, Status, Role
+from ipam.models import RIR, Aggregate, VRF, Prefix, IPAddress, VLAN, Role
 
 
 
 
 class VRFFilter(django_filters.FilterSet):
 class VRFFilter(django_filters.FilterSet):

+ 0 - 6
netbox/ipam/fixtures/ipam.yaml

@@ -1,9 +1,3 @@
-- model: ipam.status
-  pk: 1
-  fields: {name: Active, slug: active, weight: 1000, bootstrap_class: 1}
-- model: ipam.status
-  pk: 2
-  fields: {name: Inactive, slug: inactive, weight: 500, bootstrap_class: 3}
 - model: ipam.role
 - model: ipam.role
   pk: 1
   pk: 1
   fields: {name: Lab Network, slug: lab-network, weight: 1000}
   fields: {name: Lab Network, slug: lab-network, weight: 1000}

+ 1 - 8
netbox/ipam/forms.py

@@ -5,8 +5,7 @@ from django.db.models import Count
 
 
 from dcim.models import Site, Device, Interface
 from dcim.models import Site, Device, Interface
 from utilities.forms import BootstrapMixin, ConfirmationForm, APISelect, Livesearch, CSVDataField, BulkImportForm
 from utilities.forms import BootstrapMixin, ConfirmationForm, APISelect, Livesearch, CSVDataField, BulkImportForm
-from .models import VRF, RIR, Aggregate, Role, Status, Prefix, IPAddress, VLAN, PREFIX_STATUS_CHOICES,\
+from .models import VRF, RIR, Aggregate, Role, Prefix, IPAddress, VLAN, PREFIX_STATUS_CHOICES, VLAN_STATUS_CHOICES
-    VLAN_STATUS_CHOICES
 
 
 
 
 #
 #
@@ -181,8 +180,6 @@ class PrefixFromCSVForm(forms.ModelForm):
                                  error_messages={'invalid_choice': 'VRF not found.'})
                                  error_messages={'invalid_choice': 'VRF not found.'})
     site = forms.ModelChoiceField(queryset=Site.objects.all(), required=False, to_field_name='name',
     site = forms.ModelChoiceField(queryset=Site.objects.all(), required=False, to_field_name='name',
                                   error_messages={'invalid_choice': 'Site not found.'})
                                   error_messages={'invalid_choice': 'Site not found.'})
-    status = forms.ModelChoiceField(queryset=Status.objects.all(), to_field_name='name',
-                                    error_messages={'invalid_choice': 'Invalid status.'})
     role = forms.ModelChoiceField(queryset=Role.objects.all(), required=False, to_field_name='name',
     role = forms.ModelChoiceField(queryset=Role.objects.all(), required=False, to_field_name='name',
                                   error_messages={'invalid_choice': 'Invalid role.'})
                                   error_messages={'invalid_choice': 'Invalid role.'})
 
 
@@ -201,7 +198,6 @@ class PrefixBulkEditForm(forms.Form, BootstrapMixin):
     vrf = forms.ModelChoiceField(queryset=VRF.objects.all(), required=False, label='VRF',
     vrf = forms.ModelChoiceField(queryset=VRF.objects.all(), required=False, label='VRF',
                                  help_text="Select the VRF to assign, or check below to remove VRF assignment")
                                  help_text="Select the VRF to assign, or check below to remove VRF assignment")
     vrf_global = forms.BooleanField(required=False, label='Set VRF to global')
     vrf_global = forms.BooleanField(required=False, label='Set VRF to global')
-    status = forms.ModelChoiceField(queryset=Status.objects.all(), required=False)
     role = forms.ModelChoiceField(queryset=Role.objects.all(), required=False)
     role = forms.ModelChoiceField(queryset=Role.objects.all(), required=False)
     description = forms.CharField(max_length=50, required=False)
     description = forms.CharField(max_length=50, required=False)
 
 
@@ -396,8 +392,6 @@ class VLANForm(forms.ModelForm, BootstrapMixin):
 class VLANFromCSVForm(forms.ModelForm):
 class VLANFromCSVForm(forms.ModelForm):
     site = forms.ModelChoiceField(queryset=Site.objects.all(), to_field_name='name',
     site = forms.ModelChoiceField(queryset=Site.objects.all(), to_field_name='name',
                                   error_messages={'invalid_choice': 'Device not found.'})
                                   error_messages={'invalid_choice': 'Device not found.'})
-    status = forms.ModelChoiceField(queryset=Status.objects.all(), to_field_name='name',
-                                    error_messages={'invalid_choice': 'Invalid status.'})
     role = forms.ModelChoiceField(queryset=Role.objects.all(), required=False, to_field_name='name',
     role = forms.ModelChoiceField(queryset=Role.objects.all(), required=False, to_field_name='name',
                                   error_messages={'invalid_choice': 'Invalid role.'})
                                   error_messages={'invalid_choice': 'Invalid role.'})
 
 
@@ -413,7 +407,6 @@ class VLANImportForm(BulkImportForm, BootstrapMixin):
 class VLANBulkEditForm(forms.Form, BootstrapMixin):
 class VLANBulkEditForm(forms.Form, BootstrapMixin):
     pk = forms.ModelMultipleChoiceField(queryset=VLAN.objects.all(), widget=forms.MultipleHiddenInput)
     pk = forms.ModelMultipleChoiceField(queryset=VLAN.objects.all(), widget=forms.MultipleHiddenInput)
     site = forms.ModelChoiceField(queryset=Site.objects.all(), required=False)
     site = forms.ModelChoiceField(queryset=Site.objects.all(), required=False)
-    status = forms.ModelChoiceField(queryset=Status.objects.all(), required=False)
     role = forms.ModelChoiceField(queryset=Role.objects.all(), required=False)
     role = forms.ModelChoiceField(queryset=Role.objects.all(), required=False)
 
 
 
 

+ 18 - 0
netbox/ipam/migrations/0005_delete_status.py

@@ -0,0 +1,18 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.5 on 2016-05-17 20:54
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('ipam', '0004_auto_20160517_2044'),
+    ]
+
+    operations = [
+        migrations.DeleteModel(
+            name='Status',
+        ),
+    ]

+ 0 - 26
netbox/ipam/models.py

@@ -27,15 +27,6 @@ VLAN_STATUS_CHOICES = (
     (3, 'Deprecated')
     (3, 'Deprecated')
 )
 )
 
 
-BOOTSTRAP_CLASS_CHOICES = (
-    (0, 'Default'),
-    (1, 'Primary'),
-    (2, 'Success'),
-    (3, 'Info'),
-    (4, 'Warning'),
-    (5, 'Danger'),
-)
-
 STATUS_CHOICE_CLASSES = {
 STATUS_CHOICE_CLASSES = {
     0: 'default',
     0: 'default',
     1: 'primary',
     1: 'primary',
@@ -136,23 +127,6 @@ class Aggregate(models.Model):
         return int(children_size / self.prefix.size * 100)
         return int(children_size / self.prefix.size * 100)
 
 
 
 
-class Status(models.Model):
-    """
-    The status of a prefix or VLAN (e.g. allocated, reserved, etc.)
-    """
-    name = models.CharField(max_length=50, unique=True)
-    slug = models.SlugField(unique=True)
-    weight = models.PositiveSmallIntegerField(default=1000)
-    bootstrap_class = models.PositiveSmallIntegerField(choices=BOOTSTRAP_CLASS_CHOICES, default=0)
-
-    class Meta:
-        ordering = ['weight', 'name']
-        verbose_name_plural = 'statuses'
-
-    def __unicode__(self):
-        return self.name
-
-
 class Role(models.Model):
 class Role(models.Model):
     """
     """
     The role of an address resource (e.g. customer, infrastructure, mgmt, etc.)
     The role of an address resource (e.g. customer, infrastructure, mgmt, etc.)