mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-14 09:51:22 -06:00
For #18352, adds choices, model field, migration
Adds: - dcim.choices.PowerOutletStatusChoices - dcim.models.device_components.PowerOutlet.status field with `choices` set to PowerOutletStatusChoices - adds migration for PowerOutlet.status field - updates breaking view tests
This commit is contained in:
parent
b9b42cd3b4
commit
dbac09349b
@ -1627,6 +1627,23 @@ class PowerFeedPhaseChoices(ChoiceSet):
|
||||
)
|
||||
|
||||
|
||||
#
|
||||
# PowerOutlets
|
||||
#
|
||||
class PowerOutletStatusChoices(ChoiceSet):
|
||||
key = 'PowerOutlet.status'
|
||||
|
||||
STATUS_ENABLED = 'enabled'
|
||||
STATUS_DISABLED = 'disabled'
|
||||
STATUS_FAULTY = 'faulty'
|
||||
|
||||
CHOICES = [
|
||||
(STATUS_ENABLED, _('Enabled'), 'green'),
|
||||
(STATUS_DISABLED, _('Disabled'), 'red'),
|
||||
(STATUS_FAULTY, _('Faulty'), 'gray'),
|
||||
]
|
||||
|
||||
|
||||
#
|
||||
# VDC
|
||||
#
|
||||
|
16
netbox/dcim/migrations/0201_add_power_outlet_status.py
Normal file
16
netbox/dcim/migrations/0201_add_power_outlet_status.py
Normal file
@ -0,0 +1,16 @@
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('dcim', '0200_populate_mac_addresses'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='poweroutlet',
|
||||
name='status',
|
||||
field=models.CharField(default='enabled', max_length=50),
|
||||
),
|
||||
]
|
@ -449,6 +449,12 @@ class PowerOutlet(ModularComponentModel, CabledObjectModel, PathEndpoint, Tracki
|
||||
"""
|
||||
A physical power outlet (output) within a Device which provides power to a PowerPort.
|
||||
"""
|
||||
status = models.CharField(
|
||||
verbose_name=_('status'),
|
||||
max_length=50,
|
||||
choices=PowerOutletStatusChoices,
|
||||
default=PowerOutletStatusChoices.STATUS_ENABLED
|
||||
)
|
||||
type = models.CharField(
|
||||
verbose_name=_('type'),
|
||||
max_length=50,
|
||||
|
@ -2513,6 +2513,7 @@ class PowerOutletTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
||||
'device': device.pk,
|
||||
'name': 'Power Outlet X',
|
||||
'type': PowerOutletTypeChoices.TYPE_IEC_C13,
|
||||
'status': PowerOutletStatusChoices.STATUS_ENABLED,
|
||||
'power_port': powerports[1].pk,
|
||||
'feed_leg': PowerOutletFeedLegChoices.FEED_LEG_B,
|
||||
'description': 'A power outlet',
|
||||
@ -2523,6 +2524,7 @@ class PowerOutletTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
||||
'device': device.pk,
|
||||
'name': 'Power Outlet [4-6]',
|
||||
'type': PowerOutletTypeChoices.TYPE_IEC_C13,
|
||||
'status': PowerOutletStatusChoices.STATUS_ENABLED,
|
||||
'power_port': powerports[1].pk,
|
||||
'feed_leg': PowerOutletFeedLegChoices.FEED_LEG_B,
|
||||
'description': 'A power outlet',
|
||||
@ -2531,6 +2533,7 @@ class PowerOutletTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
||||
|
||||
cls.bulk_edit_data = {
|
||||
'type': PowerOutletTypeChoices.TYPE_IEC_C15,
|
||||
'status': PowerOutletStatusChoices.STATUS_ENABLED,
|
||||
'power_port': powerports[1].pk,
|
||||
'feed_leg': PowerOutletFeedLegChoices.FEED_LEG_B,
|
||||
'description': 'New description',
|
||||
|
Loading…
Reference in New Issue
Block a user