Browse Source

Renamed device status constants for clarity

Jeremy Stretch 7 years ago
parent
commit
4df128d34e

+ 3 - 3
netbox/dcim/api/serializers.py

@@ -7,8 +7,8 @@ from rest_framework.validators import UniqueTogetherValidator
 
 from circuits.models import Circuit, CircuitTermination
 from dcim.constants import (
-    CONNECTION_STATUS_CHOICES, IFACE_FF_CHOICES, IFACE_MODE_CHOICES, IFACE_ORDERING_CHOICES, RACK_FACE_CHOICES,
-    RACK_TYPE_CHOICES, RACK_WIDTH_CHOICES, STATUS_CHOICES, SUBDEVICE_ROLE_CHOICES,
+    CONNECTION_STATUS_CHOICES, DEVICE_STATUS_CHOICES, IFACE_FF_CHOICES, IFACE_MODE_CHOICES, IFACE_ORDERING_CHOICES,
+    RACK_FACE_CHOICES, RACK_TYPE_CHOICES, RACK_WIDTH_CHOICES, SUBDEVICE_ROLE_CHOICES,
 )
 from dcim.models import (
     ConsolePort, ConsolePortTemplate, ConsoleServerPort, ConsoleServerPortTemplate, Device, DeviceBay,
@@ -483,7 +483,7 @@ class DeviceSerializer(CustomFieldModelSerializer):
     site = NestedSiteSerializer()
     rack = NestedRackSerializer()
     face = ChoiceFieldSerializer(choices=RACK_FACE_CHOICES)
-    status = ChoiceFieldSerializer(choices=STATUS_CHOICES)
+    status = ChoiceFieldSerializer(choices=DEVICE_STATUS_CHOICES)
     primary_ip = DeviceIPAddressSerializer()
     primary_ip4 = DeviceIPAddressSerializer()
     primary_ip6 = DeviceIPAddressSerializer()

+ 13 - 13
netbox/dcim/constants.py

@@ -203,19 +203,19 @@ IFACE_MODE_CHOICES = [
 ]
 
 # Device statuses
-STATUS_OFFLINE = 0
-STATUS_ACTIVE = 1
-STATUS_PLANNED = 2
-STATUS_STAGED = 3
-STATUS_FAILED = 4
-STATUS_INVENTORY = 5
-STATUS_CHOICES = [
-    [STATUS_ACTIVE, 'Active'],
-    [STATUS_OFFLINE, 'Offline'],
-    [STATUS_PLANNED, 'Planned'],
-    [STATUS_STAGED, 'Staged'],
-    [STATUS_FAILED, 'Failed'],
-    [STATUS_INVENTORY, 'Inventory'],
+DEVICE_STATUS_OFFLINE = 0
+DEVICE_STATUS_ACTIVE = 1
+DEVICE_STATUS_PLANNED = 2
+DEVICE_STATUS_STAGED = 3
+DEVICE_STATUS_FAILED = 4
+DEVICE_STATUS_INVENTORY = 5
+DEVICE_STATUS_CHOICES = [
+    [DEVICE_STATUS_ACTIVE, 'Active'],
+    [DEVICE_STATUS_OFFLINE, 'Offline'],
+    [DEVICE_STATUS_PLANNED, 'Planned'],
+    [DEVICE_STATUS_STAGED, 'Staged'],
+    [DEVICE_STATUS_FAILED, 'Failed'],
+    [DEVICE_STATUS_INVENTORY, 'Inventory'],
 ]
 
 # Bootstrap CSS classes for device stasuses

+ 2 - 2
netbox/dcim/filters.py

@@ -11,7 +11,7 @@ from tenancy.models import Tenant
 from utilities.filters import NullableCharFieldFilter, NumericInFilter
 from virtualization.models import Cluster
 from .constants import (
-    IFACE_FF_LAG, NONCONNECTABLE_IFACE_TYPES, STATUS_CHOICES, VIRTUAL_IFACE_TYPES, WIRELESS_IFACE_TYPES,
+    DEVICE_STATUS_CHOICES, IFACE_FF_LAG, NONCONNECTABLE_IFACE_TYPES, VIRTUAL_IFACE_TYPES, WIRELESS_IFACE_TYPES,
 )
 from .models import (
     ConsolePort, ConsolePortTemplate, ConsoleServerPort, ConsoleServerPortTemplate, Device, DeviceBay,
@@ -446,7 +446,7 @@ class DeviceFilter(CustomFieldFilterSet, django_filters.FilterSet):
         label='Device model (slug)',
     )
     status = django_filters.MultipleChoiceFilter(
-        choices=STATUS_CHOICES,
+        choices=DEVICE_STATUS_CHOICES,
         null_value=None
     )
     is_full_depth = django_filters.BooleanFilter(

+ 7 - 7
netbox/dcim/forms.py

@@ -22,10 +22,10 @@ from utilities.forms import (
 )
 from virtualization.models import Cluster
 from .constants import (
-    CONNECTION_STATUS_CHOICES, CONNECTION_STATUS_CONNECTED, IFACE_FF_CHOICES, IFACE_FF_LAG, IFACE_MODE_ACCESS,
-    IFACE_MODE_CHOICES, IFACE_MODE_TAGGED_ALL, IFACE_ORDERING_CHOICES, RACK_FACE_CHOICES, RACK_TYPE_CHOICES,
-    RACK_WIDTH_CHOICES, RACK_WIDTH_19IN, RACK_WIDTH_23IN, STATUS_CHOICES, SUBDEVICE_ROLE_CHILD, SUBDEVICE_ROLE_PARENT,
-    SUBDEVICE_ROLE_CHOICES,
+    CONNECTION_STATUS_CHOICES, CONNECTION_STATUS_CONNECTED, DEVICE_STATUS_CHOICES, IFACE_FF_CHOICES, IFACE_FF_LAG,
+    IFACE_MODE_ACCESS, IFACE_MODE_CHOICES, IFACE_MODE_TAGGED_ALL, IFACE_ORDERING_CHOICES, RACK_FACE_CHOICES,
+    RACK_TYPE_CHOICES, RACK_WIDTH_CHOICES, RACK_WIDTH_19IN, RACK_WIDTH_23IN, SUBDEVICE_ROLE_CHILD,
+    SUBDEVICE_ROLE_PARENT, SUBDEVICE_ROLE_CHOICES,
 )
 from .formfields import MACAddressFormField
 from .models import (
@@ -888,7 +888,7 @@ class BaseDeviceCSVForm(forms.ModelForm):
         }
     )
     status = CSVChoiceField(
-        choices=STATUS_CHOICES,
+        choices=DEVICE_STATUS_CHOICES,
         help_text='Operational status of device'
     )
 
@@ -1025,7 +1025,7 @@ class DeviceBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm):
     device_role = forms.ModelChoiceField(queryset=DeviceRole.objects.all(), required=False, label='Role')
     tenant = forms.ModelChoiceField(queryset=Tenant.objects.all(), required=False)
     platform = forms.ModelChoiceField(queryset=Platform.objects.all(), required=False)
-    status = forms.ChoiceField(choices=add_blank_choice(STATUS_CHOICES), required=False, initial='')
+    status = forms.ChoiceField(choices=add_blank_choice(DEVICE_STATUS_CHOICES), required=False, initial='')
     serial = forms.CharField(max_length=50, required=False, label='Serial Number')
 
     class Meta:
@@ -1036,7 +1036,7 @@ def device_status_choices():
     status_counts = {}
     for status in Device.objects.values('status').annotate(count=Count('status')).order_by('status'):
         status_counts[status['status']] = status['count']
-    return [(s[0], '{} ({})'.format(s[1], status_counts.get(s[0], 0))) for s in STATUS_CHOICES]
+    return [(s[0], '{} ({})'.format(s[1], status_counts.get(s[0], 0))) for s in DEVICE_STATUS_CHOICES]
 
 
 class DeviceFilterForm(BootstrapMixin, CustomFieldFilterForm):

+ 1 - 1
netbox/dcim/models.py

@@ -844,7 +844,7 @@ class Device(CreatedUpdatedModel, CustomFieldModel):
         help_text='The lowest-numbered unit occupied by the device'
     )
     face = models.PositiveSmallIntegerField(blank=True, null=True, choices=RACK_FACE_CHOICES, verbose_name='Rack face')
