Address PR feedback: Move FilterModifierMixin into base filter form classes

Incorporates FilterModifierMixin into NetBoxModelFilterSetForm and FilterForm,
making filter modifiers automatic for all filter forms throughout the application.
This commit is contained in:
Jason Novinger 2025-11-20 05:22:27 -06:00
parent b410b4e107
commit c8af43f3f2
12 changed files with 112 additions and 124 deletions

View File

@ -13,7 +13,6 @@ from netbox.forms import NetBoxModelFilterSetForm, OrganizationalModelFilterSetF
from tenancy.forms import TenancyFilterForm, ContactModelFilterForm from tenancy.forms import TenancyFilterForm, ContactModelFilterForm
from utilities.forms import add_blank_choice, register_filterset from utilities.forms import add_blank_choice, register_filterset
from utilities.forms.fields import ColorField, DynamicModelMultipleChoiceField, TagFilterField from utilities.forms.fields import ColorField, DynamicModelMultipleChoiceField, TagFilterField
from utilities.forms.mixins import FilterModifierMixin
from utilities.forms.rendering import FieldSet from utilities.forms.rendering import FieldSet
from utilities.forms.widgets import DatePicker, NumberWithOptions from utilities.forms.widgets import DatePicker, NumberWithOptions
from circuits.filtersets import * from circuits.filtersets import *
@ -34,7 +33,7 @@ __all__ = (
@register_filterset(ProviderFilterSet) @register_filterset(ProviderFilterSet)
class ProviderFilterForm(FilterModifierMixin, ContactModelFilterForm, PrimaryModelFilterSetForm): class ProviderFilterForm(ContactModelFilterForm, PrimaryModelFilterSetForm):
model = Provider model = Provider
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -70,7 +69,7 @@ class ProviderFilterForm(FilterModifierMixin, ContactModelFilterForm, PrimaryMod
@register_filterset(ProviderAccountFilterSet) @register_filterset(ProviderAccountFilterSet)
class ProviderAccountFilterForm(FilterModifierMixin, ContactModelFilterForm, PrimaryModelFilterSetForm): class ProviderAccountFilterForm(ContactModelFilterForm, PrimaryModelFilterSetForm):
model = ProviderAccount model = ProviderAccount
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -90,7 +89,7 @@ class ProviderAccountFilterForm(FilterModifierMixin, ContactModelFilterForm, Pri
@register_filterset(ProviderNetworkFilterSet) @register_filterset(ProviderNetworkFilterSet)
class ProviderNetworkFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm): class ProviderNetworkFilterForm(PrimaryModelFilterSetForm):
model = ProviderNetwork model = ProviderNetwork
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -110,7 +109,7 @@ class ProviderNetworkFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
@register_filterset(CircuitTypeFilterSet) @register_filterset(CircuitTypeFilterSet)
class CircuitTypeFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm): class CircuitTypeFilterForm(OrganizationalModelFilterSetForm):
model = CircuitType model = CircuitType
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -125,7 +124,7 @@ class CircuitTypeFilterForm(FilterModifierMixin, OrganizationalModelFilterSetFor
@register_filterset(CircuitFilterSet) @register_filterset(CircuitFilterSet)
class CircuitFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFilterForm, PrimaryModelFilterSetForm): class CircuitFilterForm(TenancyFilterForm, ContactModelFilterForm, PrimaryModelFilterSetForm):
model = Circuit model = Circuit
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -225,7 +224,7 @@ class CircuitFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFilt
@register_filterset(CircuitTerminationFilterSet) @register_filterset(CircuitTerminationFilterSet)
class CircuitTerminationFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm): class CircuitTerminationFilterForm(NetBoxModelFilterSetForm):
model = CircuitTermination model = CircuitTermination
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag'), FieldSet('q', 'filter_id', 'tag'),
@ -280,7 +279,7 @@ class CircuitTerminationFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm
@register_filterset(CircuitGroupFilterSet) @register_filterset(CircuitGroupFilterSet)
class CircuitGroupFilterForm(FilterModifierMixin, TenancyFilterForm, OrganizationalModelFilterSetForm): class CircuitGroupFilterForm(TenancyFilterForm, OrganizationalModelFilterSetForm):
model = CircuitGroup model = CircuitGroup
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -290,7 +289,7 @@ class CircuitGroupFilterForm(FilterModifierMixin, TenancyFilterForm, Organizatio
@register_filterset(CircuitGroupAssignmentFilterSet) @register_filterset(CircuitGroupAssignmentFilterSet)
class CircuitGroupAssignmentFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm): class CircuitGroupAssignmentFilterForm(NetBoxModelFilterSetForm):
model = CircuitGroupAssignment model = CircuitGroupAssignment
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag'), FieldSet('q', 'filter_id', 'tag'),
@ -320,7 +319,7 @@ class CircuitGroupAssignmentFilterForm(FilterModifierMixin, NetBoxModelFilterSet
@register_filterset(VirtualCircuitTypeFilterSet) @register_filterset(VirtualCircuitTypeFilterSet)
class VirtualCircuitTypeFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm): class VirtualCircuitTypeFilterForm(OrganizationalModelFilterSetForm):
model = VirtualCircuitType model = VirtualCircuitType
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -336,7 +335,6 @@ class VirtualCircuitTypeFilterForm(FilterModifierMixin, OrganizationalModelFilte
@register_filterset(VirtualCircuitFilterSet) @register_filterset(VirtualCircuitFilterSet)
class VirtualCircuitFilterForm( class VirtualCircuitFilterForm(
FilterModifierMixin,
TenancyFilterForm, TenancyFilterForm,
ContactModelFilterForm, ContactModelFilterForm,
PrimaryModelFilterSetForm PrimaryModelFilterSetForm
@ -384,7 +382,7 @@ class VirtualCircuitFilterForm(
@register_filterset(VirtualCircuitTerminationFilterSet) @register_filterset(VirtualCircuitTerminationFilterSet)
class VirtualCircuitTerminationFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm): class VirtualCircuitTerminationFilterForm(NetBoxModelFilterSetForm):
model = VirtualCircuitTermination model = VirtualCircuitTermination
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag'), FieldSet('q', 'filter_id', 'tag'),

View File

@ -11,7 +11,6 @@ from utilities.forms import BOOLEAN_WITH_BLANK_CHOICES, FilterForm, add_blank_ch
from utilities.forms.fields import ( from utilities.forms.fields import (
ContentTypeChoiceField, ContentTypeMultipleChoiceField, DynamicModelMultipleChoiceField, TagFilterField, ContentTypeChoiceField, ContentTypeMultipleChoiceField, DynamicModelMultipleChoiceField, TagFilterField,
) )
from utilities.forms.mixins import FilterModifierMixin
from utilities.forms.rendering import FieldSet from utilities.forms.rendering import FieldSet
from utilities.forms.widgets import DateTimePicker from utilities.forms.widgets import DateTimePicker
from core.filtersets import * from core.filtersets import *
@ -26,7 +25,7 @@ __all__ = (
@register_filterset(DataSourceFilterSet) @register_filterset(DataSourceFilterSet)
class DataSourceFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm): class DataSourceFilterForm(PrimaryModelFilterSetForm):
model = DataSource model = DataSource
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -58,7 +57,7 @@ class DataSourceFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
@register_filterset(DataFileFilterSet) @register_filterset(DataFileFilterSet)
class DataFileFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm): class DataFileFilterForm(NetBoxModelFilterSetForm):
model = DataFile model = DataFile
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id'), FieldSet('q', 'filter_id'),
@ -72,7 +71,7 @@ class DataFileFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
@register_filterset(JobFilterSet) @register_filterset(JobFilterSet)
class JobFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm): class JobFilterForm(SavedFiltersMixin, FilterForm):
model = Job model = Job
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id'), FieldSet('q', 'filter_id'),
@ -140,7 +139,7 @@ class JobFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
@register_filterset(ObjectChangeFilterSet) @register_filterset(ObjectChangeFilterSet)
class ObjectChangeFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm): class ObjectChangeFilterForm(SavedFiltersMixin, FilterForm):
model = ObjectChange model = ObjectChange
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id'), FieldSet('q', 'filter_id'),
@ -175,7 +174,7 @@ class ObjectChangeFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm)
@register_filterset(ConfigRevisionFilterSet) @register_filterset(ConfigRevisionFilterSet)
class ConfigRevisionFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm): class ConfigRevisionFilterForm(SavedFiltersMixin, FilterForm):
model = ConfigRevision model = ConfigRevision
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id'), FieldSet('q', 'filter_id'),

