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

Add associatiton from power outlet to power port/phase

This commit is contained in:
Jeremy Stretch
2019-04-10 14:16:16 -04:00
parent 0ddd71fc36
commit 3d5f85c0ca
8 changed files with 137 additions and 10 deletions

View File

@@ -977,16 +977,29 @@ class PowerPortTemplateCreateForm(ComponentForm):
class PowerOutletTemplateForm(BootstrapMixin, forms.ModelForm):
power_port = forms.ModelChoiceField(
queryset=PowerPortTemplate.objects.all(),
required=False
)
class Meta:
model = PowerOutletTemplate
fields = [
'device_type', 'name',
'device_type', 'name', 'power_port', 'feed_leg',
]
widgets = {
'device_type': forms.HiddenInput(),
}
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# Limit power_port choices to current DeviceType
self.fields['power_port'].queryset = PowerPortTemplate.objects.filter(
device_type=self.parent
)
class PowerOutletTemplateCreateForm(ComponentForm):
name_pattern = ExpandableNameField(
@@ -1972,6 +1985,10 @@ class PowerPortCreateForm(ComponentForm):
#
class PowerOutletForm(BootstrapMixin, forms.ModelForm):
power_port = forms.ModelChoiceField(
queryset=PowerPort.objects.all(),
required=False
)
tags = TagField(
required=False
)
@@ -1979,12 +1996,20 @@ class PowerOutletForm(BootstrapMixin, forms.ModelForm):
class Meta:
model = PowerOutlet
fields = [
'device', 'name', 'description', 'tags',
'device', 'name', 'power_port', 'feed_leg', 'description', 'tags',
]
widgets = {
'device': forms.HiddenInput(),
}
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# Limit power_port choices to the local device
self.fields['power_port'].queryset = PowerPort.objects.filter(
device=self.instance.device
)
class PowerOutletCreateForm(ComponentForm):
name_pattern = ExpandableNameField(
@@ -2004,6 +2029,10 @@ class PowerOutletBulkEditForm(BootstrapMixin, AddRemoveTagsForm, BulkEditForm):
queryset=PowerOutlet.objects.all(),
widget=forms.MultipleHiddenInput()
)
feed_leg = forms.ChoiceField(
choices=POWERFEED_LEG_CHOICES,
required=False,
)
description = forms.CharField(
max_length=100,
required=False