Преглед изворни кода

Clean up device component creation forms

Jeremy Stretch пре 5 година
родитељ
комит
04d8ab3792
1 измењених фајлова са 61 додато и 79 уклоњено
  1. 61 79
      netbox/dcim/forms.py

+ 61 - 79
netbox/dcim/forms.py

@@ -135,7 +135,8 @@ class ComponentForm(BootstrapMixin, forms.Form):
     )
     label_pattern = ExpandableNameField(
         label='Label',
-        required=False
+        required=False,
+        help_text='Alphanumeric ranges are supported. (Must match the number of names being created.)'
     )
 
     def clean(self):
@@ -1034,7 +1035,7 @@ class DeviceTypeFilterForm(BootstrapMixin, CustomFieldFilterForm):
 
 class ComponentTemplateCreateForm(ComponentForm):
     """
-    Base form for the creation of device component templates.
+    Base form for the creation of device component templates (subclassed from ComponentTemplateModel).
     """
     manufacturer = DynamicModelChoiceField(
         queryset=Manufacturer.objects.all(),
@@ -1073,6 +1074,7 @@ class ConsolePortTemplateCreateForm(ComponentTemplateCreateForm):
         choices=add_blank_choice(ConsolePortTypeChoices),
         widget=StaticSelect2()
     )
+    field_order = ('manufacturer', 'device_type', 'name_pattern', 'label_pattern', 'type', 'description')
 
 
 class ConsolePortTemplateBulkEditForm(BootstrapMixin, BulkEditForm):
@@ -1111,6 +1113,7 @@ class ConsoleServerPortTemplateCreateForm(ComponentTemplateCreateForm):
         choices=add_blank_choice(ConsolePortTypeChoices),
         widget=StaticSelect2()
     )
+    field_order = ('manufacturer', 'device_type', 'name_pattern', 'label_pattern', 'type', 'description')
 
 
 class ConsoleServerPortTemplateBulkEditForm(BootstrapMixin, BulkEditForm):
@@ -1162,6 +1165,10 @@ class PowerPortTemplateCreateForm(ComponentTemplateCreateForm):
         required=False,
         help_text="Allocated power draw (watts)"
     )
+    field_order = (
+        'manufacturer', 'device_type', 'name_pattern', 'label_pattern', 'type', 'maximum_draw', 'allocated_draw',
+        'description',
+    )
 
 
 class PowerPortTemplateBulkEditForm(BootstrapMixin, BulkEditForm):
@@ -1232,6 +1239,10 @@ class PowerOutletTemplateCreateForm(ComponentTemplateCreateForm):
         required=False,
         widget=StaticSelect2()
     )
+    field_order = (
+        'manufacturer', 'device_type', 'name_pattern', 'label_pattern', 'type', 'power_port', 'feed_leg',
+        'description',
+    )
 
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
@@ -1315,6 +1326,7 @@ class InterfaceTemplateCreateForm(ComponentTemplateCreateForm):
         required=False,
         label='Management only'
     )
+    field_order = ('manufacturer', 'device_type', 'name_pattern', 'label_pattern', 'type', 'mgmt_only', 'description')
 
 
 class InterfaceTemplateBulkEditForm(BootstrapMixin, BulkEditForm):
@@ -1377,6 +1389,9 @@ class FrontPortTemplateCreateForm(ComponentTemplateCreateForm):
         label='Rear ports',
         help_text='Select one rear port assignment for each front port being created.',
     )
+    field_order = (
+        'manufacturer', 'device_type', 'name_pattern', 'label_pattern', 'type', 'rear_port_set', 'description',
+    )
 
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
@@ -1470,6 +1485,7 @@ class RearPortTemplateCreateForm(ComponentTemplateCreateForm):
         initial=1,
         help_text='The number of front ports which may be mapped to each rear port'
     )
+    field_order = ('manufacturer', 'device_type', 'name_pattern', 'label_pattern', 'type', 'positions', 'description')
 
 
 class RearPortTemplateBulkEditForm(BootstrapMixin, BulkEditForm):
@@ -1507,9 +1523,7 @@ class DeviceBayTemplateForm(BootstrapMixin, forms.ModelForm):
 
 
 class DeviceBayTemplateCreateForm(ComponentTemplateCreateForm):
-    description = forms.CharField(
-        required=False
-    )
+    field_order = ('manufacturer', 'device_type', 'name_pattern', 'label_pattern', 'description')
 
 
 class DeviceBayTemplateBulkEditForm(BootstrapMixin, BulkEditForm):