View File

@ -17,7 +17,6 @@ from tenancy.forms import ContactModelFilterForm, TenancyFilterForm
from users.models import Owner, User from users.models import Owner, User
from utilities.forms import BOOLEAN_WITH_BLANK_CHOICES, FilterForm, add_blank_choice, register_filterset from utilities.forms import BOOLEAN_WITH_BLANK_CHOICES, FilterForm, add_blank_choice, register_filterset
from utilities.forms.fields import ColorField, DynamicModelChoiceField, DynamicModelMultipleChoiceField, TagFilterField from utilities.forms.fields import ColorField, DynamicModelChoiceField, DynamicModelMultipleChoiceField, TagFilterField
from utilities.forms.mixins import FilterModifierMixin
from utilities.forms.rendering import FieldSet from utilities.forms.rendering import FieldSet
from utilities.forms.widgets import NumberWithOptions from utilities.forms.widgets import NumberWithOptions
from virtualization.models import Cluster, ClusterGroup, VirtualMachine from virtualization.models import Cluster, ClusterGroup, VirtualMachine
@ -150,7 +149,7 @@ class DeviceComponentFilterForm(NetBoxModelFilterSetForm):
@register_filterset(RegionFilterSet) @register_filterset(RegionFilterSet)
class RegionFilterForm(FilterModifierMixin, ContactModelFilterForm, NestedGroupModelFilterSetForm): class RegionFilterForm(ContactModelFilterForm, NestedGroupModelFilterSetForm):
model = Region model = Region
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -166,7 +165,7 @@ class RegionFilterForm(FilterModifierMixin, ContactModelFilterForm, NestedGroupM
@register_filterset(SiteGroupFilterSet) @register_filterset(SiteGroupFilterSet)
class SiteGroupFilterForm(FilterModifierMixin, ContactModelFilterForm, NestedGroupModelFilterSetForm): class SiteGroupFilterForm(ContactModelFilterForm, NestedGroupModelFilterSetForm):
model = SiteGroup model = SiteGroup
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -182,7 +181,7 @@ class SiteGroupFilterForm(FilterModifierMixin, ContactModelFilterForm, NestedGro
@register_filterset(SiteFilterSet) @register_filterset(SiteFilterSet)
class SiteFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFilterForm, PrimaryModelFilterSetForm): class SiteFilterForm(TenancyFilterForm, ContactModelFilterForm, PrimaryModelFilterSetForm):
model = Site model = Site
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -215,7 +214,7 @@ class SiteFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFilterF
@register_filterset(LocationFilterSet) @register_filterset(LocationFilterSet)
class LocationFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFilterForm, NestedGroupModelFilterSetForm): class LocationFilterForm(TenancyFilterForm, ContactModelFilterForm, NestedGroupModelFilterSetForm):
model = Location model = Location
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -264,7 +263,7 @@ class LocationFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFil
@register_filterset(RackRoleFilterSet) @register_filterset(RackRoleFilterSet)
class RackRoleFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm): class RackRoleFilterForm(OrganizationalModelFilterSetForm):
model = RackRole model = RackRole
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -316,7 +315,7 @@ class RackBaseFilterForm(PrimaryModelFilterSetForm):
@register_filterset(RackTypeFilterSet) @register_filterset(RackTypeFilterSet)
class RackTypeFilterForm(FilterModifierMixin, RackBaseFilterForm): class RackTypeFilterForm(RackBaseFilterForm):
model = RackType model = RackType
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -339,7 +338,7 @@ class RackTypeFilterForm(FilterModifierMixin, RackBaseFilterForm):
@register_filterset(RackFilterSet) @register_filterset(RackFilterSet)
class RackFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFilterForm, RackBaseFilterForm): class RackFilterForm(TenancyFilterForm, ContactModelFilterForm, RackBaseFilterForm):
model = Rack model = Rack
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -441,7 +440,7 @@ class RackElevationFilterForm(RackFilterForm):
@register_filterset(RackReservationFilterSet) @register_filterset(RackReservationFilterSet)
class RackReservationFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm): class RackReservationFilterForm(TenancyFilterForm, PrimaryModelFilterSetForm):
model = RackReservation model = RackReservation
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -500,7 +499,7 @@ class RackReservationFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryM
@register_filterset(ManufacturerFilterSet) @register_filterset(ManufacturerFilterSet)
class ManufacturerFilterForm(FilterModifierMixin, ContactModelFilterForm, OrganizationalModelFilterSetForm): class ManufacturerFilterForm(ContactModelFilterForm, OrganizationalModelFilterSetForm):
model = Manufacturer model = Manufacturer
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -510,7 +509,7 @@ class ManufacturerFilterForm(FilterModifierMixin, ContactModelFilterForm, Organi
@register_filterset(DeviceTypeFilterSet) @register_filterset(DeviceTypeFilterSet)
class DeviceTypeFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm): class DeviceTypeFilterForm(PrimaryModelFilterSetForm):
model = DeviceType model = DeviceType
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -645,7 +644,7 @@ class DeviceTypeFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
@register_filterset(ModuleTypeProfileFilterSet) @register_filterset(ModuleTypeProfileFilterSet)
class ModuleTypeProfileFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm): class ModuleTypeProfileFilterForm(PrimaryModelFilterSetForm):
model = ModuleTypeProfile model = ModuleTypeProfile
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -655,7 +654,7 @@ class ModuleTypeProfileFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm
@register_filterset(ModuleTypeFilterSet) @register_filterset(ModuleTypeFilterSet)
class ModuleTypeFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm): class ModuleTypeFilterForm(PrimaryModelFilterSetForm):
model = ModuleType model = ModuleType
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -749,7 +748,7 @@ class ModuleTypeFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
@register_filterset(DeviceRoleFilterSet) @register_filterset(DeviceRoleFilterSet)
class DeviceRoleFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm): class DeviceRoleFilterForm(NestedGroupModelFilterSetForm):
model = DeviceRole model = DeviceRole
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -769,7 +768,7 @@ class DeviceRoleFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm):
@register_filterset(PlatformFilterSet) @register_filterset(PlatformFilterSet)
class PlatformFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm): class PlatformFilterForm(NestedGroupModelFilterSetForm):
model = Platform model = Platform
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -796,7 +795,6 @@ class PlatformFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm):
@register_filterset(DeviceFilterSet) @register_filterset(DeviceFilterSet)
class DeviceFilterForm( class DeviceFilterForm(
FilterModifierMixin,
LocalConfigContextFilterForm, LocalConfigContextFilterForm,
TenancyFilterForm, TenancyFilterForm,
ContactModelFilterForm, ContactModelFilterForm,
@ -995,7 +993,7 @@ class DeviceFilterForm(
@register_filterset(VirtualDeviceContextFilterSet) @register_filterset(VirtualDeviceContextFilterSet)
class VirtualDeviceContextFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm): class VirtualDeviceContextFilterForm(TenancyFilterForm, PrimaryModelFilterSetForm):
model = VirtualDeviceContext model = VirtualDeviceContext
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -1023,7 +1021,7 @@ class VirtualDeviceContextFilterForm(FilterModifierMixin, TenancyFilterForm, Pri
@register_filterset(ModuleFilterSet) @register_filterset(ModuleFilterSet)
class ModuleFilterForm(FilterModifierMixin, LocalConfigContextFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm): class ModuleFilterForm(LocalConfigContextFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm):
model = Module model = Module
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -1107,7 +1105,7 @@ class ModuleFilterForm(FilterModifierMixin, LocalConfigContextFilterForm, Tenanc
@register_filterset(VirtualChassisFilterSet) @register_filterset(VirtualChassisFilterSet)
class VirtualChassisFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm): class VirtualChassisFilterForm(TenancyFilterForm, PrimaryModelFilterSetForm):
model = VirtualChassis model = VirtualChassis
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -1137,7 +1135,7 @@ class VirtualChassisFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryMo
@register_filterset(CableFilterSet) @register_filterset(CableFilterSet)
class CableFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm): class CableFilterForm(TenancyFilterForm, PrimaryModelFilterSetForm):
model = Cable model = Cable
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -1227,7 +1225,7 @@ class CableFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilter
@register_filterset(PowerPanelFilterSet) @register_filterset(PowerPanelFilterSet)
class PowerPanelFilterForm(FilterModifierMixin, ContactModelFilterForm, PrimaryModelFilterSetForm): class PowerPanelFilterForm(ContactModelFilterForm, PrimaryModelFilterSetForm):
model = PowerPanel model = PowerPanel
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -1267,7 +1265,7 @@ class PowerPanelFilterForm(FilterModifierMixin, ContactModelFilterForm, PrimaryM
@register_filterset(PowerFeedFilterSet) @register_filterset(PowerFeedFilterSet)
class PowerFeedFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm): class PowerFeedFilterForm(TenancyFilterForm, PrimaryModelFilterSetForm):
model = PowerFeed model = PowerFeed
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -1378,7 +1376,7 @@ class PathEndpointFilterForm(CabledFilterForm):
@register_filterset(ConsolePortFilterSet) @register_filterset(ConsolePortFilterSet)
class ConsolePortFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceComponentFilterForm): class ConsolePortFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm):
model = ConsolePort model = ConsolePort
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -1403,7 +1401,7 @@ class ConsolePortFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceC
@register_filterset(ConsoleServerPortFilterSet) @register_filterset(ConsoleServerPortFilterSet)
class ConsoleServerPortFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceComponentFilterForm): class ConsoleServerPortFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm):
model = ConsoleServerPort model = ConsoleServerPort
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -1429,7 +1427,7 @@ class ConsoleServerPortFilterForm(FilterModifierMixin, PathEndpointFilterForm, D
@register_filterset(PowerPortFilterSet) @register_filterset(PowerPortFilterSet)
class PowerPortFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceComponentFilterForm): class PowerPortFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm):
model = PowerPort model = PowerPort
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -1449,7 +1447,7 @@ class PowerPortFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceCom
@register_filterset(PowerOutletFilterSet) @register_filterset(PowerOutletFilterSet)
class PowerOutletFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceComponentFilterForm): class PowerOutletFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm):
model = PowerOutlet model = PowerOutlet
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -1479,7 +1477,7 @@ class PowerOutletFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceC
@register_filterset(InterfaceFilterSet) @register_filterset(InterfaceFilterSet)
class InterfaceFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceComponentFilterForm): class InterfaceFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm):
model = Interface model = Interface
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -1606,7 +1604,7 @@ class InterfaceFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceCom
@register_filterset(FrontPortFilterSet) @register_filterset(FrontPortFilterSet)
class FrontPortFilterForm(FilterModifierMixin, CabledFilterForm, DeviceComponentFilterForm): class FrontPortFilterForm(CabledFilterForm, DeviceComponentFilterForm):
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
FieldSet('name', 'label', 'type', 'color', name=_('Attributes')), FieldSet('name', 'label', 'type', 'color', name=_('Attributes')),
@ -1630,7 +1628,7 @@ class FrontPortFilterForm(FilterModifierMixin, CabledFilterForm, DeviceComponent
@register_filterset(RearPortFilterSet) @register_filterset(RearPortFilterSet)
class RearPortFilterForm(FilterModifierMixin, CabledFilterForm, DeviceComponentFilterForm): class RearPortFilterForm(CabledFilterForm, DeviceComponentFilterForm):
model = RearPort model = RearPort
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -1655,7 +1653,7 @@ class RearPortFilterForm(FilterModifierMixin, CabledFilterForm, DeviceComponentF
@register_filterset(ModuleBayFilterSet) @register_filterset(ModuleBayFilterSet)
class ModuleBayFilterForm(FilterModifierMixin, DeviceComponentFilterForm): class ModuleBayFilterForm(DeviceComponentFilterForm):
model = ModuleBay model = ModuleBay
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -1674,7 +1672,7 @@ class ModuleBayFilterForm(FilterModifierMixin, DeviceComponentFilterForm):
@register_filterset(DeviceBayFilterSet) @register_filterset(DeviceBayFilterSet)
class DeviceBayFilterForm(FilterModifierMixin, DeviceComponentFilterForm): class DeviceBayFilterForm(DeviceComponentFilterForm):
model = DeviceBay model = DeviceBay
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -1689,7 +1687,7 @@ class DeviceBayFilterForm(FilterModifierMixin, DeviceComponentFilterForm):
@register_filterset(InventoryItemFilterSet) @register_filterset(InventoryItemFilterSet)
class InventoryItemFilterForm(FilterModifierMixin, DeviceComponentFilterForm): class InventoryItemFilterForm(DeviceComponentFilterForm):
model = InventoryItem model = InventoryItem
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -1741,7 +1739,7 @@ class InventoryItemFilterForm(FilterModifierMixin, DeviceComponentFilterForm):
# #
@register_filterset(InventoryItemRoleFilterSet) @register_filterset(InventoryItemRoleFilterSet)
class InventoryItemRoleFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm): class InventoryItemRoleFilterForm(OrganizationalModelFilterSetForm):
model = InventoryItemRole model = InventoryItemRole
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -1754,7 +1752,7 @@ class InventoryItemRoleFilterForm(FilterModifierMixin, OrganizationalModelFilter
# #
@register_filterset(MACAddressFilterSet) @register_filterset(MACAddressFilterSet)
class MACAddressFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm): class MACAddressFilterForm(PrimaryModelFilterSetForm):
model = MACAddress model = MACAddress
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),