-    status = models.PositiveSmallIntegerField(choices=STATUS_CHOICES, default=STATUS_ACTIVE, verbose_name='Status')
+    status = models.PositiveSmallIntegerField(choices=DEVICE_STATUS_CHOICES, default=DEVICE_STATUS_ACTIVE, verbose_name='Status')
     primary_ip4 = models.OneToOneField(
         'ipam.IPAddress', related_name='primary_ip4_for', on_delete=models.SET_NULL, blank=True, null=True,
         verbose_name='Primary IPv4'

+ 4 - 4
netbox/dcim/tests/test_forms.py

@@ -26,7 +26,7 @@ class DeviceTestCase(TestCase):
             'face': RACK_FACE_FRONT,
             'position': 41,
             'platform': get_id(Platform, 'juniper-junos'),
-            'status': STATUS_ACTIVE,
+            'status': DEVICE_STATUS_ACTIVE,
         })
         self.assertTrue(test.is_valid(), test.fields['position'].choices)
         self.assertTrue(test.save())
@@ -43,7 +43,7 @@ class DeviceTestCase(TestCase):
             'face': RACK_FACE_FRONT,
             'position': 1,
             'platform': get_id(Platform, 'juniper-junos'),
-            'status': STATUS_ACTIVE,
+            'status': DEVICE_STATUS_ACTIVE,
         })
         self.assertFalse(test.is_valid())
 
