1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Delete deprecated ipam.Status model

This commit is contained in:
Jeremy Stretch
2016-05-17 16:54:34 -04:00
parent d101cff556
commit e9d09d9a16
9 changed files with 28 additions and 96 deletions

View File

@ -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 = {

View File

@ -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
# #
@ -21,23 +21,6 @@ class VRFNestedSerializer(VRFSerializer):
fields = ['id', 'name', 'rd'] fields = ['id', 'name', 'rd']
#
# 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:

View File

@ -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'),

View File

@ -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

View File

@ -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):

View File

@ -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}

View File

@ -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)

View File

@ -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',
),
]

View File

@ -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.)