View File

@ -15,7 +15,6 @@ from utilities.forms.fields import (
ContentTypeChoiceField, ContentTypeMultipleChoiceField, DynamicModelChoiceField, DynamicModelMultipleChoiceField, ContentTypeChoiceField, ContentTypeMultipleChoiceField, DynamicModelChoiceField, DynamicModelMultipleChoiceField,
TagFilterField, TagFilterField,
) )
from utilities.forms.mixins import FilterModifierMixin
from utilities.forms.rendering import FieldSet from utilities.forms.rendering import FieldSet
from utilities.forms.widgets import DateTimePicker from utilities.forms.widgets import DateTimePicker
from virtualization.models import Cluster, ClusterGroup, ClusterType from virtualization.models import Cluster, ClusterGroup, ClusterType
@ -42,7 +41,7 @@ __all__ = (
@register_filterset(CustomFieldFilterSet) @register_filterset(CustomFieldFilterSet)
class CustomFieldFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm): class CustomFieldFilterForm(SavedFiltersMixin, FilterForm):
model = CustomField model = CustomField
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id'), FieldSet('q', 'filter_id'),
@ -130,7 +129,7 @@ class CustomFieldFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
@register_filterset(CustomFieldChoiceSetFilterSet) @register_filterset(CustomFieldChoiceSetFilterSet)
class CustomFieldChoiceSetFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm): class CustomFieldChoiceSetFilterForm(SavedFiltersMixin, FilterForm):
model = CustomFieldChoiceSet model = CustomFieldChoiceSet
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id'), FieldSet('q', 'filter_id'),
@ -151,7 +150,7 @@ class CustomFieldChoiceSetFilterForm(FilterModifierMixin, SavedFiltersMixin, Fil
@register_filterset(CustomLinkFilterSet) @register_filterset(CustomLinkFilterSet)
class CustomLinkFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm): class CustomLinkFilterForm(SavedFiltersMixin, FilterForm):
model = CustomLink model = CustomLink
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id'), FieldSet('q', 'filter_id'),
@ -188,7 +187,7 @@ class CustomLinkFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
@register_filterset(ExportTemplateFilterSet) @register_filterset(ExportTemplateFilterSet)
class ExportTemplateFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm): class ExportTemplateFilterForm(SavedFiltersMixin, FilterForm):
model = ExportTemplate model = ExportTemplate
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'object_type_id'), FieldSet('q', 'filter_id', 'object_type_id'),
@ -240,7 +239,7 @@ class ExportTemplateFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterFor
@register_filterset(ImageAttachmentFilterSet) @register_filterset(ImageAttachmentFilterSet)
class ImageAttachmentFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm): class ImageAttachmentFilterForm(SavedFiltersMixin, FilterForm):
model = ImageAttachment model = ImageAttachment
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id'), FieldSet('q', 'filter_id'),
@ -258,7 +257,7 @@ class ImageAttachmentFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterFo
@register_filterset(SavedFilterFilterSet) @register_filterset(SavedFilterFilterSet)
class SavedFilterFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm): class SavedFilterFilterForm(SavedFiltersMixin, FilterForm):
model = SavedFilter model = SavedFilter
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id'), FieldSet('q', 'filter_id'),
@ -295,7 +294,7 @@ class SavedFilterFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
@register_filterset(TableConfigFilterSet) @register_filterset(TableConfigFilterSet)
class TableConfigFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm): class TableConfigFilterForm(SavedFiltersMixin, FilterForm):
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id'), FieldSet('q', 'filter_id'),
FieldSet('object_type_id', 'enabled', 'shared', 'weight', name=_('Attributes')), FieldSet('object_type_id', 'enabled', 'shared', 'weight', name=_('Attributes')),
@ -326,7 +325,7 @@ class TableConfigFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
@register_filterset(WebhookFilterSet) @register_filterset(WebhookFilterSet)
class WebhookFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm): class WebhookFilterForm(NetBoxModelFilterSetForm):
model = Webhook model = Webhook
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -354,7 +353,7 @@ class WebhookFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
@register_filterset(EventRuleFilterSet) @register_filterset(EventRuleFilterSet)
class EventRuleFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm): class EventRuleFilterForm(NetBoxModelFilterSetForm):
model = EventRule model = EventRule
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -391,7 +390,7 @@ class EventRuleFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
@register_filterset(TagFilterSet) @register_filterset(TagFilterSet)
class TagFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm): class TagFilterForm(SavedFiltersMixin, FilterForm):
model = Tag model = Tag
content_type_id = ContentTypeMultipleChoiceField( content_type_id = ContentTypeMultipleChoiceField(
queryset=ObjectType.objects.with_feature('tags'), queryset=ObjectType.objects.with_feature('tags'),
@ -411,7 +410,7 @@ class TagFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
@register_filterset(ConfigContextProfileFilterSet) @register_filterset(ConfigContextProfileFilterSet)
class ConfigContextProfileFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm): class ConfigContextProfileFilterForm(PrimaryModelFilterSetForm):
model = ConfigContextProfile model = ConfigContextProfile
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id'), FieldSet('q', 'filter_id'),
@ -433,7 +432,7 @@ class ConfigContextProfileFilterForm(FilterModifierMixin, PrimaryModelFilterSetF
@register_filterset(ConfigContextFilterSet) @register_filterset(ConfigContextFilterSet)
class ConfigContextFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm): class ConfigContextFilterForm(SavedFiltersMixin, FilterForm):
model = ConfigContext model = ConfigContext
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag_id'), FieldSet('q', 'filter_id', 'tag_id'),
@ -535,7 +534,7 @@ class ConfigContextFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm
@register_filterset(ConfigTemplateFilterSet) @register_filterset(ConfigTemplateFilterSet)
class ConfigTemplateFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm): class ConfigTemplateFilterForm(SavedFiltersMixin, FilterForm):
model = ConfigTemplate model = ConfigTemplate
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag'), FieldSet('q', 'filter_id', 'tag'),
@ -600,7 +599,7 @@ class LocalConfigContextFilterForm(forms.Form):
@register_filterset(JournalEntryFilterSet) @register_filterset(JournalEntryFilterSet)
class JournalEntryFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm): class JournalEntryFilterForm(NetBoxModelFilterSetForm):
model = JournalEntry model = JournalEntry
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag'), FieldSet('q', 'filter_id', 'tag'),
@ -636,7 +635,7 @@ class JournalEntryFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
@register_filterset(NotificationGroupFilterSet) @register_filterset(NotificationGroupFilterSet)
class NotificationGroupFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm): class NotificationGroupFilterForm(SavedFiltersMixin, FilterForm):
model = NotificationGroup model = NotificationGroup
user_id = DynamicModelMultipleChoiceField( user_id = DynamicModelMultipleChoiceField(
queryset=User.objects.all(), queryset=User.objects.all(),

View File

@ -10,7 +10,6 @@ from netbox.forms import NetBoxModelFilterSetForm, OrganizationalModelFilterSetF
from tenancy.forms import ContactModelFilterForm, TenancyFilterForm from tenancy.forms import ContactModelFilterForm, TenancyFilterForm
from utilities.forms import BOOLEAN_WITH_BLANK_CHOICES, add_blank_choice, register_filterset from utilities.forms import BOOLEAN_WITH_BLANK_CHOICES, add_blank_choice, register_filterset
from utilities.forms.fields import DynamicModelChoiceField, DynamicModelMultipleChoiceField, TagFilterField from utilities.forms.fields import DynamicModelChoiceField, DynamicModelMultipleChoiceField, TagFilterField
from utilities.forms.mixins import FilterModifierMixin
from utilities.forms.rendering import FieldSet from utilities.forms.rendering import FieldSet
from virtualization.models import VirtualMachine, ClusterGroup, Cluster from virtualization.models import VirtualMachine, ClusterGroup, Cluster
from vpn.models import L2VPN from vpn.models import L2VPN
@ -45,7 +44,7 @@ IPADDRESS_MASK_LENGTH_CHOICES = add_blank_choice([
@register_filterset(VRFFilterSet) @register_filterset(VRFFilterSet)
class VRFFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm): class VRFFilterForm(TenancyFilterForm, PrimaryModelFilterSetForm):
model = VRF model = VRF
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -66,7 +65,7 @@ class VRFFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSe
@register_filterset(RouteTargetFilterSet) @register_filterset(RouteTargetFilterSet)
class RouteTargetFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm): class RouteTargetFilterForm(TenancyFilterForm, PrimaryModelFilterSetForm):
model = RouteTarget model = RouteTarget
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -87,7 +86,7 @@ class RouteTargetFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModel
@register_filterset(RIRFilterSet) @register_filterset(RIRFilterSet)
class RIRFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm): class RIRFilterForm(OrganizationalModelFilterSetForm):
model = RIR model = RIR
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -104,7 +103,7 @@ class RIRFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm):
@register_filterset(AggregateFilterSet) @register_filterset(AggregateFilterSet)
class AggregateFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm): class AggregateFilterForm(ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm):
model = Aggregate model = Aggregate
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -126,7 +125,7 @@ class AggregateFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFi
@register_filterset(ASNRangeFilterSet) @register_filterset(ASNRangeFilterSet)
class ASNRangeFilterForm(FilterModifierMixin, TenancyFilterForm, OrganizationalModelFilterSetForm): class ASNRangeFilterForm(TenancyFilterForm, OrganizationalModelFilterSetForm):
model = ASNRange model = ASNRange
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -150,7 +149,7 @@ class ASNRangeFilterForm(FilterModifierMixin, TenancyFilterForm, OrganizationalM
@register_filterset(ASNFilterSet) @register_filterset(ASNFilterSet)
class ASNFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm): class ASNFilterForm(TenancyFilterForm, PrimaryModelFilterSetForm):
model = ASN model = ASN
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -176,7 +175,7 @@ class ASNFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSe
@register_filterset(RoleFilterSet) @register_filterset(RoleFilterSet)
class RoleFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm): class RoleFilterForm(OrganizationalModelFilterSetForm):
model = Role model = Role
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -185,7 +184,7 @@ class RoleFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm):
@register_filterset(PrefixFilterSet) @register_filterset(PrefixFilterSet)
class PrefixFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm): class PrefixFilterForm(ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm):
model = Prefix model = Prefix
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -292,7 +291,7 @@ class PrefixFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilte
@register_filterset(IPRangeFilterSet) @register_filterset(IPRangeFilterSet)
class IPRangeFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm): class IPRangeFilterForm(ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm):
model = IPRange model = IPRange
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -340,7 +339,7 @@ class IPRangeFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilt
@register_filterset(IPAddressFilterSet) @register_filterset(IPAddressFilterSet)
class IPAddressFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm): class IPAddressFilterForm(ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm):
model = IPAddress model = IPAddress
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -419,7 +418,7 @@ class IPAddressFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFi
@register_filterset(FHRPGroupFilterSet) @register_filterset(FHRPGroupFilterSet)
class FHRPGroupFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm): class FHRPGroupFilterForm(PrimaryModelFilterSetForm):
model = FHRPGroup model = FHRPGroup
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -453,7 +452,7 @@ class FHRPGroupFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
@register_filterset(VLANGroupFilterSet) @register_filterset(VLANGroupFilterSet)
class VLANGroupFilterForm(FilterModifierMixin, TenancyFilterForm, OrganizationalModelFilterSetForm): class VLANGroupFilterForm(TenancyFilterForm, OrganizationalModelFilterSetForm):
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
FieldSet('region', 'site_group', 'site', 'location', 'rack', name=_('Location')), FieldSet('region', 'site_group', 'site', 'location', 'rack', name=_('Location')),
@ -507,7 +506,7 @@ class VLANGroupFilterForm(FilterModifierMixin, TenancyFilterForm, Organizational
@register_filterset(VLANTranslationPolicyFilterSet) @register_filterset(VLANTranslationPolicyFilterSet)
class VLANTranslationPolicyFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm): class VLANTranslationPolicyFilterForm(PrimaryModelFilterSetForm):
model = VLANTranslationPolicy model = VLANTranslationPolicy
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -521,7 +520,7 @@ class VLANTranslationPolicyFilterForm(FilterModifierMixin, PrimaryModelFilterSet
@register_filterset(VLANTranslationRuleFilterSet) @register_filterset(VLANTranslationRuleFilterSet)
class VLANTranslationRuleFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm): class VLANTranslationRuleFilterForm(NetBoxModelFilterSetForm):
model = VLANTranslationRule model = VLANTranslationRule
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag'), FieldSet('q', 'filter_id', 'tag'),
@ -546,7 +545,7 @@ class VLANTranslationRuleFilterForm(FilterModifierMixin, NetBoxModelFilterSetFor
@register_filterset(VLANFilterSet) @register_filterset(VLANFilterSet)
class VLANFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm): class VLANFilterForm(TenancyFilterForm, PrimaryModelFilterSetForm):
model = VLAN model = VLAN
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -619,7 +618,7 @@ class VLANFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterS
@register_filterset(ServiceTemplateFilterSet) @register_filterset(ServiceTemplateFilterSet)
class ServiceTemplateFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm): class ServiceTemplateFilterForm(PrimaryModelFilterSetForm):
model = ServiceTemplate model = ServiceTemplate
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),