@@ -59,7 +59,7 @@ class DeviceTestCase(TestCase):
             'face': None,
             'position': None,
             'platform': None,
-            'status': STATUS_ACTIVE,
+            'status': DEVICE_STATUS_ACTIVE,
         })
         self.assertTrue(test.is_valid())
         self.assertTrue(test.save())
@@ -76,7 +76,7 @@ class DeviceTestCase(TestCase):
             'face': RACK_FACE_REAR,
             'position': None,
             'platform': None,
-            'status': STATUS_ACTIVE,
+            'status': DEVICE_STATUS_ACTIVE,
         })
         self.assertTrue(test.is_valid())
         self.assertTrue(test.save())

+ 2 - 2
netbox/extras/management/commands/run_inventory.py

@@ -8,7 +8,7 @@ from django.db import transaction
 from ncclient.transport.errors import AuthenticationError
 from paramiko import AuthenticationException
 
-from dcim.models import Device, InventoryItem, Site, STATUS_ACTIVE
+from dcim.models import DEVICE_STATUS_ACTIVE, Device, InventoryItem, Site
 
 
 class Command(BaseCommand):
@@ -41,7 +41,7 @@ class Command(BaseCommand):
             self.password = getpass("Password: ")
 
         # Attempt to inventory only active devices
-        device_list = Device.objects.filter(status=STATUS_ACTIVE)
+        device_list = Device.objects.filter(status=DEVICE_STATUS_ACTIVE)
 
         # --site: Include only devices belonging to specified site(s)
         if options['site']:

+ 2 - 2
netbox/virtualization/api/serializers.py

@@ -9,7 +9,7 @@ from extras.api.customfields import CustomFieldModelSerializer
 from ipam.models import IPAddress
 from tenancy.api.serializers import NestedTenantSerializer
 from utilities.api import ChoiceFieldSerializer, ValidatedModelSerializer
-from virtualization.constants import STATUS_CHOICES
+from virtualization.constants import VM_STATUS_CHOICES
 from virtualization.models import Cluster, ClusterGroup, ClusterType, VirtualMachine
 
 
@@ -94,7 +94,7 @@ class VirtualMachineIPAddressSerializer(serializers.ModelSerializer):
 
 
 class VirtualMachineSerializer(CustomFieldModelSerializer):
-    status = ChoiceFieldSerializer(choices=STATUS_CHOICES)
+    status = ChoiceFieldSerializer(choices=VM_STATUS_CHOICES)
     cluster = NestedClusterSerializer()
     role = NestedDeviceRoleSerializer()
     tenant = NestedTenantSerializer()

+ 5 - 5
netbox/virtualization/constants.py

@@ -1,12 +1,12 @@
 from __future__ import unicode_literals
 
-from dcim.constants import STATUS_ACTIVE, STATUS_OFFLINE, STATUS_STAGED
+from dcim.constants import DEVICE_STATUS_ACTIVE, DEVICE_STATUS_OFFLINE, DEVICE_STATUS_STAGED
 
 # VirtualMachine statuses (replicated from Device statuses)