@@ -2257,11 +2271,15 @@ class DeviceFilterForm(BootstrapMixin, LocalConfigContextFilterForm, TenancyFilt
 
 class ComponentCreateForm(ComponentForm):
     """
-    Base form for the creation of device components.
+    Base form for the creation of device components (models subclassed from ComponentModel).
     """
     device = DynamicModelChoiceField(
         queryset=Device.objects.all()
     )
+    description = forms.CharField(
+        max_length=100,
+        required=False
+    )
     tags = DynamicModelMultipleChoiceField(
         queryset=Tag.objects.all(),
         required=False
@@ -2273,6 +2291,10 @@ class DeviceBulkAddComponentForm(ComponentForm):
         queryset=Device.objects.all(),
         widget=forms.MultipleHiddenInput()
     )
+    description = forms.CharField(
+        max_length=100,
+        required=False
+    )
     tags = DynamicModelMultipleChoiceField(
         queryset=Tag.objects.all(),
         required=False
@@ -2316,21 +2338,14 @@ class ConsolePortCreateForm(ComponentCreateForm):
         required=False,
         widget=StaticSelect2()
     )
-    description = forms.CharField(
-        max_length=100,
-        required=False
-    )
-    tags = DynamicModelMultipleChoiceField(
-        queryset=Tag.objects.all(),
-        required=False
-    )
+    field_order = ('device', 'name_pattern', 'label_pattern', 'type', 'description', 'tags')
 
 
 class ConsolePortBulkCreateForm(
-    form_from_model(ConsolePort, ['label', 'type', 'description', 'tags']),
+    form_from_model(ConsolePort, ['type']),
     DeviceBulkAddComponentForm
 ):
-    pass
+    field_order = ('name_pattern', 'label_pattern', 'type', 'description', 'tags')
 
 
 class ConsolePortBulkEditForm(
@@ -2396,21 +2411,14 @@ class ConsoleServerPortCreateForm(ComponentCreateForm):
         required=False,
         widget=StaticSelect2()
     )
-    description = forms.CharField(
-        max_length=100,
-        required=False
-    )
-    tags = DynamicModelMultipleChoiceField(
-        queryset=Tag.objects.all(),
-        required=False
-    )
+    field_order = ('device', 'name_pattern', 'label_pattern', 'type', 'description', 'tags')
 
 
 class ConsoleServerPortBulkCreateForm(
-    form_from_model(ConsoleServerPort, ['label', 'type', 'description', 'tags']),
+    form_from_model(ConsoleServerPort, ['type']),
     DeviceBulkAddComponentForm
 ):
-    pass
+    field_order = ('name_pattern', 'label_pattern', 'type', 'description', 'tags')
 
 
 class ConsoleServerPortBulkEditForm(
@@ -2486,21 +2494,16 @@ class PowerPortCreateForm(ComponentCreateForm):
         required=False,
         help_text="Allocated draw in watts"
     )
-    description = forms.CharField(
-        max_length=100,
-        required=False
-    )
-    tags = DynamicModelMultipleChoiceField(
-        queryset=Tag.objects.all(),
-        required=False
+    field_order = (
+        'device', 'name_pattern', 'label_pattern', 'type', 'maximum_draw', 'allocated_draw', 'description', 'tags',
     )
 
 
 class PowerPortBulkCreateForm(
-    form_from_model(PowerPort, ['label', 'type', 'maximum_draw', 'allocated_draw', 'description', 'tags']),
+    form_from_model(PowerPort, ['type', 'maximum_draw', 'allocated_draw']),
     DeviceBulkAddComponentForm
 ):
-    pass
+    field_order = ('name_pattern', 'label_pattern', 'type', 'maximum_draw', 'allocated_draw', 'description', 'tags')
 
 
 class PowerPortBulkEditForm(
@@ -2587,14 +2590,7 @@ class PowerOutletCreateForm(ComponentCreateForm):
         choices=add_blank_choice(PowerOutletFeedLegChoices),
         required=False
     )
-    description = forms.CharField(
-        max_length=100,
-        required=False
-    )
-    tags = DynamicModelMultipleChoiceField(
-        queryset=Tag.objects.all(),
-        required=False
-    )
+    field_order = ('device', 'name_pattern', 'label_pattern', 'type', 'power_port', 'feed_leg', 'description', 'tags')
 
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
@@ -2607,10 +2603,10 @@ class PowerOutletCreateForm(ComponentCreateForm):
 
 
 class PowerOutletBulkCreateForm(
-    form_from_model(PowerOutlet, ['label', 'type', 'feed_leg', 'description', 'tags']),
+    form_from_model(PowerOutlet, ['type', 'feed_leg']),
     DeviceBulkAddComponentForm
 ):
-    pass
+    field_order = ('name_pattern', 'label_pattern', 'type', 'feed_leg', 'description', 'tags')
 
 
 class PowerOutletBulkEditForm(
@@ -2808,19 +2804,11 @@ class InterfaceCreateForm(ComponentCreateForm, InterfaceCommonForm):
         label='Management only',
         help_text='This interface is used only for out-of-band management'
     )
-    description = forms.CharField(
-        max_length=100,
-        required=False
-    )
     mode = forms.ChoiceField(
         choices=add_blank_choice(InterfaceModeChoices),
         required=False,
         widget=StaticSelect2(),
     )
-    tags = DynamicModelMultipleChoiceField(
-        queryset=Tag.objects.all(),
-        required=False
-    )
     untagged_vlan = DynamicModelChoiceField(
         queryset=VLAN.objects.all(),
         required=False,
@@ -2843,6 +2831,10 @@ class InterfaceCreateForm(ComponentCreateForm, InterfaceCommonForm):
             },
         )
     )