View File

@ -5,6 +5,7 @@ from django.utils.translation import gettext_lazy as _
from extras.choices import * from extras.choices import *
from users.models import Owner from users.models import Owner
from utilities.forms.fields import DynamicModelChoiceField from utilities.forms.fields import DynamicModelChoiceField
from utilities.forms.mixins import FilterModifierMixin
from .mixins import CustomFieldsMixin, SavedFiltersMixin from .mixins import CustomFieldsMixin, SavedFiltersMixin
__all__ = ( __all__ = (
@ -15,7 +16,7 @@ __all__ = (
) )
class NetBoxModelFilterSetForm(CustomFieldsMixin, SavedFiltersMixin, forms.Form): class NetBoxModelFilterSetForm(FilterModifierMixin, CustomFieldsMixin, SavedFiltersMixin, forms.Form):
""" """
Base form for FilerSet forms. These are used to filter object lists in the NetBox UI. Note that the Base form for FilerSet forms. These are used to filter object lists in the NetBox UI. Note that the
corresponding FilterSet *must* provide a `q` filter. corresponding FilterSet *must* provide a `q` filter.

View File

@ -14,7 +14,6 @@ from utilities.forms.fields import (
ContentTypeMultipleChoiceField, DynamicModelMultipleChoiceField, TagFilterField, ContentTypeMultipleChoiceField, DynamicModelMultipleChoiceField, TagFilterField,
) )
from utilities.forms import register_filterset from utilities.forms import register_filterset
from utilities.forms.mixins import FilterModifierMixin
from utilities.forms.rendering import FieldSet from utilities.forms.rendering import FieldSet
__all__ = ( __all__ = (
@ -32,7 +31,7 @@ __all__ = (
# #
@register_filterset(TenantGroupFilterSet) @register_filterset(TenantGroupFilterSet)
class TenantGroupFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm): class TenantGroupFilterForm(NestedGroupModelFilterSetForm):
model = TenantGroup model = TenantGroup
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -47,7 +46,7 @@ class TenantGroupFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm):
@register_filterset(TenantFilterSet) @register_filterset(TenantFilterSet)
class TenantFilterForm(FilterModifierMixin, ContactModelFilterForm, PrimaryModelFilterSetForm): class TenantFilterForm(ContactModelFilterForm, PrimaryModelFilterSetForm):
model = Tenant model = Tenant
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -68,7 +67,7 @@ class TenantFilterForm(FilterModifierMixin, ContactModelFilterForm, PrimaryModel
# #
@register_filterset(ContactGroupFilterSet) @register_filterset(ContactGroupFilterSet)
class ContactGroupFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm): class ContactGroupFilterForm(NestedGroupModelFilterSetForm):
model = ContactGroup model = ContactGroup
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -83,7 +82,7 @@ class ContactGroupFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm)
@register_filterset(ContactRoleFilterSet) @register_filterset(ContactRoleFilterSet)
class ContactRoleFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm): class ContactRoleFilterForm(OrganizationalModelFilterSetForm):
model = ContactRole model = ContactRole
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -92,7 +91,7 @@ class ContactRoleFilterForm(FilterModifierMixin, OrganizationalModelFilterSetFor
@register_filterset(ContactFilterSet) @register_filterset(ContactFilterSet)
class ContactFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm): class ContactFilterForm(PrimaryModelFilterSetForm):
model = Contact model = Contact
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -108,7 +107,7 @@ class ContactFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
@register_filterset(ContactAssignmentFilterSet) @register_filterset(ContactAssignmentFilterSet)
class ContactAssignmentFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm): class ContactAssignmentFilterForm(NetBoxModelFilterSetForm):
model = ContactAssignment model = ContactAssignment
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag'), FieldSet('q', 'filter_id', 'tag'),