-STATUS_CHOICES = [
-    [STATUS_ACTIVE, 'Active'],
-    [STATUS_OFFLINE, 'Offline'],
-    [STATUS_STAGED, 'Staged'],
+VM_STATUS_CHOICES = [
+    [DEVICE_STATUS_ACTIVE, 'Active'],
+    [DEVICE_STATUS_OFFLINE, 'Offline'],
+    [DEVICE_STATUS_STAGED, 'Staged'],
 ]
 
 # Bootstrap CSS classes for VirtualMachine statuses

+ 2 - 2
netbox/virtualization/filters.py

@@ -9,7 +9,7 @@ from dcim.models import DeviceRole, Interface, Platform, Site
 from extras.filters import CustomFieldFilterSet
 from tenancy.models import Tenant
 from utilities.filters import NumericInFilter
-from .constants import STATUS_CHOICES
+from .constants import VM_STATUS_CHOICES
 from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine
 
 
@@ -70,7 +70,7 @@ class VirtualMachineFilter(CustomFieldFilterSet):
         label='Search',
     )
     status = django_filters.MultipleChoiceFilter(
-        choices=STATUS_CHOICES,
+        choices=VM_STATUS_CHOICES,
         null_value=None
     )
     cluster_group_id = django_filters.ModelMultipleChoiceFilter(

+ 4 - 4
netbox/virtualization/forms.py

@@ -16,7 +16,7 @@ from utilities.forms import (
     ChainedFieldsMixin, ChainedModelChoiceField, ChainedModelMultipleChoiceField, CommentField, ComponentForm,
     ConfirmationForm, CSVChoiceField, ExpandableNameField, FilterChoiceField, SlugField, SmallTextarea,
 )
-from .constants import STATUS_CHOICES
+from .constants import VM_STATUS_CHOICES
 from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine
 
 VIFACE_FF_CHOICES = (
@@ -264,7 +264,7 @@ class VirtualMachineForm(BootstrapMixin, TenancyForm, CustomFieldForm):
 
 class VirtualMachineCSVForm(forms.ModelForm):
     status = CSVChoiceField(
-        choices=STATUS_CHOICES,
+        choices=VM_STATUS_CHOICES,
         required=False,
         help_text='Operational status of device'
     )
@@ -311,7 +311,7 @@ class VirtualMachineCSVForm(forms.ModelForm):
 
 class VirtualMachineBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm):
     pk = forms.ModelMultipleChoiceField(queryset=VirtualMachine.objects.all(), widget=forms.MultipleHiddenInput)
-    status = forms.ChoiceField(choices=add_blank_choice(STATUS_CHOICES), required=False, initial='')
+    status = forms.ChoiceField(choices=add_blank_choice(VM_STATUS_CHOICES), required=False, initial='')
     cluster = forms.ModelChoiceField(queryset=Cluster.objects.all(), required=False)
     role = forms.ModelChoiceField(queryset=DeviceRole.objects.filter(vm_role=True), required=False)
     tenant = forms.ModelChoiceField(queryset=Tenant.objects.all(), required=False)
@@ -329,7 +329,7 @@ def vm_status_choices():
     status_counts = {}
     for status in VirtualMachine.objects.values('status').annotate(count=Count('status')).order_by('status'):
         status_counts[status['status']] = status['count']
-    return [(s[0], '{} ({})'.format(s[1], status_counts.get(s[0], 0))) for s in STATUS_CHOICES]
+    return [(s[0], '{} ({})'.format(s[1], status_counts.get(s[0], 0))) for s in VM_STATUS_CHOICES]
 
 
 class VirtualMachineFilterForm(BootstrapMixin, CustomFieldFilterForm):

+ 3 - 3
netbox/virtualization/models.py

@@ -11,7 +11,7 @@ from dcim.models import Device
 from extras.models import CustomFieldModel, CustomFieldValue
 from utilities.models import CreatedUpdatedModel
 from utilities.utils import csv_format
-from .constants import STATUS_ACTIVE, STATUS_CHOICES, VM_STATUS_CLASSES
+from .constants import DEVICE_STATUS_ACTIVE, VM_STATUS_CHOICES, VM_STATUS_CLASSES
 
 
 #
@@ -177,8 +177,8 @@ class VirtualMachine(CreatedUpdatedModel, CustomFieldModel):
         unique=True
     )
     status = models.PositiveSmallIntegerField(
-        choices=STATUS_CHOICES,
-        default=STATUS_ACTIVE,
+        choices=VM_STATUS_CHOICES,
+        default=DEVICE_STATUS_ACTIVE,
         verbose_name='Status'
     )
     role = models.ForeignKey(