|
@@ -10,8 +10,8 @@ from ipam.models import ASN, L2VPN, VRF
|
|
|
from netbox.forms import NetBoxModelFilterSetForm
|
|
from netbox.forms import NetBoxModelFilterSetForm
|
|
|
from tenancy.forms import ContactModelFilterForm, TenancyFilterForm
|
|
from tenancy.forms import ContactModelFilterForm, TenancyFilterForm
|
|
|
from utilities.forms import (
|
|
from utilities.forms import (
|
|
|
- APISelectMultiple, add_blank_choice, ColorField, DynamicModelMultipleChoiceField, FilterForm, MultipleChoiceField,
|
|
|
|
|
- StaticSelect, TagFilterField, BOOLEAN_WITH_BLANK_CHOICES, SelectSpeedWidget,
|
|
|
|
|
|
|
+ APISelectMultiple, add_blank_choice, ColorField, DynamicModelMultipleChoiceField, FilterForm,
|
|
|
|
|
+ TagFilterField, BOOLEAN_WITH_BLANK_CHOICES, SelectSpeedWidget,
|
|
|
)
|
|
)
|
|
|
from wireless.choices import *
|
|
from wireless.choices import *
|
|
|
|
|
|
|
@@ -150,7 +150,7 @@ class SiteFilterForm(TenancyFilterForm, ContactModelFilterForm, NetBoxModelFilte
|
|
|
('Tenant', ('tenant_group_id', 'tenant_id')),
|
|
('Tenant', ('tenant_group_id', 'tenant_id')),
|
|
|
('Contacts', ('contact', 'contact_role', 'contact_group')),
|
|
('Contacts', ('contact', 'contact_role', 'contact_group')),
|
|
|
)
|
|
)
|
|
|
- status = MultipleChoiceField(
|
|
|
|
|
|
|
+ status = forms.MultipleChoiceField(
|
|
|
choices=SiteStatusChoices,
|
|
choices=SiteStatusChoices,
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
@@ -208,7 +208,7 @@ class LocationFilterForm(TenancyFilterForm, ContactModelFilterForm, NetBoxModelF
|
|
|
},
|
|
},
|
|
|
label=_('Parent')
|
|
label=_('Parent')
|
|
|
)
|
|
)
|
|
|
- status = MultipleChoiceField(
|
|
|
|
|
|
|
+ status = forms.MultipleChoiceField(
|
|
|
choices=LocationStatusChoices,
|
|
choices=LocationStatusChoices,
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
@@ -258,15 +258,15 @@ class RackFilterForm(TenancyFilterForm, ContactModelFilterForm, NetBoxModelFilte
|
|
|
},
|
|
},
|
|
|
label=_('Location')
|
|
label=_('Location')
|
|
|
)
|
|
)
|
|
|
- status = MultipleChoiceField(
|
|
|
|
|
|
|
+ status = forms.MultipleChoiceField(
|
|
|
choices=RackStatusChoices,
|
|
choices=RackStatusChoices,
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
|
- type = MultipleChoiceField(
|
|
|
|
|
|
|
+ type = forms.MultipleChoiceField(
|
|
|
choices=RackTypeChoices,
|
|
choices=RackTypeChoices,
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
|
- width = MultipleChoiceField(
|
|
|
|
|
|
|
+ width = forms.MultipleChoiceField(
|
|
|
choices=RackWidthChoices,
|
|
choices=RackWidthChoices,
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
@@ -399,88 +399,88 @@ class DeviceTypeFilterForm(NetBoxModelFilterSetForm):
|
|
|
part_number = forms.CharField(
|
|
part_number = forms.CharField(
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
|
- subdevice_role = MultipleChoiceField(
|
|
|
|
|
|
|
+ subdevice_role = forms.MultipleChoiceField(
|
|
|
choices=add_blank_choice(SubdeviceRoleChoices),
|
|
choices=add_blank_choice(SubdeviceRoleChoices),
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
|
- airflow = MultipleChoiceField(
|
|
|
|
|
|
|
+ airflow = forms.MultipleChoiceField(
|
|
|
choices=add_blank_choice(DeviceAirflowChoices),
|
|
choices=add_blank_choice(DeviceAirflowChoices),
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
|
has_front_image = forms.NullBooleanField(
|
|
has_front_image = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has a front image',
|
|
label='Has a front image',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
has_rear_image = forms.NullBooleanField(
|
|
has_rear_image = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has a rear image',
|
|
label='Has a rear image',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
console_ports = forms.NullBooleanField(
|
|
console_ports = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has console ports',
|
|
label='Has console ports',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
console_server_ports = forms.NullBooleanField(
|
|
console_server_ports = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has console server ports',
|
|
label='Has console server ports',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
power_ports = forms.NullBooleanField(
|
|
power_ports = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has power ports',
|
|
label='Has power ports',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
power_outlets = forms.NullBooleanField(
|
|
power_outlets = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has power outlets',
|
|
label='Has power outlets',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
interfaces = forms.NullBooleanField(
|
|
interfaces = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has interfaces',
|
|
label='Has interfaces',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
pass_through_ports = forms.NullBooleanField(
|
|
pass_through_ports = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has pass-through ports',
|
|
label='Has pass-through ports',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
device_bays = forms.NullBooleanField(
|
|
device_bays = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has device bays',
|
|
label='Has device bays',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
module_bays = forms.NullBooleanField(
|
|
module_bays = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has module bays',
|
|
label='Has module bays',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
inventory_items = forms.NullBooleanField(
|
|
inventory_items = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has inventory items',
|
|
label='Has inventory items',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
@@ -517,42 +517,42 @@ class ModuleTypeFilterForm(NetBoxModelFilterSetForm):
|
|
|
console_ports = forms.NullBooleanField(
|
|
console_ports = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has console ports',
|
|
label='Has console ports',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
console_server_ports = forms.NullBooleanField(
|
|
console_server_ports = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has console server ports',
|
|
label='Has console server ports',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
power_ports = forms.NullBooleanField(
|
|
power_ports = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has power ports',
|
|
label='Has power ports',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
power_outlets = forms.NullBooleanField(
|
|
power_outlets = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has power outlets',
|
|
label='Has power outlets',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
interfaces = forms.NullBooleanField(
|
|
interfaces = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has interfaces',
|
|
label='Has interfaces',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
pass_through_ports = forms.NullBooleanField(
|
|
pass_through_ports = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has pass-through ports',
|
|
label='Has pass-through ports',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
@@ -662,11 +662,11 @@ class DeviceFilterForm(
|
|
|
null_option='None',
|
|
null_option='None',
|
|
|
label=_('Platform')
|
|
label=_('Platform')
|
|
|
)
|
|
)
|
|
|
- status = MultipleChoiceField(
|
|
|
|
|
|
|
+ status = forms.MultipleChoiceField(
|
|
|
choices=DeviceStatusChoices,
|
|
choices=DeviceStatusChoices,
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
|
- airflow = MultipleChoiceField(
|
|
|
|
|
|
|
+ airflow = forms.MultipleChoiceField(
|
|
|
choices=add_blank_choice(DeviceAirflowChoices),
|
|
choices=add_blank_choice(DeviceAirflowChoices),
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
@@ -683,56 +683,56 @@ class DeviceFilterForm(
|
|
|
has_primary_ip = forms.NullBooleanField(
|
|
has_primary_ip = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has a primary IP',
|
|
label='Has a primary IP',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
virtual_chassis_member = forms.NullBooleanField(
|
|
virtual_chassis_member = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Virtual chassis member',
|
|
label='Virtual chassis member',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
console_ports = forms.NullBooleanField(
|
|
console_ports = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has console ports',
|
|
label='Has console ports',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
console_server_ports = forms.NullBooleanField(
|
|
console_server_ports = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has console server ports',
|
|
label='Has console server ports',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
power_ports = forms.NullBooleanField(
|
|
power_ports = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has power ports',
|
|
label='Has power ports',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
power_outlets = forms.NullBooleanField(
|
|
power_outlets = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has power outlets',
|
|
label='Has power outlets',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
interfaces = forms.NullBooleanField(
|
|
interfaces = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has interfaces',
|
|
label='Has interfaces',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
pass_through_ports = forms.NullBooleanField(
|
|
pass_through_ports = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has pass-through ports',
|
|
label='Has pass-through ports',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
@@ -755,14 +755,14 @@ class VirtualDeviceContextFilterForm(
|
|
|
label=_('Device'),
|
|
label=_('Device'),
|
|
|
fetch_trigger='open'
|
|
fetch_trigger='open'
|
|
|
)
|
|
)
|
|
|
- status = MultipleChoiceField(
|
|
|
|
|
|
|
+ status = forms.MultipleChoiceField(
|
|
|
required=False,
|
|
required=False,
|
|
|
choices=add_blank_choice(VirtualDeviceContextStatusChoices)
|
|
choices=add_blank_choice(VirtualDeviceContextStatusChoices)
|
|
|
)
|
|
)
|
|
|
has_primary_ip = forms.NullBooleanField(
|
|
has_primary_ip = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Has a primary IP',
|
|
label='Has a primary IP',
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
@@ -790,7 +790,7 @@ class ModuleFilterForm(LocalConfigContextFilterForm, TenancyFilterForm, NetBoxMo
|
|
|
label=_('Type'),
|
|
label=_('Type'),
|
|
|
fetch_trigger='open'
|
|
fetch_trigger='open'
|
|
|
)
|
|
)
|
|
|
- status = MultipleChoiceField(
|
|
|
|
|
|
|
+ status = forms.MultipleChoiceField(
|
|
|
choices=ModuleStatusChoices,
|
|
choices=ModuleStatusChoices,
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
@@ -883,11 +883,11 @@ class CableFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
|
|
},
|
|
},
|
|
|
label=_('Device')
|
|
label=_('Device')
|
|
|
)
|
|
)
|
|
|
- type = MultipleChoiceField(
|
|
|
|
|
|
|
+ type = forms.MultipleChoiceField(
|
|
|
choices=add_blank_choice(CableTypeChoices),
|
|
choices=add_blank_choice(CableTypeChoices),
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
|
- status = MultipleChoiceField(
|
|
|
|
|
|
|
+ status = forms.MultipleChoiceField(
|
|
|
required=False,
|
|
required=False,
|
|
|
choices=add_blank_choice(LinkStatusChoices)
|
|
choices=add_blank_choice(LinkStatusChoices)
|
|
|
)
|
|
)
|
|
@@ -985,24 +985,21 @@ class PowerFeedFilterForm(NetBoxModelFilterSetForm):
|
|
|
},
|
|
},
|
|
|
label=_('Rack')
|
|
label=_('Rack')
|
|
|
)
|
|
)
|
|
|
- status = MultipleChoiceField(
|
|
|
|
|
|
|
+ status = forms.MultipleChoiceField(
|
|
|
choices=PowerFeedStatusChoices,
|
|
choices=PowerFeedStatusChoices,
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
|
type = forms.ChoiceField(
|
|
type = forms.ChoiceField(
|
|
|
choices=add_blank_choice(PowerFeedTypeChoices),
|
|
choices=add_blank_choice(PowerFeedTypeChoices),
|
|
|
- required=False,
|
|
|
|
|
- widget=StaticSelect()
|
|
|
|
|
|
|
+ required=False
|
|
|
)
|
|
)
|
|
|
supply = forms.ChoiceField(
|
|
supply = forms.ChoiceField(
|
|
|
choices=add_blank_choice(PowerFeedSupplyChoices),
|
|
choices=add_blank_choice(PowerFeedSupplyChoices),
|
|
|
- required=False,
|
|
|
|
|
- widget=StaticSelect()
|
|
|
|
|
|
|
+ required=False
|
|
|
)
|
|
)
|
|
|
phase = forms.ChoiceField(
|
|
phase = forms.ChoiceField(
|
|
|
choices=add_blank_choice(PowerFeedPhaseChoices),
|
|
choices=add_blank_choice(PowerFeedPhaseChoices),
|
|
|
- required=False,
|
|
|
|
|
- widget=StaticSelect()
|
|
|
|
|
|
|
+ required=False
|
|
|
)
|
|
)
|
|
|
voltage = forms.IntegerField(
|
|
voltage = forms.IntegerField(
|
|
|
required=False
|
|
required=False
|
|
@@ -1023,13 +1020,13 @@ class PowerFeedFilterForm(NetBoxModelFilterSetForm):
|
|
|
class CabledFilterForm(forms.Form):
|
|
class CabledFilterForm(forms.Form):
|
|
|
cabled = forms.NullBooleanField(
|
|
cabled = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
occupied = forms.NullBooleanField(
|
|
occupied = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
@@ -1038,7 +1035,7 @@ class CabledFilterForm(forms.Form):
|
|
|
class PathEndpointFilterForm(CabledFilterForm):
|
|
class PathEndpointFilterForm(CabledFilterForm):
|
|
|
connected = forms.NullBooleanField(
|
|
connected = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
@@ -1052,11 +1049,11 @@ class ConsolePortFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm):
|
|
|
('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id', 'virtual_chassis_id', 'device_id')),
|
|
('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id', 'virtual_chassis_id', 'device_id')),
|
|
|
('Connection', ('cabled', 'connected', 'occupied')),
|
|
('Connection', ('cabled', 'connected', 'occupied')),
|
|
|
)
|
|
)
|
|
|
- type = MultipleChoiceField(
|
|
|
|
|
|
|
+ type = forms.MultipleChoiceField(
|
|
|
choices=ConsolePortTypeChoices,
|
|
choices=ConsolePortTypeChoices,
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
|
- speed = MultipleChoiceField(
|
|
|
|
|
|
|
+ speed = forms.MultipleChoiceField(
|
|
|
choices=ConsolePortSpeedChoices,
|
|
choices=ConsolePortSpeedChoices,
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
@@ -1071,11 +1068,11 @@ class ConsoleServerPortFilterForm(PathEndpointFilterForm, DeviceComponentFilterF
|
|
|
('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id', 'virtual_chassis_id', 'device_id')),
|
|
('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id', 'virtual_chassis_id', 'device_id')),
|
|
|
('Connection', ('cabled', 'connected', 'occupied')),
|
|
('Connection', ('cabled', 'connected', 'occupied')),
|
|
|
)
|
|
)
|
|
|
- type = MultipleChoiceField(
|
|
|
|
|
|
|
+ type = forms.MultipleChoiceField(
|
|
|
choices=ConsolePortTypeChoices,
|
|
choices=ConsolePortTypeChoices,
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
|
- speed = MultipleChoiceField(
|
|
|
|
|
|
|
+ speed = forms.MultipleChoiceField(
|
|
|
choices=ConsolePortSpeedChoices,
|
|
choices=ConsolePortSpeedChoices,
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
@@ -1090,7 +1087,7 @@ class PowerPortFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm):
|
|
|
('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id', 'virtual_chassis_id', 'device_id')),
|
|
('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id', 'virtual_chassis_id', 'device_id')),
|
|
|
('Connection', ('cabled', 'connected', 'occupied')),
|
|
('Connection', ('cabled', 'connected', 'occupied')),
|
|
|
)
|
|
)
|
|
|
- type = MultipleChoiceField(
|
|
|
|
|
|
|
+ type = forms.MultipleChoiceField(
|
|
|
choices=PowerPortTypeChoices,
|
|
choices=PowerPortTypeChoices,
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
@@ -1105,7 +1102,7 @@ class PowerOutletFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm):
|
|
|
('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id', 'virtual_chassis_id', 'device_id')),
|
|
('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id', 'virtual_chassis_id', 'device_id')),
|
|
|
('Connection', ('cabled', 'connected', 'occupied')),
|
|
('Connection', ('cabled', 'connected', 'occupied')),
|
|
|
)
|
|
)
|
|
|
- type = MultipleChoiceField(
|
|
|
|
|
|
|
+ type = forms.MultipleChoiceField(
|
|
|
choices=PowerOutletTypeChoices,
|
|
choices=PowerOutletTypeChoices,
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
@@ -1132,11 +1129,11 @@ class InterfaceFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm):
|
|
|
},
|
|
},
|
|
|
label=_('Virtual Device Context')
|
|
label=_('Virtual Device Context')
|
|
|
)
|
|
)
|
|
|
- kind = MultipleChoiceField(
|
|
|
|
|
|
|
+ kind = forms.MultipleChoiceField(
|
|
|
choices=InterfaceKindChoices,
|
|
choices=InterfaceKindChoices,
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
|
- type = MultipleChoiceField(
|
|
|
|
|
|
|
+ type = forms.MultipleChoiceField(
|
|
|
choices=InterfaceTypeChoices,
|
|
choices=InterfaceTypeChoices,
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
@@ -1145,19 +1142,19 @@ class InterfaceFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm):
|
|
|
label='Speed',
|
|
label='Speed',
|
|
|
widget=SelectSpeedWidget()
|
|
widget=SelectSpeedWidget()
|
|
|
)
|
|
)
|
|
|
- duplex = MultipleChoiceField(
|
|
|
|
|
|
|
+ duplex = forms.MultipleChoiceField(
|
|
|
choices=InterfaceDuplexChoices,
|
|
choices=InterfaceDuplexChoices,
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
|
enabled = forms.NullBooleanField(
|
|
enabled = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
mgmt_only = forms.NullBooleanField(
|
|
mgmt_only = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
@@ -1169,22 +1166,22 @@ class InterfaceFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm):
|
|
|
required=False,
|
|
required=False,
|
|
|
label='WWN'
|
|
label='WWN'
|
|
|
)
|
|
)
|
|
|
- poe_mode = MultipleChoiceField(
|
|
|
|
|
|
|
+ poe_mode = forms.MultipleChoiceField(
|
|
|
choices=InterfacePoEModeChoices,
|
|
choices=InterfacePoEModeChoices,
|
|
|
required=False,
|
|
required=False,
|
|
|
label='PoE mode'
|
|
label='PoE mode'
|
|
|
)
|
|
)
|
|
|
- poe_type = MultipleChoiceField(
|
|
|
|
|
|
|
+ poe_type = forms.MultipleChoiceField(
|
|
|
choices=InterfacePoETypeChoices,
|
|
choices=InterfacePoETypeChoices,
|
|
|
required=False,
|
|
required=False,
|
|
|
label='PoE type'
|
|
label='PoE type'
|
|
|
)
|
|
)
|
|
|
- rf_role = MultipleChoiceField(
|
|
|
|
|
|
|
+ rf_role = forms.MultipleChoiceField(
|
|
|
choices=WirelessRoleChoices,
|
|
choices=WirelessRoleChoices,
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Wireless role'
|
|
label='Wireless role'
|
|
|
)
|
|
)
|
|
|
- rf_channel = MultipleChoiceField(
|
|
|
|
|
|
|
+ rf_channel = forms.MultipleChoiceField(
|
|
|
choices=WirelessChannelChoices,
|
|
choices=WirelessChannelChoices,
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Wireless channel'
|
|
label='Wireless channel'
|
|
@@ -1224,7 +1221,7 @@ class FrontPortFilterForm(CabledFilterForm, DeviceComponentFilterForm):
|
|
|
('Cable', ('cabled', 'occupied')),
|
|
('Cable', ('cabled', 'occupied')),
|
|
|
)
|
|
)
|
|
|
model = FrontPort
|
|
model = FrontPort
|
|
|
- type = MultipleChoiceField(
|
|
|
|
|
|
|
+ type = forms.MultipleChoiceField(
|
|
|
choices=PortTypeChoices,
|
|
choices=PortTypeChoices,
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
@@ -1242,7 +1239,7 @@ class RearPortFilterForm(CabledFilterForm, DeviceComponentFilterForm):
|
|
|
('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id', 'virtual_chassis_id', 'device_id')),
|
|
('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id', 'virtual_chassis_id', 'device_id')),
|
|
|
('Cable', ('cabled', 'occupied')),
|
|
('Cable', ('cabled', 'occupied')),
|
|
|
)
|
|
)
|
|
|
- type = MultipleChoiceField(
|
|
|
|
|
|
|
+ type = forms.MultipleChoiceField(
|
|
|
choices=PortTypeChoices,
|
|
choices=PortTypeChoices,
|
|
|
required=False
|
|
required=False
|
|
|
)
|
|
)
|
|
@@ -1301,7 +1298,7 @@ class InventoryItemFilterForm(DeviceComponentFilterForm):
|
|
|
)
|
|
)
|
|
|
discovered = forms.NullBooleanField(
|
|
discovered = forms.NullBooleanField(
|
|
|
required=False,
|
|
required=False,
|
|
|
- widget=StaticSelect(
|
|
|
|
|
|
|
+ widget=forms.Select(
|
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
choices=BOOLEAN_WITH_BLANK_CHOICES
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|