|
|
@@ -2185,9 +2185,21 @@ class DeviceFilterForm(BootstrapMixin, LocalConfigContextFilterForm, TenancyFilt
|
|
|
|
|
|
|
|
|
#
|
|
|
-# Bulk device component creation
|
|
|
+# Device components
|
|
|
#
|
|
|
|
|
|
+class ComponentCreateForm(BootstrapMixin, forms.Form):
|
|
|
+ """
|
|
|
+ Base form for the creation of device components.
|
|
|
+ """
|
|
|
+ device = DynamicModelChoiceField(
|
|
|
+ queryset=Device.objects.all()
|
|
|
+ )
|
|
|
+ name_pattern = ExpandableNameField(
|
|
|
+ label='Name'
|
|
|
+ )
|
|
|
+
|
|
|
+
|
|
|
class DeviceBulkAddComponentForm(BootstrapMixin, forms.Form):
|
|
|
pk = forms.ModelMultipleChoiceField(
|
|
|
queryset=Device.objects.all(),
|
|
|
@@ -2233,13 +2245,7 @@ class ConsolePortForm(BootstrapMixin, forms.ModelForm):
|
|
|
}
|
|
|
|
|
|
|
|
|
-class ConsolePortCreateForm(BootstrapMixin, forms.Form):
|
|
|
- device = DynamicModelChoiceField(
|
|
|
- queryset=Device.objects.prefetch_related('device_type__manufacturer')
|
|
|
- )
|
|
|
- name_pattern = ExpandableNameField(
|
|
|
- label='Name'
|
|
|
- )
|
|
|
+class ConsolePortCreateForm(ComponentCreateForm):
|
|
|
type = forms.ChoiceField(
|
|
|
choices=add_blank_choice(ConsolePortTypeChoices),
|
|
|
required=False,
|
|
|
@@ -2319,13 +2325,7 @@ class ConsoleServerPortForm(BootstrapMixin, forms.ModelForm):
|
|
|
}
|
|
|
|
|
|
|
|
|
-class ConsoleServerPortCreateForm(BootstrapMixin, forms.Form):
|
|
|
- device = DynamicModelChoiceField(
|
|
|
- queryset=Device.objects.prefetch_related('device_type__manufacturer')
|
|
|
- )
|
|
|
- name_pattern = ExpandableNameField(
|
|
|
- label='Name'
|
|
|
- )
|
|
|
+class ConsoleServerPortCreateForm(ComponentCreateForm):
|
|
|
type = forms.ChoiceField(
|
|
|
choices=add_blank_choice(ConsolePortTypeChoices),
|
|
|
required=False,
|
|
|
@@ -2419,13 +2419,7 @@ class PowerPortForm(BootstrapMixin, forms.ModelForm):
|
|
|
}
|
|
|
|
|
|
|
|
|
-class PowerPortCreateForm(BootstrapMixin, forms.Form):
|
|
|
- device = DynamicModelChoiceField(
|
|
|
- queryset=Device.objects.prefetch_related('device_type__manufacturer')
|
|
|
- )
|
|
|
- name_pattern = ExpandableNameField(
|
|
|
- label='Name'
|
|
|
- )
|
|
|
+class PowerPortCreateForm(ComponentCreateForm):
|
|
|
type = forms.ChoiceField(
|
|
|
choices=add_blank_choice(PowerPortTypeChoices),
|
|
|
required=False,
|
|
|
@@ -2528,13 +2522,7 @@ class PowerOutletForm(BootstrapMixin, forms.ModelForm):
|
|
|
)
|
|
|
|
|
|
|
|
|
-class PowerOutletCreateForm(BootstrapMixin, forms.Form):
|
|
|
- device = DynamicModelChoiceField(
|
|
|
- queryset=Device.objects.prefetch_related('device_type__manufacturer')
|
|
|
- )
|
|
|
- name_pattern = ExpandableNameField(
|
|
|
- label='Name'
|
|
|
- )
|
|
|
+class PowerOutletCreateForm(ComponentCreateForm):
|
|
|
type = forms.ChoiceField(
|
|
|
choices=add_blank_choice(PowerOutletTypeChoices),
|
|
|
required=False,
|
|
|
@@ -2753,13 +2741,7 @@ class InterfaceForm(InterfaceCommonForm, BootstrapMixin, forms.ModelForm):
|
|
|
self.fields['tagged_vlans'].widget.add_additional_query_param('site_id', device.site.pk)
|
|
|
|
|
|
|
|
|
-class InterfaceCreateForm(BootstrapMixin, InterfaceCommonForm, forms.Form):
|
|
|
- device = DynamicModelChoiceField(
|
|
|
- queryset=Device.objects.prefetch_related('device_type__manufacturer')
|
|
|
- )
|
|
|
- name_pattern = ExpandableNameField(
|
|
|
- label='Name'
|
|
|
- )
|
|
|
+class InterfaceCreateForm(ComponentCreateForm, InterfaceCommonForm):
|
|
|
type = forms.ChoiceField(
|
|
|
choices=InterfaceTypeChoices,
|
|
|
widget=StaticSelect2(),
|
|
|
@@ -3036,13 +3018,7 @@ class FrontPortForm(BootstrapMixin, forms.ModelForm):
|
|
|
|
|
|
|
|
|
# TODO: Merge with FrontPortTemplateCreateForm to remove duplicate logic
|
|
|
-class FrontPortCreateForm(BootstrapMixin, forms.Form):
|
|
|
- device = DynamicModelChoiceField(
|
|
|
- queryset=Device.objects.prefetch_related('device_type__manufacturer')
|
|
|
- )
|
|
|
- name_pattern = ExpandableNameField(
|
|
|
- label='Name'
|
|
|
- )
|
|
|
+class FrontPortCreateForm(ComponentCreateForm):
|
|
|
type = forms.ChoiceField(
|
|
|
choices=PortTypeChoices,
|
|
|
widget=StaticSelect2(),
|
|
|
@@ -3216,13 +3192,7 @@ class RearPortForm(BootstrapMixin, forms.ModelForm):
|
|
|
}
|
|
|
|
|
|
|
|
|
-class RearPortCreateForm(BootstrapMixin, forms.Form):
|
|
|
- device = DynamicModelChoiceField(
|
|
|
- queryset=Device.objects.prefetch_related('device_type__manufacturer')
|
|
|
- )
|
|
|
- name_pattern = ExpandableNameField(
|
|
|
- label='Name'
|
|
|
- )
|
|
|
+class RearPortCreateForm(ComponentCreateForm):
|
|
|
type = forms.ChoiceField(
|
|
|
choices=PortTypeChoices,
|
|
|
widget=StaticSelect2(),
|
|
|
@@ -3318,13 +3288,7 @@ class DeviceBayForm(BootstrapMixin, forms.ModelForm):
|
|
|
}
|
|
|
|
|
|
|
|
|
-class DeviceBayCreateForm(BootstrapMixin, forms.Form):
|
|
|
- device = DynamicModelChoiceField(
|
|
|
- queryset=Device.objects.prefetch_related('device_type__manufacturer')
|
|
|
- )
|
|
|
- name_pattern = ExpandableNameField(
|
|
|
- label='Name'
|
|
|
- )
|
|
|
+class DeviceBayCreateForm(ComponentCreateForm):
|
|
|
tags = TagField(
|
|
|
required=False
|
|
|
)
|