mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-15 19:52:52 -06:00
Replace filter_groups with fieldsets on filter forms
This commit is contained in:
parent
ccb3a75281
commit
353e132cf9
@ -18,11 +18,11 @@ __all__ = (
|
|||||||
|
|
||||||
class ProviderFilterForm(NetBoxModelFilterSetForm):
|
class ProviderFilterForm(NetBoxModelFilterSetForm):
|
||||||
model = Provider
|
model = Provider
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['region_id', 'site_group_id', 'site_id'],
|
('Location', ('region_id', 'site_group_id', 'site_id')),
|
||||||
['asn'],
|
('ASN', ('asn',)),
|
||||||
]
|
)
|
||||||
region_id = DynamicModelMultipleChoiceField(
|
region_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=Region.objects.all(),
|
queryset=Region.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
@ -51,9 +51,9 @@ class ProviderFilterForm(NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class ProviderNetworkFilterForm(NetBoxModelFilterSetForm):
|
class ProviderNetworkFilterForm(NetBoxModelFilterSetForm):
|
||||||
model = ProviderNetwork
|
model = ProviderNetwork
|
||||||
field_groups = (
|
fieldsets = (
|
||||||
('q', 'tag'),
|
(None, ('q', 'tag')),
|
||||||
('provider_id',),
|
('Attributes', ('provider_id', 'service_id')),
|
||||||
)
|
)
|
||||||
provider_id = DynamicModelMultipleChoiceField(
|
provider_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=Provider.objects.all(),
|
queryset=Provider.objects.all(),
|
||||||
@ -74,13 +74,13 @@ class CircuitTypeFilterForm(NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class CircuitFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
class CircuitFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
||||||
model = Circuit
|
model = Circuit
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['provider_id', 'provider_network_id'],
|
('Provider', ('provider_id', 'provider_network_id')),
|
||||||
['type_id', 'status', 'commit_rate'],
|
('Attributes', ('type_id', 'status', 'commit_rate')),
|
||||||
['region_id', 'site_group_id', 'site_id'],
|
('Location', ('region_id', 'site_group_id', 'site_id')),
|
||||||
['tenant_group_id', 'tenant_id'],
|
('Tenant', ('tenant_group_id', 'tenant_id')),
|
||||||
]
|
)
|
||||||
type_id = DynamicModelMultipleChoiceField(
|
type_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=CircuitType.objects.all(),
|
queryset=CircuitType.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
|
@ -126,12 +126,11 @@ class SiteGroupFilterForm(NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class SiteFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
class SiteFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
||||||
model = Site
|
model = Site
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['status', 'region_id', 'group_id'],
|
('Attributes', ('status', 'region_id', 'group_id', 'asn_id')),
|
||||||
['tenant_group_id', 'tenant_id'],
|
('Tenant', ('tenant_group_id', 'tenant_id')),
|
||||||
['asn_id']
|
)
|
||||||
]
|
|
||||||
status = forms.MultipleChoiceField(
|
status = forms.MultipleChoiceField(
|
||||||
choices=SiteStatusChoices,
|
choices=SiteStatusChoices,
|
||||||
required=False,
|
required=False,
|
||||||
@ -157,11 +156,11 @@ class SiteFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class LocationFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
class LocationFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
||||||
model = Location
|
model = Location
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['region_id', 'site_group_id', 'site_id', 'parent_id'],
|
('Parent', ('region_id', 'site_group_id', 'site_id', 'parent_id')),
|
||||||
['tenant_group_id', 'tenant_id'],
|
('Tenant', ('tenant_group_id', 'tenant_id')),
|
||||||
]
|
)
|
||||||
region_id = DynamicModelMultipleChoiceField(
|
region_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=Region.objects.all(),
|
queryset=Region.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
@ -200,13 +199,13 @@ class RackRoleFilterForm(NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class RackFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
class RackFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
||||||
model = Rack
|
model = Rack
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['region_id', 'site_id', 'location_id'],
|
('Location', ('region_id', 'site_id', 'location_id')),
|
||||||
['status', 'role_id'],
|
('Function', ('status', 'role_id')),
|
||||||
['type', 'width', 'serial', 'asset_tag'],
|
('Hardware', ('type', 'width', 'serial', 'asset_tag')),
|
||||||
['tenant_group_id', 'tenant_id'],
|
('Tenant', ('tenant_group_id', 'tenant_id')),
|
||||||
]
|
)
|
||||||
region_id = DynamicModelMultipleChoiceField(
|
region_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=Region.objects.all(),
|
queryset=Region.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
@ -273,12 +272,12 @@ class RackElevationFilterForm(RackFilterForm):
|
|||||||
|
|
||||||
class RackReservationFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
class RackReservationFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
||||||
model = RackReservation
|
model = RackReservation
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['user_id'],
|
('User', ('user_id',)),
|
||||||
['region_id', 'site_id', 'location_id'],
|
('Rack', ('region_id', 'site_id', 'location_id')),
|
||||||
['tenant_group_id', 'tenant_id'],
|
('Tenant', ('tenant_group_id', 'tenant_id')),
|
||||||
]
|
)
|
||||||
region_id = DynamicModelMultipleChoiceField(
|
region_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=Region.objects.all(),
|
queryset=Region.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
@ -316,11 +315,14 @@ class ManufacturerFilterForm(NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class DeviceTypeFilterForm(NetBoxModelFilterSetForm):
|
class DeviceTypeFilterForm(NetBoxModelFilterSetForm):
|
||||||
model = DeviceType
|
model = DeviceType
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['manufacturer_id', 'part_number', 'subdevice_role', 'airflow'],
|
('Hardware', ('manufacturer_id', 'part_number', 'subdevice_role', 'airflow')),
|
||||||
['console_ports', 'console_server_ports', 'power_ports', 'power_outlets', 'interfaces', 'pass_through_ports'],
|
('Components', (
|
||||||
]
|
'console_ports', 'console_server_ports', 'power_ports', 'power_outlets', 'interfaces',
|
||||||
|
'pass_through_ports',
|
||||||
|
)),
|
||||||
|
)
|
||||||
manufacturer_id = DynamicModelMultipleChoiceField(
|
manufacturer_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=Manufacturer.objects.all(),
|
queryset=Manufacturer.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
@ -386,11 +388,14 @@ class DeviceTypeFilterForm(NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class ModuleTypeFilterForm(NetBoxModelFilterSetForm):
|
class ModuleTypeFilterForm(NetBoxModelFilterSetForm):
|
||||||
model = ModuleType
|
model = ModuleType
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['manufacturer_id', 'part_number'],
|
('Hardware', ('manufacturer_id', 'part_number')),
|
||||||
['console_ports', 'console_server_ports', 'power_ports', 'power_outlets', 'interfaces', 'pass_through_ports'],
|
('Components', (
|
||||||
]
|
'console_ports', 'console_server_ports', 'power_ports', 'power_outlets', 'interfaces',
|
||||||
|
'pass_through_ports',
|
||||||
|
)),
|
||||||
|
)
|
||||||
manufacturer_id = DynamicModelMultipleChoiceField(
|
manufacturer_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=Manufacturer.objects.all(),
|
queryset=Manufacturer.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
@ -462,17 +467,17 @@ class PlatformFilterForm(NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class DeviceFilterForm(LocalConfigContextFilterForm, TenancyFilterForm, NetBoxModelFilterSetForm):
|
class DeviceFilterForm(LocalConfigContextFilterForm, TenancyFilterForm, NetBoxModelFilterSetForm):
|
||||||
model = Device
|
model = Device
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id'],
|
('Location', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id')),
|
||||||
['status', 'role_id', 'airflow', 'serial', 'asset_tag', 'mac_address'],
|
('Operation', ('status', 'role_id', 'airflow', 'serial', 'asset_tag', 'mac_address')),
|
||||||
['manufacturer_id', 'device_type_id', 'platform_id'],
|
('Hardware', ('manufacturer_id', 'device_type_id', 'platform_id')),
|
||||||
['tenant_group_id', 'tenant_id'],
|
('Tenant', ('tenant_group_id', 'tenant_id')),
|
||||||
[
|
('Components', (
|
||||||
'has_primary_ip', 'virtual_chassis_member', 'console_ports', 'console_server_ports', 'power_ports',
|
'console_ports', 'console_server_ports', 'power_ports', 'power_outlets', 'interfaces', 'pass_through_ports',
|
||||||
'power_outlets', 'interfaces', 'pass_through_ports', 'local_context_data',
|
)),
|
||||||
],
|
('Miscellaneous', ('has_primary_ip', 'virtual_chassis_member', 'local_context_data'))
|
||||||
]
|
)
|
||||||
region_id = DynamicModelMultipleChoiceField(
|
region_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=Region.objects.all(),
|
queryset=Region.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
@ -616,11 +621,10 @@ class DeviceFilterForm(LocalConfigContextFilterForm, TenancyFilterForm, NetBoxMo
|
|||||||
|
|
||||||
class ModuleFilterForm(LocalConfigContextFilterForm, TenancyFilterForm, NetBoxModelFilterSetForm):
|
class ModuleFilterForm(LocalConfigContextFilterForm, TenancyFilterForm, NetBoxModelFilterSetForm):
|
||||||
model = Module
|
model = Module
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['manufacturer_id', 'module_type_id'],
|
('Hardware', ('manufacturer_id', 'module_type_id', 'serial', 'asset_tag')),
|
||||||
['serial', 'asset_tag'],
|
)
|
||||||
]
|
|
||||||
manufacturer_id = DynamicModelMultipleChoiceField(
|
manufacturer_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=Manufacturer.objects.all(),
|
queryset=Manufacturer.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
@ -647,11 +651,11 @@ class ModuleFilterForm(LocalConfigContextFilterForm, TenancyFilterForm, NetBoxMo
|
|||||||
|
|
||||||
class VirtualChassisFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
class VirtualChassisFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
||||||
model = VirtualChassis
|
model = VirtualChassis
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['region_id', 'site_group_id', 'site_id'],
|
('Location', ('region_id', 'site_group_id', 'site_id')),
|
||||||
['tenant_group_id', 'tenant_id'],
|
('Tenant', ('tenant_group_id', 'tenant_id')),
|
||||||
]
|
)
|
||||||
region_id = DynamicModelMultipleChoiceField(
|
region_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=Region.objects.all(),
|
queryset=Region.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
@ -676,12 +680,12 @@ class VirtualChassisFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class CableFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
class CableFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
||||||
model = Cable
|
model = Cable
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['site_id', 'rack_id', 'device_id'],
|
('Location', ('site_id', 'rack_id', 'device_id')),
|
||||||
['type', 'status', 'color', 'length', 'length_unit'],
|
('Attributes', ('type', 'status', 'color', 'length', 'length_unit')),
|
||||||
['tenant_group_id', 'tenant_id'],
|
('Tenant', ('tenant_group_id', 'tenant_id')),
|
||||||
]
|
)
|
||||||
region_id = DynamicModelMultipleChoiceField(
|
region_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=Region.objects.all(),
|
queryset=Region.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
@ -739,9 +743,9 @@ class CableFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class PowerPanelFilterForm(NetBoxModelFilterSetForm):
|
class PowerPanelFilterForm(NetBoxModelFilterSetForm):
|
||||||
model = PowerPanel
|
model = PowerPanel
|
||||||
field_groups = (
|
fieldsets = (
|
||||||
('q', 'tag'),
|
(None, ('q', 'tag')),
|
||||||
('region_id', 'site_group_id', 'site_id', 'location_id')
|
('Location', ('region_id', 'site_group_id', 'site_id', 'location_id'))
|
||||||
)
|
)
|
||||||
region_id = DynamicModelMultipleChoiceField(
|
region_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=Region.objects.all(),
|
queryset=Region.objects.all(),
|
||||||
@ -776,12 +780,11 @@ class PowerPanelFilterForm(NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class PowerFeedFilterForm(NetBoxModelFilterSetForm):
|
class PowerFeedFilterForm(NetBoxModelFilterSetForm):
|
||||||
model = PowerFeed
|
model = PowerFeed
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['region_id', 'site_group_id', 'site_id'],
|
('Location', ('region_id', 'site_group_id', 'site_id', 'power_panel_id', 'rack_id')),
|
||||||
['power_panel_id', 'rack_id'],
|
('Attributes', ('status', 'type', 'supply', 'phase', 'voltage', 'amperage', 'max_utilization')),
|
||||||
['status', 'type', 'supply', 'phase', 'voltage', 'amperage', 'max_utilization'],
|
)
|
||||||
]
|
|
||||||
region_id = DynamicModelMultipleChoiceField(
|
region_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=Region.objects.all(),
|
queryset=Region.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
@ -856,11 +859,11 @@ class PowerFeedFilterForm(NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class ConsolePortFilterForm(DeviceComponentFilterForm):
|
class ConsolePortFilterForm(DeviceComponentFilterForm):
|
||||||
model = ConsolePort
|
model = ConsolePort
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['name', 'label', 'type', 'speed'],
|
('Attributes', ('name', 'label', 'type', 'speed')),
|
||||||
['region_id', 'site_group_id', 'site_id', 'location_id', 'virtual_chassis_id', 'device_id'],
|
('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'virtual_chassis_id', 'device_id')),
|
||||||
]
|
)
|
||||||
type = forms.MultipleChoiceField(
|
type = forms.MultipleChoiceField(
|
||||||
choices=ConsolePortTypeChoices,
|
choices=ConsolePortTypeChoices,
|
||||||
required=False,
|
required=False,
|
||||||
@ -876,11 +879,11 @@ class ConsolePortFilterForm(DeviceComponentFilterForm):
|
|||||||
|
|
||||||
class ConsoleServerPortFilterForm(DeviceComponentFilterForm):
|
class ConsoleServerPortFilterForm(DeviceComponentFilterForm):
|
||||||
model = ConsoleServerPort
|
model = ConsoleServerPort
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['name', 'label', 'type', 'speed'],
|
('Attributes', ('name', 'label', 'type', 'speed')),
|
||||||
['region_id', 'site_group_id', 'site_id', 'location_id', 'virtual_chassis_id', 'device_id'],
|
('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'virtual_chassis_id', 'device_id')),
|
||||||
]
|
)
|
||||||
type = forms.MultipleChoiceField(
|
type = forms.MultipleChoiceField(
|
||||||
choices=ConsolePortTypeChoices,
|
choices=ConsolePortTypeChoices,
|
||||||
required=False,
|
required=False,
|
||||||
@ -896,11 +899,11 @@ class ConsoleServerPortFilterForm(DeviceComponentFilterForm):
|
|||||||
|
|
||||||
class PowerPortFilterForm(DeviceComponentFilterForm):
|
class PowerPortFilterForm(DeviceComponentFilterForm):
|
||||||
model = PowerPort
|
model = PowerPort
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['name', 'label', 'type'],
|
('Attributes', ('name', 'label', 'type')),
|
||||||
['region_id', 'site_group_id', 'site_id', 'location_id', 'virtual_chassis_id', 'device_id'],
|
('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'virtual_chassis_id', 'device_id')),
|
||||||
]
|
)
|
||||||
type = forms.MultipleChoiceField(
|
type = forms.MultipleChoiceField(
|
||||||
choices=PowerPortTypeChoices,
|
choices=PowerPortTypeChoices,
|
||||||
required=False,
|
required=False,
|
||||||
@ -911,11 +914,11 @@ class PowerPortFilterForm(DeviceComponentFilterForm):
|
|||||||
|
|
||||||
class PowerOutletFilterForm(DeviceComponentFilterForm):
|
class PowerOutletFilterForm(DeviceComponentFilterForm):
|
||||||
model = PowerOutlet
|
model = PowerOutlet
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['name', 'label', 'type'],
|
('Attributes', ('name', 'label', 'type')),
|
||||||
['region_id', 'site_group_id', 'site_id', 'location_id', 'virtual_chassis_id', 'device_id'],
|
('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'virtual_chassis_id', 'device_id')),
|
||||||
]
|
)
|
||||||
type = forms.MultipleChoiceField(
|
type = forms.MultipleChoiceField(
|
||||||
choices=PowerOutletTypeChoices,
|
choices=PowerOutletTypeChoices,
|
||||||
required=False,
|
required=False,
|
||||||
@ -926,13 +929,13 @@ class PowerOutletFilterForm(DeviceComponentFilterForm):
|
|||||||
|
|
||||||
class InterfaceFilterForm(DeviceComponentFilterForm):
|
class InterfaceFilterForm(DeviceComponentFilterForm):
|
||||||
model = Interface
|
model = Interface
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['name', 'label', 'kind', 'type', 'speed', 'duplex', 'enabled', 'mgmt_only'],
|
('Attributes', ('name', 'label', 'kind', 'type', 'speed', 'duplex', 'enabled', 'mgmt_only')),
|
||||||
['vrf_id', 'mac_address', 'wwn'],
|
('Addressing', ('vrf_id', 'mac_address', 'wwn')),
|
||||||
['rf_role', 'rf_channel', 'rf_channel_width', 'tx_power'],
|
('Wireless', ('rf_role', 'rf_channel', 'rf_channel_width', 'tx_power')),
|
||||||
['region_id', 'site_group_id', 'site_id', 'location_id', 'virtual_chassis_id', 'device_id'],
|
('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'virtual_chassis_id', 'device_id')),
|
||||||
]
|
)
|
||||||
kind = forms.MultipleChoiceField(
|
kind = forms.MultipleChoiceField(
|
||||||
choices=InterfaceKindChoices,
|
choices=InterfaceKindChoices,
|
||||||
required=False,
|
required=False,
|
||||||
@ -1009,11 +1012,11 @@ class InterfaceFilterForm(DeviceComponentFilterForm):
|
|||||||
|
|
||||||
|
|
||||||
class FrontPortFilterForm(DeviceComponentFilterForm):
|
class FrontPortFilterForm(DeviceComponentFilterForm):
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['name', 'label', 'type', 'color'],
|
('Attributes', ('name', 'label', 'type', 'color')),
|
||||||
['region_id', 'site_group_id', 'site_id', 'location_id', 'virtual_chassis_id', 'device_id'],
|
('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'virtual_chassis_id', 'device_id')),
|
||||||
]
|
)
|
||||||
model = FrontPort
|
model = FrontPort
|
||||||
type = forms.MultipleChoiceField(
|
type = forms.MultipleChoiceField(
|
||||||
choices=PortTypeChoices,
|
choices=PortTypeChoices,
|
||||||
@ -1028,11 +1031,11 @@ class FrontPortFilterForm(DeviceComponentFilterForm):
|
|||||||
|
|
||||||
class RearPortFilterForm(DeviceComponentFilterForm):
|
class RearPortFilterForm(DeviceComponentFilterForm):
|
||||||
model = RearPort
|
model = RearPort
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['name', 'label', 'type', 'color'],
|
('Attributes', ('name', 'label', 'type', 'color')),
|
||||||
['region_id', 'site_group_id', 'site_id', 'location_id', 'virtual_chassis_id', 'device_id'],
|
('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'virtual_chassis_id', 'device_id')),
|
||||||
]
|
)
|
||||||
type = forms.MultipleChoiceField(
|
type = forms.MultipleChoiceField(
|
||||||
choices=PortTypeChoices,
|
choices=PortTypeChoices,
|
||||||
required=False,
|
required=False,
|
||||||
@ -1046,11 +1049,11 @@ class RearPortFilterForm(DeviceComponentFilterForm):
|
|||||||
|
|
||||||
class ModuleBayFilterForm(DeviceComponentFilterForm):
|
class ModuleBayFilterForm(DeviceComponentFilterForm):
|
||||||
model = ModuleBay
|
model = ModuleBay
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['name', 'label', 'position'],
|
('Attributes', ('name', 'label', 'position')),
|
||||||
['region_id', 'site_group_id', 'site_id', 'location_id', 'virtual_chassis_id', 'device_id'],
|
('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'virtual_chassis_id', 'device_id')),
|
||||||
]
|
)
|
||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
position = forms.CharField(
|
position = forms.CharField(
|
||||||
required=False
|
required=False
|
||||||
@ -1059,21 +1062,21 @@ class ModuleBayFilterForm(DeviceComponentFilterForm):
|
|||||||
|
|
||||||
class DeviceBayFilterForm(DeviceComponentFilterForm):
|
class DeviceBayFilterForm(DeviceComponentFilterForm):
|
||||||
model = DeviceBay
|
model = DeviceBay
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['name', 'label'],
|
('Attributes', ('name', 'label')),
|
||||||
['region_id', 'site_group_id', 'site_id', 'location_id', 'virtual_chassis_id', 'device_id'],
|
('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'virtual_chassis_id', 'device_id')),
|
||||||
]
|
)
|
||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
class InventoryItemFilterForm(DeviceComponentFilterForm):
|
class InventoryItemFilterForm(DeviceComponentFilterForm):
|
||||||
model = InventoryItem
|
model = InventoryItem
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['name', 'label', 'manufacturer_id', 'serial', 'asset_tag', 'discovered'],
|
('Attributes', ('name', 'label', 'manufacturer_id', 'serial', 'asset_tag', 'discovered')),
|
||||||
['region_id', 'site_group_id', 'site_id', 'location_id', 'virtual_chassis_id', 'device_id'],
|
('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'virtual_chassis_id', 'device_id')),
|
||||||
]
|
)
|
||||||
role_id = DynamicModelMultipleChoiceField(
|
role_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=InventoryItemRole.objects.all(),
|
queryset=InventoryItemRole.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
|
@ -28,11 +28,10 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class CustomFieldFilterForm(FilterForm):
|
class CustomFieldFilterForm(FilterForm):
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q'],
|
(None, ('q',)),
|
||||||
['type', 'content_types'],
|
('Attributes', ('type', 'content_types', 'weight', 'required')),
|
||||||
['weight', 'required'],
|
)
|
||||||
]
|
|
||||||
content_types = ContentTypeMultipleChoiceField(
|
content_types = ContentTypeMultipleChoiceField(
|
||||||
queryset=ContentType.objects.all(),
|
queryset=ContentType.objects.all(),
|
||||||
limit_choices_to=FeatureQuery('custom_fields'),
|
limit_choices_to=FeatureQuery('custom_fields'),
|
||||||
@ -56,10 +55,10 @@ class CustomFieldFilterForm(FilterForm):
|
|||||||
|
|
||||||
|
|
||||||
class CustomLinkFilterForm(FilterForm):
|
class CustomLinkFilterForm(FilterForm):
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q'],
|
(None, ('q',)),
|
||||||
['content_type', 'enabled', 'new_window', 'weight'],
|
('Attributes', ('content_type', 'enabled', 'new_window', 'weight')),
|
||||||
]
|
)
|
||||||
content_type = ContentTypeChoiceField(
|
content_type = ContentTypeChoiceField(
|
||||||
queryset=ContentType.objects.all(),
|
queryset=ContentType.objects.all(),
|
||||||
limit_choices_to=FeatureQuery('custom_fields'),
|
limit_choices_to=FeatureQuery('custom_fields'),
|
||||||
@ -83,10 +82,10 @@ class CustomLinkFilterForm(FilterForm):
|
|||||||
|
|
||||||
|
|
||||||
class ExportTemplateFilterForm(FilterForm):
|
class ExportTemplateFilterForm(FilterForm):
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q'],
|
(None, ('q',)),
|
||||||
['content_type', 'mime_type', 'file_extension', 'as_attachment'],
|
('Attributes', ('content_type', 'mime_type', 'file_extension', 'as_attachment')),
|
||||||
]
|
)
|
||||||
content_type = ContentTypeChoiceField(
|
content_type = ContentTypeChoiceField(
|
||||||
queryset=ContentType.objects.all(),
|
queryset=ContentType.objects.all(),
|
||||||
limit_choices_to=FeatureQuery('custom_fields'),
|
limit_choices_to=FeatureQuery('custom_fields'),
|
||||||
@ -108,11 +107,11 @@ class ExportTemplateFilterForm(FilterForm):
|
|||||||
|
|
||||||
|
|
||||||
class WebhookFilterForm(FilterForm):
|
class WebhookFilterForm(FilterForm):
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q'],
|
(None, ('q',)),
|
||||||
['content_types', 'http_method', 'enabled'],
|
('Attributes', ('content_types', 'http_method', 'enabled')),
|
||||||
['type_create', 'type_update', 'type_delete'],
|
('Events', ('type_create', 'type_update', 'type_delete')),
|
||||||
]
|
)
|
||||||
content_types = ContentTypeMultipleChoiceField(
|
content_types = ContentTypeMultipleChoiceField(
|
||||||
queryset=ContentType.objects.all(),
|
queryset=ContentType.objects.all(),
|
||||||
limit_choices_to=FeatureQuery('custom_fields'),
|
limit_choices_to=FeatureQuery('custom_fields'),
|
||||||
@ -160,13 +159,13 @@ class TagFilterForm(FilterForm):
|
|||||||
|
|
||||||
|
|
||||||
class ConfigContextFilterForm(FilterForm):
|
class ConfigContextFilterForm(FilterForm):
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['region_id', 'site_group_id', 'site_id'],
|
('Location', ('region_id', 'site_group_id', 'site_id')),
|
||||||
['device_type_id', 'platform_id', 'role_id'],
|
('Device', ('device_type_id', 'platform_id', 'role_id')),
|
||||||
['cluster_type_id', 'cluster_group_id', 'cluster_id'],
|
('Cluster', ('cluster_type_id', 'cluster_group_id', 'cluster_id')),
|
||||||
['tenant_group_id', 'tenant_id']
|
('Tenant', ('tenant_group_id', 'tenant_id'))
|
||||||
]
|
)
|
||||||
region_id = DynamicModelMultipleChoiceField(
|
region_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=Region.objects.all(),
|
queryset=Region.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
@ -243,11 +242,11 @@ class LocalConfigContextFilterForm(forms.Form):
|
|||||||
|
|
||||||
class JournalEntryFilterForm(FilterForm):
|
class JournalEntryFilterForm(FilterForm):
|
||||||
model = JournalEntry
|
model = JournalEntry
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q'],
|
(None, ('q',)),
|
||||||
['created_before', 'created_after', 'created_by_id'],
|
('Creation', ('created_before', 'created_after', 'created_by_id')),
|
||||||
['assigned_object_type_id', 'kind']
|
('Attributes', ('assigned_object_type_id', 'kind'))
|
||||||
]
|
)
|
||||||
created_after = forms.DateTimeField(
|
created_after = forms.DateTimeField(
|
||||||
required=False,
|
required=False,
|
||||||
label=_('After'),
|
label=_('After'),
|
||||||
@ -283,11 +282,11 @@ class JournalEntryFilterForm(FilterForm):
|
|||||||
|
|
||||||
class ObjectChangeFilterForm(FilterForm):
|
class ObjectChangeFilterForm(FilterForm):
|
||||||
model = ObjectChange
|
model = ObjectChange
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q'],
|
(None, ('q',)),
|
||||||
['time_before', 'time_after', 'action'],
|
('Time', ('time_before', 'time_after')),
|
||||||
['user_id', 'changed_object_type_id'],
|
('Attributes', ('action', 'user_id', 'changed_object_type_id')),
|
||||||
]
|
)
|
||||||
time_after = forms.DateTimeField(
|
time_after = forms.DateTimeField(
|
||||||
required=False,
|
required=False,
|
||||||
label=_('After'),
|
label=_('After'),
|
||||||
|
@ -41,11 +41,11 @@ IPADDRESS_MASK_LENGTH_CHOICES = add_blank_choice([
|
|||||||
|
|
||||||
class VRFFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
class VRFFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
||||||
model = VRF
|
model = VRF
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['import_target_id', 'export_target_id'],
|
('Route Targets', ('import_target_id', 'export_target_id')),
|
||||||
['tenant_group_id', 'tenant_id'],
|
('Tenant', ('tenant_group_id', 'tenant_id')),
|
||||||
]
|
)
|
||||||
import_target_id = DynamicModelMultipleChoiceField(
|
import_target_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=RouteTarget.objects.all(),
|
queryset=RouteTarget.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
@ -61,11 +61,11 @@ class VRFFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class RouteTargetFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
class RouteTargetFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
||||||
model = RouteTarget
|
model = RouteTarget
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['importing_vrf_id', 'exporting_vrf_id'],
|
('VRF', ('importing_vrf_id', 'exporting_vrf_id')),
|
||||||
['tenant_group_id', 'tenant_id'],
|
('Tenant', ('tenant_group_id', 'tenant_id')),
|
||||||
]
|
)
|
||||||
importing_vrf_id = DynamicModelMultipleChoiceField(
|
importing_vrf_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=VRF.objects.all(),
|
queryset=VRF.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
@ -93,11 +93,11 @@ class RIRFilterForm(NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class AggregateFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
class AggregateFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
||||||
model = Aggregate
|
model = Aggregate
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['family', 'rir_id'],
|
('Attributes', ('family', 'rir_id')),
|
||||||
['tenant_group_id', 'tenant_id']
|
('Tenant', ('tenant_group_id', 'tenant_id')),
|
||||||
]
|
)
|
||||||
family = forms.ChoiceField(
|
family = forms.ChoiceField(
|
||||||
required=False,
|
required=False,
|
||||||
choices=add_blank_choice(IPAddressFamilyChoices),
|
choices=add_blank_choice(IPAddressFamilyChoices),
|
||||||
@ -114,12 +114,11 @@ class AggregateFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class ASNFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
class ASNFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
||||||
model = ASN
|
model = ASN
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q'],
|
(None, ('q', 'tag')),
|
||||||
['rir_id'],
|
('Assignment', ('rir_id', 'site_id')),
|
||||||
['tenant_group_id', 'tenant_id'],
|
('Tenant', ('tenant_group_id', 'tenant_id')),
|
||||||
['site_id'],
|
)
|
||||||
]
|
|
||||||
rir_id = DynamicModelMultipleChoiceField(
|
rir_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=RIR.objects.all(),
|
queryset=RIR.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
@ -130,6 +129,7 @@ class ASNFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
|||||||
required=False,
|
required=False,
|
||||||
label=_('Site')
|
label=_('Site')
|
||||||
)
|
)
|
||||||
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
class RoleFilterForm(NetBoxModelFilterSetForm):
|
class RoleFilterForm(NetBoxModelFilterSetForm):
|
||||||
@ -139,13 +139,13 @@ class RoleFilterForm(NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class PrefixFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
class PrefixFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
||||||
model = Prefix
|
model = Prefix
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['within_include', 'family', 'status', 'role_id', 'mask_length', 'is_pool', 'mark_utilized'],
|
('Addressing', ('within_include', 'family', 'status', 'role_id', 'mask_length', 'is_pool', 'mark_utilized')),
|
||||||
['vrf_id', 'present_in_vrf_id'],
|
('VRF', ('vrf_id', 'present_in_vrf_id')),
|
||||||
['region_id', 'site_group_id', 'site_id'],
|
('Location', ('region_id', 'site_group_id', 'site_id')),
|
||||||
['tenant_group_id', 'tenant_id']
|
('Tenant', ('tenant_group_id', 'tenant_id')),
|
||||||
]
|
)
|
||||||
mask_length__lte = forms.IntegerField(
|
mask_length__lte = forms.IntegerField(
|
||||||
widget=forms.HiddenInput()
|
widget=forms.HiddenInput()
|
||||||
)
|
)
|
||||||
@ -230,11 +230,11 @@ class PrefixFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class IPRangeFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
class IPRangeFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
||||||
model = IPRange
|
model = IPRange
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['family', 'vrf_id', 'status', 'role_id'],
|
('Attriubtes', ('family', 'vrf_id', 'status', 'role_id')),
|
||||||
['tenant_group_id', 'tenant_id'],
|
('Tenant', ('tenant_group_id', 'tenant_id')),
|
||||||
]
|
)
|
||||||
family = forms.ChoiceField(
|
family = forms.ChoiceField(
|
||||||
required=False,
|
required=False,
|
||||||
choices=add_blank_choice(IPAddressFamilyChoices),
|
choices=add_blank_choice(IPAddressFamilyChoices),
|
||||||
@ -263,12 +263,12 @@ class IPRangeFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class IPAddressFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
class IPAddressFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
||||||
model = IPAddress
|
model = IPAddress
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['parent', 'family', 'status', 'role', 'mask_length', 'assigned_to_interface'],
|
('Attributes', ('parent', 'family', 'status', 'role', 'mask_length', 'assigned_to_interface')),
|
||||||
['vrf_id', 'present_in_vrf_id'],
|
('VRF', ('vrf_id', 'present_in_vrf_id')),
|
||||||
['tenant_group_id', 'tenant_id'],
|
('Tenant', ('tenant_group_id', 'tenant_id')),
|
||||||
]
|
)
|
||||||
parent = forms.CharField(
|
parent = forms.CharField(
|
||||||
required=False,
|
required=False,
|
||||||
widget=forms.TextInput(
|
widget=forms.TextInput(
|
||||||
@ -323,10 +323,10 @@ class IPAddressFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class FHRPGroupFilterForm(NetBoxModelFilterSetForm):
|
class FHRPGroupFilterForm(NetBoxModelFilterSetForm):
|
||||||
model = FHRPGroup
|
model = FHRPGroup
|
||||||
field_groups = (
|
fieldsets = (
|
||||||
('q', 'tag'),
|
(None, ('q', 'tag')),
|
||||||
('protocol', 'group_id'),
|
('Attributes', ('protocol', 'group_id')),
|
||||||
('auth_type', 'auth_key'),
|
('Authentication', ('auth_type', 'auth_key')),
|
||||||
)
|
)
|
||||||
protocol = forms.MultipleChoiceField(
|
protocol = forms.MultipleChoiceField(
|
||||||
choices=FHRPGroupProtocolChoices,
|
choices=FHRPGroupProtocolChoices,
|
||||||
@ -352,11 +352,11 @@ class FHRPGroupFilterForm(NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
|
|
||||||
class VLANGroupFilterForm(NetBoxModelFilterSetForm):
|
class VLANGroupFilterForm(NetBoxModelFilterSetForm):
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['region', 'sitegroup', 'site', 'location', 'rack'],
|
('Location', ('region', 'sitegroup', 'site', 'location', 'rack')),
|
||||||
['min_vid', 'max_vid'],
|
('VLAN ID', ('min_vid', 'max_vid')),
|
||||||
]
|
)
|
||||||
model = VLANGroup
|
model = VLANGroup
|
||||||
region = DynamicModelMultipleChoiceField(
|
region = DynamicModelMultipleChoiceField(
|
||||||
queryset=Region.objects.all(),
|
queryset=Region.objects.all(),
|
||||||
@ -396,12 +396,12 @@ class VLANGroupFilterForm(NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class VLANFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
class VLANFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
||||||
model = VLAN
|
model = VLAN
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['region_id', 'site_group_id', 'site_id'],
|
('Location', ('region_id', 'site_group_id', 'site_id')),
|
||||||
['group_id', 'status', 'role_id', 'vid'],
|
('Attributes', ('group_id', 'status', 'role_id', 'vid')),
|
||||||
['tenant_group_id', 'tenant_id'],
|
('Tenant', ('tenant_group_id', 'tenant_id')),
|
||||||
]
|
)
|
||||||
region_id = DynamicModelMultipleChoiceField(
|
region_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=Region.objects.all(),
|
queryset=Region.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
@ -450,9 +450,9 @@ class VLANFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class ServiceTemplateFilterForm(NetBoxModelFilterSetForm):
|
class ServiceTemplateFilterForm(NetBoxModelFilterSetForm):
|
||||||
model = ServiceTemplate
|
model = ServiceTemplate
|
||||||
field_groups = (
|
fieldsets = (
|
||||||
('q', 'tag'),
|
(None, ('q', 'tag')),
|
||||||
('protocol', 'port'),
|
('Attributes', ('protocol', 'port')),
|
||||||
)
|
)
|
||||||
protocol = forms.ChoiceField(
|
protocol = forms.ChoiceField(
|
||||||
choices=add_blank_choice(ServiceProtocolChoices),
|
choices=add_blank_choice(ServiceProtocolChoices),
|
||||||
|
@ -7,21 +7,22 @@
|
|||||||
{% for field in filter_form.hidden_fields %}
|
{% for field in filter_form.hidden_fields %}
|
||||||
{{ field }}
|
{{ field }}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% if filter_form.field_groups %}
|
{# List filters by group #}
|
||||||
{# List filters by group #}
|
{% for heading, fields in filter_form.fieldsets %}
|
||||||
{% for group in filter_form.field_groups %}
|
<div class="col col-12">
|
||||||
<div class="col col-12">
|
{% if heading %}
|
||||||
{% for name in group %}
|
<h6>{{ heading }}</h6>
|
||||||
{% with field=filter_form|get_item:name %}
|
|
||||||
{% render_field field %}
|
|
||||||
{% endwith %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
{% if not forloop.last %}
|
|
||||||
<hr class="card-divider mt-0" />
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% for name in fields %}
|
||||||
{% else %}
|
{% with field=filter_form|get_item:name %}
|
||||||
|
{% render_field field %}
|
||||||
|
{% endwith %}
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
{% if not forloop.last %}
|
||||||
|
<hr class="card-divider mt-0" />
|
||||||
|
{% endif %}
|
||||||
|
{% empty %}
|
||||||
{# List all non-customfield filters as declared in the form class #}
|
{# List all non-customfield filters as declared in the form class #}
|
||||||
{% for field in filter_form.visible_fields %}
|
{% for field in filter_form.visible_fields %}
|
||||||
{% if not filter_form.custom_fields or field.name not in filter_form.custom_fields %}
|
{% if not filter_form.custom_fields or field.name not in filter_form.custom_fields %}
|
||||||
@ -30,7 +31,7 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endfor %}
|
||||||
{% if filter_form.custom_fields %}
|
{% if filter_form.custom_fields %}
|
||||||
{# List all custom field filters #}
|
{# List all custom field filters #}
|
||||||
<hr class="card-divider mt-0" />
|
<hr class="card-divider mt-0" />
|
||||||
|
@ -29,10 +29,6 @@ class TenantGroupFilterForm(NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class TenantFilterForm(NetBoxModelFilterSetForm):
|
class TenantFilterForm(NetBoxModelFilterSetForm):
|
||||||
model = Tenant
|
model = Tenant
|
||||||
field_groups = (
|
|
||||||
('q', 'tag'),
|
|
||||||
('group_id',),
|
|
||||||
)
|
|
||||||
group_id = DynamicModelMultipleChoiceField(
|
group_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=TenantGroup.objects.all(),
|
queryset=TenantGroup.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
@ -63,10 +59,6 @@ class ContactRoleFilterForm(NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class ContactFilterForm(NetBoxModelFilterSetForm):
|
class ContactFilterForm(NetBoxModelFilterSetForm):
|
||||||
model = Contact
|
model = Contact
|
||||||
field_groups = (
|
|
||||||
('q', 'tag'),
|
|
||||||
('group_id',),
|
|
||||||
)
|
|
||||||
group_id = DynamicModelMultipleChoiceField(
|
group_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=ContactGroup.objects.all(),
|
queryset=ContactGroup.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
|
@ -32,12 +32,12 @@ class ClusterGroupFilterForm(NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class ClusterFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
class ClusterFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
||||||
model = Cluster
|
model = Cluster
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['group_id', 'type_id'],
|
('Attributes', ('group_id', 'type_id')),
|
||||||
['region_id', 'site_group_id', 'site_id'],
|
('Location', ('region_id', 'site_group_id', 'site_id')),
|
||||||
['tenant_group_id', 'tenant_id'],
|
('Tenant', ('tenant_group_id', 'tenant_id')),
|
||||||
]
|
)
|
||||||
type_id = DynamicModelMultipleChoiceField(
|
type_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=ClusterType.objects.all(),
|
queryset=ClusterType.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
@ -74,13 +74,13 @@ class ClusterFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class VirtualMachineFilterForm(LocalConfigContextFilterForm, TenancyFilterForm, NetBoxModelFilterSetForm):
|
class VirtualMachineFilterForm(LocalConfigContextFilterForm, TenancyFilterForm, NetBoxModelFilterSetForm):
|
||||||
model = VirtualMachine
|
model = VirtualMachine
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['cluster_group_id', 'cluster_type_id', 'cluster_id'],
|
('Cluster', ('cluster_group_id', 'cluster_type_id', 'cluster_id')),
|
||||||
['region_id', 'site_group_id', 'site_id'],
|
('Location', ('region_id', 'site_group_id', 'site_id')),
|
||||||
['status', 'role_id', 'platform_id', 'mac_address', 'has_primary_ip', 'local_context_data'],
|
('Attriubtes', ('status', 'role_id', 'platform_id', 'mac_address', 'has_primary_ip', 'local_context_data')),
|
||||||
['tenant_group_id', 'tenant_id'],
|
('Tenant', ('tenant_group_id', 'tenant_id')),
|
||||||
]
|
)
|
||||||
cluster_group_id = DynamicModelMultipleChoiceField(
|
cluster_group_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=ClusterGroup.objects.all(),
|
queryset=ClusterGroup.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
@ -154,11 +154,11 @@ class VirtualMachineFilterForm(LocalConfigContextFilterForm, TenancyFilterForm,
|
|||||||
|
|
||||||
class VMInterfaceFilterForm(NetBoxModelFilterSetForm):
|
class VMInterfaceFilterForm(NetBoxModelFilterSetForm):
|
||||||
model = VMInterface
|
model = VMInterface
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
['q', 'tag'],
|
(None, ('q', 'tag')),
|
||||||
['cluster_id', 'virtual_machine_id'],
|
('Virtual Machine', ('cluster_id', 'virtual_machine_id')),
|
||||||
['enabled', 'mac_address'],
|
('Attributes', ('enabled', 'mac_address')),
|
||||||
]
|
)
|
||||||
cluster_id = DynamicModelMultipleChoiceField(
|
cluster_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=Cluster.objects.all(),
|
queryset=Cluster.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
|
@ -26,10 +26,11 @@ class WirelessLANGroupFilterForm(NetBoxModelFilterSetForm):
|
|||||||
|
|
||||||
class WirelessLANFilterForm(NetBoxModelFilterSetForm):
|
class WirelessLANFilterForm(NetBoxModelFilterSetForm):
|
||||||
model = WirelessLAN
|
model = WirelessLAN
|
||||||
field_groups = [
|
fieldsets = (
|
||||||
('q', 'tag'),
|
(None, ('q', 'tag')),
|
||||||
('group_id',),
|
('Attributes', ('ssid', 'group_id',)),
|
||||||
]
|
('Authentication', ('auth_type', 'auth_cipher', 'auth_psk')),
|
||||||
|
)
|
||||||
ssid = forms.CharField(
|
ssid = forms.CharField(
|
||||||
required=False,
|
required=False,
|
||||||
label='SSID'
|
label='SSID'
|
||||||
|
Loading…
Reference in New Issue
Block a user