+    field_order = (
+        'device', 'name_pattern', 'label_pattern', 'type', 'enabled', 'lag', 'mtu', 'mac_address', 'description',
+        'mgmt_only', 'mode', 'untagged_vlan', 'tagged_vlans', 'tags'
+    )
 
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
@@ -2862,10 +2854,10 @@ class InterfaceCreateForm(ComponentCreateForm, InterfaceCommonForm):
 
 
 class InterfaceBulkCreateForm(
-    form_from_model(Interface, ['label', 'type', 'enabled', 'mtu', 'mgmt_only', 'description']),
+    form_from_model(Interface, ['type', 'enabled', 'mtu', 'mgmt_only']),
     DeviceBulkAddComponentForm
 ):
-    pass
+    field_order = ('name_pattern', 'label_pattern', 'type', 'enabled', 'mtu', 'mgmt_only', 'description', 'tags')
 
 
 class InterfaceBulkEditForm(
@@ -3048,9 +3040,7 @@ class FrontPortCreateForm(ComponentCreateForm):
         label='Rear ports',
         help_text='Select one rear port assignment for each front port being created.',
     )
-    description = forms.CharField(
-        required=False
-    )
+    field_order = ('device', 'name_pattern', 'label_pattern', 'type', 'rear_port_set', 'description', 'tags')
 
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
@@ -3208,16 +3198,14 @@ class RearPortCreateForm(ComponentCreateForm):
         initial=1,
         help_text='The number of front ports which may be mapped to each rear port'
     )
-    description = forms.CharField(
-        required=False
-    )
+    field_order = ('device', 'name_pattern', 'label_pattern', 'type', 'positions', 'description', 'tags')
 
 
 class RearPortBulkCreateForm(
-    form_from_model(RearPort, ['label', 'type', 'positions', 'description', 'tags']),
+    form_from_model(RearPort, ['type', 'positions']),
     DeviceBulkAddComponentForm
 ):
-    pass
+    field_order = ('name_pattern', 'label_pattern', 'type', 'positions', 'description', 'tags')
 
 
 class RearPortBulkEditForm(
@@ -3279,7 +3267,7 @@ class DeviceBayForm(BootstrapMixin, forms.ModelForm):
 
 
 class DeviceBayCreateForm(ComponentCreateForm):
-    pass
+    field_order = ('device', 'name_pattern', 'label_pattern', 'description', 'tags')
 
 
 class PopulateDeviceBayForm(BootstrapMixin, forms.Form):
@@ -3303,14 +3291,8 @@ class PopulateDeviceBayForm(BootstrapMixin, forms.Form):
         ).exclude(pk=device_bay.device.pk)
 
 
-class DeviceBayBulkCreateForm(
-    form_from_model(DeviceBay, ['label', 'description', 'tags']),
-    DeviceBulkAddComponentForm
-):
-    tags = DynamicModelMultipleChoiceField(
-        queryset=Tag.objects.all(),
-        required=False
-    )
+class DeviceBayBulkCreateForm(DeviceBulkAddComponentForm):
+    field_order = ('name_pattern', 'label_pattern', 'description', 'tags')
 
 
 class DeviceBayBulkEditForm(
@@ -3416,9 +3398,9 @@ class InventoryItemCreateForm(ComponentCreateForm):
         max_length=50,
         required=False,
     )
-    description = forms.CharField(
-        max_length=100,
-        required=False
+    field_order = (
+        'device', 'name_pattern', 'label_pattern', 'manufacturer', 'part_id', 'serial', 'asset_tag', 'description',
+        'tags',
     )
 
 
@@ -3439,12 +3421,12 @@ class InventoryItemCSVForm(CSVModelForm):
 
 
 class InventoryItemBulkCreateForm(
-    form_from_model(InventoryItem, ['label', 'manufacturer', 'part_id', 'serial', 'asset_tag', 'discovered', 'tags']),
+    form_from_model(InventoryItem, ['manufacturer', 'part_id', 'serial', 'asset_tag', 'discovered']),
     DeviceBulkAddComponentForm
 ):
-    tags = DynamicModelMultipleChoiceField(
-        queryset=Tag.objects.all(),
-        required=False
+    field_order = (
+        'name_pattern', 'label_pattern', 'manufacturer', 'part_id', 'serial', 'asset_tag', 'discovered', 'description',
+        'tags',
     )