From 5da38ec5db333511d814323fe5de02bad96329b7 Mon Sep 17 00:00:00 2001 From: Brian Tiemann Date: Sun, 20 Oct 2024 18:54:23 -0400 Subject: [PATCH] Move vlan_translation_policy fields to model and filterset mixins --- netbox/dcim/filtersets.py | 22 +++++++++---------- netbox/dcim/models/device_components.py | 14 ++++++------ netbox/virtualization/filtersets.py | 12 ---------- .../virtualization/models/virtualmachines.py | 7 ------ 4 files changed, 18 insertions(+), 37 deletions(-) diff --git a/netbox/dcim/filtersets.py b/netbox/dcim/filtersets.py index e982fa329..c11a7ef00 100644 --- a/netbox/dcim/filtersets.py +++ b/netbox/dcim/filtersets.py @@ -1629,6 +1629,17 @@ class CommonInterfaceFilterSet(django_filters.FilterSet): to_field_name='identifier', label=_('L2VPN'), ) + vlan_translation_policy_id = django_filters.ModelMultipleChoiceFilter( + field_name='vlan_translation_policy', + queryset=VLANTranslationPolicy.objects.all(), + label=_('VLAN Translation Policy (ID)'), + ) + vlan_translation_policy = django_filters.ModelMultipleChoiceFilter( + field_name='vlan_translation_policy__name', + queryset=VLANTranslationPolicy.objects.all(), + to_field_name='name', + label=_('VLAN Translation Policy'), + ) def filter_vlan_id(self, queryset, name, value): value = value.strip() @@ -1733,17 +1744,6 @@ class InterfaceFilterSet( queryset=WirelessLink.objects.all(), label=_('Wireless link') ) - vlan_translation_policy_id = django_filters.ModelMultipleChoiceFilter( - field_name='vlan_translation_policy', - queryset=VLANTranslationPolicy.objects.all(), - label=_('VLAN Translation Policy (ID)'), - ) - vlan_translation_policy = django_filters.ModelMultipleChoiceFilter( - field_name='vlan_translation_policy__name', - queryset=VLANTranslationPolicy.objects.all(), - to_field_name='name', - label=_('VLAN Translation Policy'), - ) class Meta: model = Interface diff --git a/netbox/dcim/models/device_components.py b/netbox/dcim/models/device_components.py index a8ca6200f..550a8e3d9 100644 --- a/netbox/dcim/models/device_components.py +++ b/netbox/dcim/models/device_components.py @@ -540,6 +540,13 @@ class BaseInterface(models.Model): blank=True, verbose_name=_('bridge interface') ) + vlan_translation_policy = models.ForeignKey( + to='ipam.VLANTranslationPolicy', + on_delete=models.SET_NULL, + null=True, + blank=True, + verbose_name=_('VLAN Translation Policy'), + ) class Meta: abstract = True @@ -725,13 +732,6 @@ class Interface(ModularComponentModel, BaseInterface, CabledObjectModel, PathEnd object_id_field='assigned_object_id', related_query_name='interface', ) - vlan_translation_policy = models.ForeignKey( - to='ipam.VLANTranslationPolicy', - on_delete=models.SET_NULL, - null=True, - blank=True, - verbose_name=_('VLAN Translation Policy'), - ) clone_fields = ( 'device', 'module', 'parent', 'bridge', 'lag', 'type', 'mgmt_only', 'mtu', 'mode', 'speed', 'duplex', 'rf_role', diff --git a/netbox/virtualization/filtersets.py b/netbox/virtualization/filtersets.py index ffd957f97..ec0831f9f 100644 --- a/netbox/virtualization/filtersets.py +++ b/netbox/virtualization/filtersets.py @@ -7,7 +7,6 @@ from dcim.models import Device, DeviceRole, Platform, Region, Site, SiteGroup from extras.filtersets import LocalConfigContextFilterSet from extras.models import ConfigTemplate from ipam.filtersets import PrimaryIPFilterSet -from ipam.models import VLANTranslationPolicy from netbox.filtersets import OrganizationalModelFilterSet, NetBoxModelFilterSet from tenancy.filtersets import TenancyFilterSet, ContactModelFilterSet from utilities.filters import MultiValueCharFilter, MultiValueMACAddressFilter, TreeNodeMultipleChoiceFilter @@ -301,17 +300,6 @@ class VMInterfaceFilterSet(NetBoxModelFilterSet, CommonInterfaceFilterSet): mac_address = MultiValueMACAddressFilter( label=_('MAC address'), ) - vlan_translation_policy_id = django_filters.ModelMultipleChoiceFilter( - field_name='vlan_translation_policy', - queryset=VLANTranslationPolicy.objects.all(), - label=_('VLAN Translation Policy (ID)'), - ) - vlan_translation_policy = django_filters.ModelMultipleChoiceFilter( - field_name='vlan_translation_policy__name', - queryset=VLANTranslationPolicy.objects.all(), - to_field_name='name', - label=_('VLAN Translation Policy (name)'), - ) class Meta: model = VMInterface diff --git a/netbox/virtualization/models/virtualmachines.py b/netbox/virtualization/models/virtualmachines.py index bb03784da..0767b2c13 100644 --- a/netbox/virtualization/models/virtualmachines.py +++ b/netbox/virtualization/models/virtualmachines.py @@ -368,13 +368,6 @@ class VMInterface(ComponentModel, BaseInterface, TrackingModelMixin): object_id_field='assigned_object_id', related_query_name='vminterface', ) - vlan_translation_policy = models.ForeignKey( - to='ipam.VLANTranslationPolicy', - on_delete=models.SET_NULL, - null=True, - blank=True, - verbose_name=_('VLAN Translation Policy'), - ) class Meta(ComponentModel.Meta): verbose_name = _('interface')