View File

@ -7,7 +7,6 @@ from users.choices import TokenVersionChoices
from users.models import Group, ObjectPermission, Owner, OwnerGroup, Token, User from users.models import Group, ObjectPermission, Owner, OwnerGroup, Token, User
from utilities.forms import BOOLEAN_WITH_BLANK_CHOICES, FilterForm, register_filterset from utilities.forms import BOOLEAN_WITH_BLANK_CHOICES, FilterForm, register_filterset
from utilities.forms.fields import DynamicModelMultipleChoiceField from utilities.forms.fields import DynamicModelMultipleChoiceField
from utilities.forms.mixins import FilterModifierMixin
from utilities.forms.rendering import FieldSet from utilities.forms.rendering import FieldSet
from utilities.forms.utils import add_blank_choice from utilities.forms.utils import add_blank_choice
from utilities.forms.widgets import DateTimePicker from utilities.forms.widgets import DateTimePicker
@ -24,7 +23,7 @@ __all__ = (
@register_filterset(GroupFilterSet) @register_filterset(GroupFilterSet)
class GroupFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm): class GroupFilterForm(NetBoxModelFilterSetForm):
model = Group model = Group
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id',), FieldSet('q', 'filter_id',),
@ -32,7 +31,7 @@ class GroupFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
@register_filterset(UserFilterSet) @register_filterset(UserFilterSet)
class UserFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm): class UserFilterForm(NetBoxModelFilterSetForm):
model = User model = User
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id',), FieldSet('q', 'filter_id',),
@ -61,7 +60,7 @@ class UserFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
@register_filterset(ObjectPermissionFilterSet) @register_filterset(ObjectPermissionFilterSet)
class ObjectPermissionFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm): class ObjectPermissionFilterForm(NetBoxModelFilterSetForm):
model = ObjectPermission model = ObjectPermission
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id',), FieldSet('q', 'filter_id',),
@ -116,7 +115,7 @@ class ObjectPermissionFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
@register_filterset(TokenFilterSet) @register_filterset(TokenFilterSet)
class TokenFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm): class TokenFilterForm(SavedFiltersMixin, FilterForm):
model = Token model = Token
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id',), FieldSet('q', 'filter_id',),
@ -158,7 +157,7 @@ class TokenFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
@register_filterset(OwnerGroupFilterSet) @register_filterset(OwnerGroupFilterSet)
class OwnerGroupFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm): class OwnerGroupFilterForm(NetBoxModelFilterSetForm):
model = OwnerGroup model = OwnerGroup
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id',), FieldSet('q', 'filter_id',),
@ -166,7 +165,7 @@ class OwnerGroupFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
@register_filterset(OwnerFilterSet) @register_filterset(OwnerFilterSet)
class OwnerFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm): class OwnerFilterForm(NetBoxModelFilterSetForm):
model = Owner model = Owner
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id',), FieldSet('q', 'filter_id',),

