Clean up device component creation forms

This commit is contained in:
Jeremy Stretch 2020-07-14 15:51:13 -04:00
parent cf0e31ac0f
commit 04d8ab3792

View File

@ -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',
) )