Skip to content

Commit cac41cd

Browse files
authored
Fixes #19196: Add Filtering by VLAN Translation Policy to Interface Filter Forms (#19199)
* feat(dcim): Add VLAN Translation Policy to Filter Form Introduces support for VLAN Translation Policies in the Interface Filter Form. * feat(virtualization): Add VLAN Translation Policy to Filter Form Introduces support for VLAN Translation Policies in the Interface Filter Form.
1 parent 27b26ec commit cac41cd

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

netbox/dcim/forms/filtersets.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from dcim.models import *
77
from extras.forms import LocalConfigContextFilterForm
88
from extras.models import ConfigTemplate
9-
from ipam.models import ASN, VRF
9+
from ipam.models import ASN, VRF, VLANTranslationPolicy
1010
from netbox.choices import *
1111
from netbox.forms import NetBoxModelFilterSetForm
1212
from tenancy.forms import ContactModelFilterForm, TenancyFilterForm
@@ -1332,7 +1332,7 @@ class InterfaceFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm):
13321332
FieldSet('name', 'label', 'kind', 'type', 'speed', 'duplex', 'enabled', 'mgmt_only', name=_('Attributes')),
13331333
FieldSet('vrf_id', 'l2vpn_id', 'mac_address', 'wwn', name=_('Addressing')),
13341334
FieldSet('poe_mode', 'poe_type', name=_('PoE')),
1335-
FieldSet('mode', name=_('802.1Q Switching')),
1335+
FieldSet('mode', 'vlan_translation_policy_id', name=_('802.1Q Switching')),
13361336
FieldSet('rf_role', 'rf_channel', 'rf_channel_width', 'tx_power', name=_('Wireless')),
13371337
FieldSet('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id', name=_('Location')),
13381338
FieldSet(
@@ -1409,6 +1409,11 @@ class InterfaceFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm):
14091409
required=False,
14101410
label=_('802.1Q mode')
14111411
)
1412+
vlan_translation_policy_id = DynamicModelMultipleChoiceField(
1413+
queryset=VLANTranslationPolicy.objects.all(),
1414+
required=False,
1415+
label=_('VLAN Translation Policy')
1416+
)
14121417
rf_role = forms.MultipleChoiceField(
14131418
choices=WirelessRoleChoices,
14141419
required=False,

netbox/virtualization/forms/filtersets.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from dcim.models import Device, DeviceRole, Location, Platform, Region, Site, SiteGroup
66
from extras.forms import LocalConfigContextFilterForm
77
from extras.models import ConfigTemplate
8-
from ipam.models import VRF
8+
from ipam.models import VRF, VLANTranslationPolicy
99
from netbox.forms import NetBoxModelFilterSetForm
1010
from tenancy.forms import ContactModelFilterForm, TenancyFilterForm
1111
from utilities.forms import BOOLEAN_WITH_BLANK_CHOICES
@@ -203,7 +203,7 @@ class VMInterfaceFilterForm(NetBoxModelFilterSetForm):
203203
FieldSet('cluster_id', 'virtual_machine_id', name=_('Virtual Machine')),
204204
FieldSet('enabled', name=_('Attributes')),
205205
FieldSet('vrf_id', 'l2vpn_id', 'mac_address', name=_('Addressing')),
206-
FieldSet('mode', name=_('802.1Q Switching')),
206+
FieldSet('mode', 'vlan_translation_policy_id', name=_('802.1Q Switching')),
207207
)
208208
selector_fields = ('filter_id', 'q', 'virtual_machine_id')
209209
cluster_id = DynamicModelMultipleChoiceField(
@@ -245,6 +245,11 @@ class VMInterfaceFilterForm(NetBoxModelFilterSetForm):
245245
required=False,
246246
label=_('802.1Q mode')
247247
)
248+
vlan_translation_policy_id = DynamicModelMultipleChoiceField(
249+
queryset=VLANTranslationPolicy.objects.all(),
250+
required=False,
251+
label=_('VLAN Translation Policy')
252+
)
248253
tag = TagFilterField(model)
249254

250255

0 commit comments

Comments
 (0)