View File

@ -4,7 +4,7 @@ from django import forms
from django.utils.translation import gettext as _ from django.utils.translation import gettext as _
from netbox.models.features import ChangeLoggingMixin from netbox.models.features import ChangeLoggingMixin
from utilities.forms.mixins import BackgroundJobMixin from utilities.forms.mixins import BackgroundJobMixin, FilterModifierMixin
__all__ = ( __all__ = (
'BulkDeleteForm', 'BulkDeleteForm',
@ -140,7 +140,7 @@ class CSVModelForm(forms.ModelForm):
return super().clean() return super().clean()
class FilterForm(forms.Form): class FilterForm(FilterModifierMixin, forms.Form):
""" """
Base Form class for FilterSet forms. Base Form class for FilterSet forms.
""" """

View File

@ -11,7 +11,6 @@ from tenancy.forms import ContactModelFilterForm, TenancyFilterForm
from users.models import Owner from users.models import Owner
from utilities.forms import BOOLEAN_WITH_BLANK_CHOICES, register_filterset from utilities.forms import BOOLEAN_WITH_BLANK_CHOICES, register_filterset
from utilities.forms.fields import DynamicModelChoiceField, DynamicModelMultipleChoiceField, TagFilterField from utilities.forms.fields import DynamicModelChoiceField, DynamicModelMultipleChoiceField, TagFilterField
from utilities.forms.mixins import FilterModifierMixin
from utilities.forms.rendering import FieldSet from utilities.forms.rendering import FieldSet
from virtualization.choices import * from virtualization.choices import *
from virtualization.filtersets import * from virtualization.filtersets import *
@ -29,7 +28,7 @@ __all__ = (
@register_filterset(ClusterTypeFilterSet) @register_filterset(ClusterTypeFilterSet)
class ClusterTypeFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm): class ClusterTypeFilterForm(OrganizationalModelFilterSetForm):
model = ClusterType model = ClusterType
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -38,7 +37,7 @@ class ClusterTypeFilterForm(FilterModifierMixin, OrganizationalModelFilterSetFor
@register_filterset(ClusterGroupFilterSet) @register_filterset(ClusterGroupFilterSet)
class ClusterGroupFilterForm(FilterModifierMixin, ContactModelFilterForm, OrganizationalModelFilterSetForm): class ClusterGroupFilterForm(ContactModelFilterForm, OrganizationalModelFilterSetForm):
model = ClusterGroup model = ClusterGroup
tag = TagFilterField(model) tag = TagFilterField(model)
fieldsets = ( fieldsets = (
@ -48,7 +47,7 @@ class ClusterGroupFilterForm(FilterModifierMixin, ContactModelFilterForm, Organi
@register_filterset(ClusterFilterSet) @register_filterset(ClusterFilterSet)
class ClusterFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFilterForm, PrimaryModelFilterSetForm): class ClusterFilterForm(TenancyFilterForm, ContactModelFilterForm, PrimaryModelFilterSetForm):
model = Cluster model = Cluster
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -104,7 +103,6 @@ class ClusterFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFilt
@register_filterset(VirtualMachineFilterSet) @register_filterset(VirtualMachineFilterSet)
class VirtualMachineFilterForm( class VirtualMachineFilterForm(
FilterModifierMixin,
LocalConfigContextFilterForm, LocalConfigContextFilterForm,
TenancyFilterForm, TenancyFilterForm,
ContactModelFilterForm, ContactModelFilterForm,
@ -213,7 +211,7 @@ class VirtualMachineFilterForm(
@register_filterset(VMInterfaceFilterSet) @register_filterset(VMInterfaceFilterSet)
class VMInterfaceFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm): class VMInterfaceFilterForm(NetBoxModelFilterSetForm):
model = VMInterface model = VMInterface
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -276,7 +274,7 @@ class VMInterfaceFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
@register_filterset(VirtualDiskFilterSet) @register_filterset(VirtualDiskFilterSet)
class VirtualDiskFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm): class VirtualDiskFilterForm(NetBoxModelFilterSetForm):
model = VirtualDisk model = VirtualDisk
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),

View File

@ -10,7 +10,6 @@ from utilities.forms.fields import (
ContentTypeMultipleChoiceField, DynamicModelChoiceField, DynamicModelMultipleChoiceField, TagFilterField, ContentTypeMultipleChoiceField, DynamicModelChoiceField, DynamicModelMultipleChoiceField, TagFilterField,
) )
from utilities.forms import register_filterset from utilities.forms import register_filterset
from utilities.forms.mixins import FilterModifierMixin
from utilities.forms.rendering import FieldSet from utilities.forms.rendering import FieldSet
from utilities.forms.utils import add_blank_choice from utilities.forms.utils import add_blank_choice
from virtualization.models import VirtualMachine from virtualization.models import VirtualMachine
@ -34,7 +33,7 @@ __all__ = (
@register_filterset(TunnelGroupFilterSet) @register_filterset(TunnelGroupFilterSet)
class TunnelGroupFilterForm(FilterModifierMixin, ContactModelFilterForm, OrganizationalModelFilterSetForm): class TunnelGroupFilterForm(ContactModelFilterForm, OrganizationalModelFilterSetForm):
model = TunnelGroup model = TunnelGroup
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -44,7 +43,7 @@ class TunnelGroupFilterForm(FilterModifierMixin, ContactModelFilterForm, Organiz
@register_filterset(TunnelFilterSet) @register_filterset(TunnelFilterSet)
class TunnelFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm): class TunnelFilterForm(ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm):
model = Tunnel model = Tunnel
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -81,7 +80,7 @@ class TunnelFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilte
@register_filterset(TunnelTerminationFilterSet) @register_filterset(TunnelTerminationFilterSet)
class TunnelTerminationFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm): class TunnelTerminationFilterForm(NetBoxModelFilterSetForm):
model = TunnelTermination model = TunnelTermination
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag'), FieldSet('q', 'filter_id', 'tag'),
@ -101,7 +100,7 @@ class TunnelTerminationFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm)
@register_filterset(IKEProposalFilterSet) @register_filterset(IKEProposalFilterSet)
class IKEProposalFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm): class IKEProposalFilterForm(PrimaryModelFilterSetForm):
model = IKEProposal model = IKEProposal
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -133,7 +132,7 @@ class IKEProposalFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
@register_filterset(IKEPolicyFilterSet) @register_filterset(IKEPolicyFilterSet)
class IKEPolicyFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm): class IKEPolicyFilterForm(PrimaryModelFilterSetForm):
model = IKEPolicy model = IKEPolicy
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -158,7 +157,7 @@ class IKEPolicyFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
@register_filterset(IPSecProposalFilterSet) @register_filterset(IPSecProposalFilterSet)
class IPSecProposalFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm): class IPSecProposalFilterForm(PrimaryModelFilterSetForm):
model = IPSecProposal model = IPSecProposal
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -178,7 +177,7 @@ class IPSecProposalFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
@register_filterset(IPSecPolicyFilterSet) @register_filterset(IPSecPolicyFilterSet)
class IPSecPolicyFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm): class IPSecPolicyFilterForm(PrimaryModelFilterSetForm):
model = IPSecPolicy model = IPSecPolicy
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -198,7 +197,7 @@ class IPSecPolicyFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
@register_filterset(IPSecProfileFilterSet) @register_filterset(IPSecProfileFilterSet)
class IPSecProfileFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm): class IPSecProfileFilterForm(PrimaryModelFilterSetForm):
model = IPSecProfile model = IPSecProfile
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -223,7 +222,7 @@ class IPSecProfileFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
@register_filterset(L2VPNFilterSet) @register_filterset(L2VPNFilterSet)
class L2VPNFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm): class L2VPNFilterForm(ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm):
model = L2VPN model = L2VPN
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -255,7 +254,7 @@ class L2VPNFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilter
@register_filterset(L2VPNTerminationFilterSet) @register_filterset(L2VPNTerminationFilterSet)
class L2VPNTerminationFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm): class L2VPNTerminationFilterForm(NetBoxModelFilterSetForm):
model = L2VPNTermination model = L2VPNTermination
fieldsets = ( fieldsets = (
FieldSet('filter_id', 'tag', 'l2vpn_id'), FieldSet('filter_id', 'tag', 'l2vpn_id'),

View File

@ -8,7 +8,6 @@ from netbox.forms import NestedGroupModelFilterSetForm, PrimaryModelFilterSetFor
from tenancy.forms import TenancyFilterForm from tenancy.forms import TenancyFilterForm
from utilities.forms import add_blank_choice, register_filterset from utilities.forms import add_blank_choice, register_filterset
from utilities.forms.fields import DynamicModelMultipleChoiceField, TagFilterField from utilities.forms.fields import DynamicModelMultipleChoiceField, TagFilterField
from utilities.forms.mixins import FilterModifierMixin
from utilities.forms.rendering import FieldSet from utilities.forms.rendering import FieldSet
from wireless.choices import * from wireless.choices import *
from wireless.filtersets import * from wireless.filtersets import *
@ -22,7 +21,7 @@ __all__ = (
@register_filterset(WirelessLANGroupFilterSet) @register_filterset(WirelessLANGroupFilterSet)
class WirelessLANGroupFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm): class WirelessLANGroupFilterForm(NestedGroupModelFilterSetForm):
model = WirelessLANGroup model = WirelessLANGroup
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -37,7 +36,7 @@ class WirelessLANGroupFilterForm(FilterModifierMixin, NestedGroupModelFilterSetF
@register_filterset(WirelessLANFilterSet) @register_filterset(WirelessLANFilterSet)
class WirelessLANFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm): class WirelessLANFilterForm(TenancyFilterForm, PrimaryModelFilterSetForm):
model = WirelessLAN model = WirelessLAN
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),
@ -104,7 +103,7 @@ class WirelessLANFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModel
@register_filterset(WirelessLinkFilterSet) @register_filterset(WirelessLinkFilterSet)
class WirelessLinkFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm): class WirelessLinkFilterForm(TenancyFilterForm, PrimaryModelFilterSetForm):
model = WirelessLink model = WirelessLink
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag', 'owner_id'), FieldSet('q', 'filter_id', 'tag', 'owner_id'),