Sfoglia il codice sorgente

Fixes #3137: Add power_port and feed_leg fields to power outlet creation form

Jeremy Stretch 6 anni fa
parent
commit
25c8007b66
2 ha cambiato i file con 17 aggiunte e 2 eliminazioni
  1. 1 1
      CHANGELOG.md
  2. 16 1
      netbox/dcim/forms.py

+ 1 - 1
CHANGELOG.md

@@ -7,7 +7,7 @@ v2.6.0 (FUTURE)
 * [#3126](https://github.com/digitalocean/netbox/issues/3126) - Incorrect calculation of PowerFeed available power
 * [#3130](https://github.com/digitalocean/netbox/issues/3130) - Fix exception when creating a new power outlet
 * [#3136](https://github.com/digitalocean/netbox/issues/3136) - Add power draw fields to power port creation form
-
+* [#3137](https://github.com/digitalocean/netbox/issues/3137) - Add `power_port` and `feed_leg` fields to power outlet creation form
 
 ---
 

+ 16 - 1
netbox/dcim/forms.py

@@ -2026,6 +2026,14 @@ class PowerOutletCreateForm(ComponentForm):
     name_pattern = ExpandableNameField(
         label='Name'
     )
+    power_port = forms.ModelChoiceField(
+        queryset=PowerPort.objects.all(),
+        required=False
+    )
+    feed_leg = forms.ChoiceField(
+        choices=add_blank_choice(POWERFEED_LEG_CHOICES),
+        required=False
+    )
     description = forms.CharField(
         max_length=100,
         required=False
@@ -2034,6 +2042,13 @@ class PowerOutletCreateForm(ComponentForm):
         required=False
     )
 
+    def __init__(self, *args, **kwargs):
+
+        super().__init__(*args, **kwargs)
+
+        # Limit power_port choices to those on the parent device
+        self.fields['power_port'].queryset = PowerPort.objects.filter(device=self.parent)
+
 
 class PowerOutletBulkEditForm(BootstrapMixin, AddRemoveTagsForm, BulkEditForm):
     pk = forms.ModelMultipleChoiceField(
@@ -2041,7 +2056,7 @@ class PowerOutletBulkEditForm(BootstrapMixin, AddRemoveTagsForm, BulkEditForm):
         widget=forms.MultipleHiddenInput()
     )
     feed_leg = forms.ChoiceField(
-        choices=POWERFEED_LEG_CHOICES,
+        choices=add_blank_choice(POWERFEED_LEG_CHOICES),
         required=False,
     )
     description = forms.CharField(