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