Просмотр исходного кода

Merge pull request #4102 from kobayashi/4093-vm-status-choice

Fixes #4093: Additional status choices for vms
Jeremy Stretch 6 лет назад
Родитель
Сommit
0d91b6b74b

+ 1 - 0
docs/release-notes/version-2.7.md

@@ -5,6 +5,7 @@
 * [#3766](https://github.com/netbox-community/netbox/issues/3766) - Allow custom script authors to specify the form widget for each variable
 * [#3799](https://github.com/netbox-community/netbox/issues/3799) - Greatly improve performance when ordering device components
 * [#3986](https://github.com/netbox-community/netbox/issues/3986) - Include position numbers in SVG image when rendering rack elevation
+* [#4093](https://github.com/netbox-community/netbox/issues/4093) - Add multiple status choices for VMs
 * [#4100](https://github.com/netbox-community/netbox/issues/4100) - Add device filter to component list views
 * [#4113](https://github.com/netbox-community/netbox/issues/4113) - Add bulk edit functionality for device type components
 * [#4116](https://github.com/netbox-community/netbox/issues/4116) - Enable bulk edit and delete functions for device component list views

+ 8 - 2
netbox/virtualization/choices.py

@@ -8,14 +8,20 @@ from utilities.choices import ChoiceSet
 
 class VirtualMachineStatusChoices(ChoiceSet):
 
-    STATUS_ACTIVE = 'active'
     STATUS_OFFLINE = 'offline'
+    STATUS_ACTIVE = 'active'
+    STATUS_PLANNED = 'planned'
     STATUS_STAGED = 'staged'
+    STATUS_FAILED = 'failed'
+    STATUS_DECOMMISSIONING = 'decommissioning'
 
     CHOICES = (
-        (STATUS_ACTIVE, 'Active'),
         (STATUS_OFFLINE, 'Offline'),
+        (STATUS_ACTIVE, 'Active'),
+        (STATUS_PLANNED, 'Planned'),
         (STATUS_STAGED, 'Staged'),
+        (STATUS_FAILED, 'Failed'),
+        (STATUS_DECOMMISSIONING, 'Decommissioning'),
     )
 
     LEGACY_MAP = {

+ 6 - 3
netbox/virtualization/models.py

@@ -267,9 +267,12 @@ class VirtualMachine(ChangeLoggedModel, ConfigContextModel, CustomFieldModel):
     ]
 
     STATUS_CLASS_MAP = {
-        'active': 'success',
-        'offline': 'warning',
-        'staged': 'primary',
+        VirtualMachineStatusChoices.STATUS_OFFLINE: 'warning',
+        VirtualMachineStatusChoices.STATUS_ACTIVE: 'success',
+        VirtualMachineStatusChoices.STATUS_PLANNED: 'info',
+        VirtualMachineStatusChoices.STATUS_STAGED: 'primary',
+        VirtualMachineStatusChoices.STATUS_FAILED: 'danger',
+        VirtualMachineStatusChoices.STATUS_DECOMMISSIONING: 'warning',
     }
 
     class Meta: