mirror of
https://github.com/netbox-community/netbox.git
synced 2025-12-13 03:49:36 -06:00
Address PR feedback: Replace global filterset mappings with registry
This commit is contained in:
parent
4ca4983204
commit
b410b4e107
@ -11,9 +11,8 @@ from ipam.models import ASN
|
|||||||
from netbox.choices import DistanceUnitChoices
|
from netbox.choices import DistanceUnitChoices
|
||||||
from netbox.forms import NetBoxModelFilterSetForm, OrganizationalModelFilterSetForm, PrimaryModelFilterSetForm
|
from netbox.forms import NetBoxModelFilterSetForm, OrganizationalModelFilterSetForm, PrimaryModelFilterSetForm
|
||||||
from tenancy.forms import TenancyFilterForm, ContactModelFilterForm
|
from tenancy.forms import TenancyFilterForm, ContactModelFilterForm
|
||||||
from utilities.forms import add_blank_choice
|
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.filterset_mappings import FILTERSET_MAPPINGS
|
|
||||||
from utilities.forms.mixins import FilterModifierMixin
|
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
|
||||||
@ -34,6 +33,7 @@ __all__ = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ProviderFilterSet)
|
||||||
class ProviderFilterForm(FilterModifierMixin, ContactModelFilterForm, PrimaryModelFilterSetForm):
|
class ProviderFilterForm(FilterModifierMixin, ContactModelFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = Provider
|
model = Provider
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -69,6 +69,7 @@ class ProviderFilterForm(FilterModifierMixin, ContactModelFilterForm, PrimaryMod
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ProviderAccountFilterSet)
|
||||||
class ProviderAccountFilterForm(FilterModifierMixin, ContactModelFilterForm, PrimaryModelFilterSetForm):
|
class ProviderAccountFilterForm(FilterModifierMixin, ContactModelFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = ProviderAccount
|
model = ProviderAccount
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -88,6 +89,7 @@ class ProviderAccountFilterForm(FilterModifierMixin, ContactModelFilterForm, Pri
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ProviderNetworkFilterSet)
|
||||||
class ProviderNetworkFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
class ProviderNetworkFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
||||||
model = ProviderNetwork
|
model = ProviderNetwork
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -107,6 +109,7 @@ class ProviderNetworkFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(CircuitTypeFilterSet)
|
||||||
class CircuitTypeFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm):
|
class CircuitTypeFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm):
|
||||||
model = CircuitType
|
model = CircuitType
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -121,6 +124,7 @@ class CircuitTypeFilterForm(FilterModifierMixin, OrganizationalModelFilterSetFor
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(CircuitFilterSet)
|
||||||
class CircuitFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFilterForm, PrimaryModelFilterSetForm):
|
class CircuitFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = Circuit
|
model = Circuit
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -220,6 +224,7 @@ class CircuitFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFilt
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(CircuitTerminationFilterSet)
|
||||||
class CircuitTerminationFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
class CircuitTerminationFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
||||||
model = CircuitTermination
|
model = CircuitTermination
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -274,6 +279,7 @@ class CircuitTerminationFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(CircuitGroupFilterSet)
|
||||||
class CircuitGroupFilterForm(FilterModifierMixin, TenancyFilterForm, OrganizationalModelFilterSetForm):
|
class CircuitGroupFilterForm(FilterModifierMixin, TenancyFilterForm, OrganizationalModelFilterSetForm):
|
||||||
model = CircuitGroup
|
model = CircuitGroup
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -283,6 +289,7 @@ class CircuitGroupFilterForm(FilterModifierMixin, TenancyFilterForm, Organizatio
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(CircuitGroupAssignmentFilterSet)
|
||||||
class CircuitGroupAssignmentFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
class CircuitGroupAssignmentFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
||||||
model = CircuitGroupAssignment
|
model = CircuitGroupAssignment
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -312,6 +319,7 @@ class CircuitGroupAssignmentFilterForm(FilterModifierMixin, NetBoxModelFilterSet
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(VirtualCircuitTypeFilterSet)
|
||||||
class VirtualCircuitTypeFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm):
|
class VirtualCircuitTypeFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm):
|
||||||
model = VirtualCircuitType
|
model = VirtualCircuitType
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -326,6 +334,7 @@ class VirtualCircuitTypeFilterForm(FilterModifierMixin, OrganizationalModelFilte
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(VirtualCircuitFilterSet)
|
||||||
class VirtualCircuitFilterForm(
|
class VirtualCircuitFilterForm(
|
||||||
FilterModifierMixin,
|
FilterModifierMixin,
|
||||||
TenancyFilterForm,
|
TenancyFilterForm,
|
||||||
@ -374,6 +383,7 @@ class VirtualCircuitFilterForm(
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(VirtualCircuitTerminationFilterSet)
|
||||||
class VirtualCircuitTerminationFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
class VirtualCircuitTerminationFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
||||||
model = VirtualCircuitTermination
|
model = VirtualCircuitTermination
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -405,17 +415,3 @@ class VirtualCircuitTerminationFilterForm(FilterModifierMixin, NetBoxModelFilter
|
|||||||
label=_('Provider')
|
label=_('Provider')
|
||||||
)
|
)
|
||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
# Register FilterSet mappings for FilterModifierMixin lookup verification
|
|
||||||
FILTERSET_MAPPINGS[ProviderFilterForm] = ProviderFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ProviderAccountFilterForm] = ProviderAccountFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ProviderNetworkFilterForm] = ProviderNetworkFilterSet
|
|
||||||
FILTERSET_MAPPINGS[CircuitTypeFilterForm] = CircuitTypeFilterSet
|
|
||||||
FILTERSET_MAPPINGS[CircuitFilterForm] = CircuitFilterSet
|
|
||||||
FILTERSET_MAPPINGS[CircuitTerminationFilterForm] = CircuitTerminationFilterSet
|
|
||||||
FILTERSET_MAPPINGS[CircuitGroupFilterForm] = CircuitGroupFilterSet
|
|
||||||
FILTERSET_MAPPINGS[CircuitGroupAssignmentFilterForm] = CircuitGroupAssignmentFilterSet
|
|
||||||
FILTERSET_MAPPINGS[VirtualCircuitTypeFilterForm] = VirtualCircuitTypeFilterSet
|
|
||||||
FILTERSET_MAPPINGS[VirtualCircuitFilterForm] = VirtualCircuitFilterSet
|
|
||||||
FILTERSET_MAPPINGS[VirtualCircuitTerminationFilterForm] = VirtualCircuitTerminationFilterSet
|
|
||||||
|
|||||||
@ -7,11 +7,10 @@ from netbox.forms import NetBoxModelFilterSetForm, PrimaryModelFilterSetForm
|
|||||||
from netbox.forms.mixins import SavedFiltersMixin
|
from netbox.forms.mixins import SavedFiltersMixin
|
||||||
from netbox.utils import get_data_backend_choices
|
from netbox.utils import get_data_backend_choices
|
||||||
from users.models import User
|
from users.models import User
|
||||||
from utilities.forms import BOOLEAN_WITH_BLANK_CHOICES, FilterForm, add_blank_choice
|
from utilities.forms import BOOLEAN_WITH_BLANK_CHOICES, FilterForm, add_blank_choice, register_filterset
|
||||||
from utilities.forms.fields import (
|
from utilities.forms.fields import (
|
||||||
ContentTypeChoiceField, ContentTypeMultipleChoiceField, DynamicModelMultipleChoiceField, TagFilterField,
|
ContentTypeChoiceField, ContentTypeMultipleChoiceField, DynamicModelMultipleChoiceField, TagFilterField,
|
||||||
)
|
)
|
||||||
from utilities.forms.filterset_mappings import FILTERSET_MAPPINGS
|
|
||||||
from utilities.forms.mixins import FilterModifierMixin
|
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
|
||||||
@ -26,6 +25,7 @@ __all__ = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(DataSourceFilterSet)
|
||||||
class DataSourceFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
class DataSourceFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
||||||
model = DataSource
|
model = DataSource
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -57,6 +57,7 @@ class DataSourceFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(DataFileFilterSet)
|
||||||
class DataFileFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
class DataFileFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
||||||
model = DataFile
|
model = DataFile
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -70,6 +71,7 @@ class DataFileFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(JobFilterSet)
|
||||||
class JobFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
class JobFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
||||||
model = Job
|
model = Job
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -137,6 +139,7 @@ class JobFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ObjectChangeFilterSet)
|
||||||
class ObjectChangeFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
class ObjectChangeFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
||||||
model = ObjectChange
|
model = ObjectChange
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -171,16 +174,9 @@ class ObjectChangeFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm)
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ConfigRevisionFilterSet)
|
||||||
class ConfigRevisionFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
class ConfigRevisionFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
||||||
model = ConfigRevision
|
model = ConfigRevision
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
FieldSet('q', 'filter_id'),
|
FieldSet('q', 'filter_id'),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
# Register FilterSet mappings for FilterModifierMixin lookup verification
|
|
||||||
FILTERSET_MAPPINGS[DataSourceFilterForm] = DataSourceFilterSet
|
|
||||||
FILTERSET_MAPPINGS[DataFileFilterForm] = DataFileFilterSet
|
|
||||||
FILTERSET_MAPPINGS[JobFilterForm] = JobFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ObjectChangeFilterForm] = ObjectChangeFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ConfigRevisionFilterForm] = ConfigRevisionFilterSet
|
|
||||||
|
|||||||
@ -15,9 +15,8 @@ from netbox.forms import (
|
|||||||
)
|
)
|
||||||
from tenancy.forms import ContactModelFilterForm, TenancyFilterForm
|
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
|
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.filterset_mappings import FILTERSET_MAPPINGS
|
|
||||||
from utilities.forms.mixins import FilterModifierMixin
|
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
|
||||||
@ -150,6 +149,7 @@ class DeviceComponentFilterForm(NetBoxModelFilterSetForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(RegionFilterSet)
|
||||||
class RegionFilterForm(FilterModifierMixin, ContactModelFilterForm, NestedGroupModelFilterSetForm):
|
class RegionFilterForm(FilterModifierMixin, ContactModelFilterForm, NestedGroupModelFilterSetForm):
|
||||||
model = Region
|
model = Region
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -165,6 +165,7 @@ class RegionFilterForm(FilterModifierMixin, ContactModelFilterForm, NestedGroupM
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(SiteGroupFilterSet)
|
||||||
class SiteGroupFilterForm(FilterModifierMixin, ContactModelFilterForm, NestedGroupModelFilterSetForm):
|
class SiteGroupFilterForm(FilterModifierMixin, ContactModelFilterForm, NestedGroupModelFilterSetForm):
|
||||||
model = SiteGroup
|
model = SiteGroup
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -180,6 +181,7 @@ class SiteGroupFilterForm(FilterModifierMixin, ContactModelFilterForm, NestedGro
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(SiteFilterSet)
|
||||||
class SiteFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFilterForm, PrimaryModelFilterSetForm):
|
class SiteFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = Site
|
model = Site
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -212,6 +214,7 @@ class SiteFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFilterF
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(LocationFilterSet)
|
||||||
class LocationFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFilterForm, NestedGroupModelFilterSetForm):
|
class LocationFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFilterForm, NestedGroupModelFilterSetForm):
|
||||||
model = Location
|
model = Location
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -260,6 +263,7 @@ class LocationFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFil
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(RackRoleFilterSet)
|
||||||
class RackRoleFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm):
|
class RackRoleFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm):
|
||||||
model = RackRole
|
model = RackRole
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -311,6 +315,7 @@ class RackBaseFilterForm(PrimaryModelFilterSetForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(RackTypeFilterSet)
|
||||||
class RackTypeFilterForm(FilterModifierMixin, RackBaseFilterForm):
|
class RackTypeFilterForm(FilterModifierMixin, RackBaseFilterForm):
|
||||||
model = RackType
|
model = RackType
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -333,6 +338,7 @@ class RackTypeFilterForm(FilterModifierMixin, RackBaseFilterForm):
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(RackFilterSet)
|
||||||
class RackFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFilterForm, RackBaseFilterForm):
|
class RackFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFilterForm, RackBaseFilterForm):
|
||||||
model = Rack
|
model = Rack
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -434,6 +440,7 @@ class RackElevationFilterForm(RackFilterForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(RackReservationFilterSet)
|
||||||
class RackReservationFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
class RackReservationFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = RackReservation
|
model = RackReservation
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -492,6 +499,7 @@ class RackReservationFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryM
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ManufacturerFilterSet)
|
||||||
class ManufacturerFilterForm(FilterModifierMixin, ContactModelFilterForm, OrganizationalModelFilterSetForm):
|
class ManufacturerFilterForm(FilterModifierMixin, ContactModelFilterForm, OrganizationalModelFilterSetForm):
|
||||||
model = Manufacturer
|
model = Manufacturer
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -501,6 +509,7 @@ class ManufacturerFilterForm(FilterModifierMixin, ContactModelFilterForm, Organi
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(DeviceTypeFilterSet)
|
||||||
class DeviceTypeFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
class DeviceTypeFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
||||||
model = DeviceType
|
model = DeviceType
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -635,6 +644,7 @@ class DeviceTypeFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ModuleTypeProfileFilterSet)
|
||||||
class ModuleTypeProfileFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
class ModuleTypeProfileFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
||||||
model = ModuleTypeProfile
|
model = ModuleTypeProfile
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -644,6 +654,7 @@ class ModuleTypeProfileFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ModuleTypeFilterSet)
|
||||||
class ModuleTypeFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
class ModuleTypeFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
||||||
model = ModuleType
|
model = ModuleType
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -737,6 +748,7 @@ class ModuleTypeFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(DeviceRoleFilterSet)
|
||||||
class DeviceRoleFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm):
|
class DeviceRoleFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm):
|
||||||
model = DeviceRole
|
model = DeviceRole
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -756,6 +768,7 @@ class DeviceRoleFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm):
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(PlatformFilterSet)
|
||||||
class PlatformFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm):
|
class PlatformFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm):
|
||||||
model = Platform
|
model = Platform
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -781,6 +794,7 @@ class PlatformFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm):
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(DeviceFilterSet)
|
||||||
class DeviceFilterForm(
|
class DeviceFilterForm(
|
||||||
FilterModifierMixin,
|
FilterModifierMixin,
|
||||||
LocalConfigContextFilterForm,
|
LocalConfigContextFilterForm,
|
||||||
@ -980,6 +994,7 @@ class DeviceFilterForm(
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(VirtualDeviceContextFilterSet)
|
||||||
class VirtualDeviceContextFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
class VirtualDeviceContextFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = VirtualDeviceContext
|
model = VirtualDeviceContext
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -1007,6 +1022,7 @@ class VirtualDeviceContextFilterForm(FilterModifierMixin, TenancyFilterForm, Pri
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ModuleFilterSet)
|
||||||
class ModuleFilterForm(FilterModifierMixin, LocalConfigContextFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm):
|
class ModuleFilterForm(FilterModifierMixin, LocalConfigContextFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = Module
|
model = Module
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -1090,6 +1106,7 @@ class ModuleFilterForm(FilterModifierMixin, LocalConfigContextFilterForm, Tenanc
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(VirtualChassisFilterSet)
|
||||||
class VirtualChassisFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
class VirtualChassisFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = VirtualChassis
|
model = VirtualChassis
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -1119,6 +1136,7 @@ class VirtualChassisFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryMo
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(CableFilterSet)
|
||||||
class CableFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
class CableFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = Cable
|
model = Cable
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -1208,6 +1226,7 @@ class CableFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilter
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(PowerPanelFilterSet)
|
||||||
class PowerPanelFilterForm(FilterModifierMixin, ContactModelFilterForm, PrimaryModelFilterSetForm):
|
class PowerPanelFilterForm(FilterModifierMixin, ContactModelFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = PowerPanel
|
model = PowerPanel
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -1247,6 +1266,7 @@ class PowerPanelFilterForm(FilterModifierMixin, ContactModelFilterForm, PrimaryM
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(PowerFeedFilterSet)
|
||||||
class PowerFeedFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
class PowerFeedFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = PowerFeed
|
model = PowerFeed
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -1357,6 +1377,7 @@ class PathEndpointFilterForm(CabledFilterForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ConsolePortFilterSet)
|
||||||
class ConsolePortFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceComponentFilterForm):
|
class ConsolePortFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceComponentFilterForm):
|
||||||
model = ConsolePort
|
model = ConsolePort
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -1381,6 +1402,7 @@ class ConsolePortFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceC
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ConsoleServerPortFilterSet)
|
||||||
class ConsoleServerPortFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceComponentFilterForm):
|
class ConsoleServerPortFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceComponentFilterForm):
|
||||||
model = ConsoleServerPort
|
model = ConsoleServerPort
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -1406,6 +1428,7 @@ class ConsoleServerPortFilterForm(FilterModifierMixin, PathEndpointFilterForm, D
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(PowerPortFilterSet)
|
||||||
class PowerPortFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceComponentFilterForm):
|
class PowerPortFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceComponentFilterForm):
|
||||||
model = PowerPort
|
model = PowerPort
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -1425,6 +1448,7 @@ class PowerPortFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceCom
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(PowerOutletFilterSet)
|
||||||
class PowerOutletFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceComponentFilterForm):
|
class PowerOutletFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceComponentFilterForm):
|
||||||
model = PowerOutlet
|
model = PowerOutlet
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -1454,6 +1478,7 @@ class PowerOutletFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceC
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(InterfaceFilterSet)
|
||||||
class InterfaceFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceComponentFilterForm):
|
class InterfaceFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceComponentFilterForm):
|
||||||
model = Interface
|
model = Interface
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -1580,6 +1605,7 @@ class InterfaceFilterForm(FilterModifierMixin, PathEndpointFilterForm, DeviceCom
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(FrontPortFilterSet)
|
||||||
class FrontPortFilterForm(FilterModifierMixin, CabledFilterForm, DeviceComponentFilterForm):
|
class FrontPortFilterForm(FilterModifierMixin, CabledFilterForm, DeviceComponentFilterForm):
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
FieldSet('q', 'filter_id', 'tag', 'owner_id'),
|
FieldSet('q', 'filter_id', 'tag', 'owner_id'),
|
||||||
@ -1603,6 +1629,7 @@ class FrontPortFilterForm(FilterModifierMixin, CabledFilterForm, DeviceComponent
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(RearPortFilterSet)
|
||||||
class RearPortFilterForm(FilterModifierMixin, CabledFilterForm, DeviceComponentFilterForm):
|
class RearPortFilterForm(FilterModifierMixin, CabledFilterForm, DeviceComponentFilterForm):
|
||||||
model = RearPort
|
model = RearPort
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -1627,6 +1654,7 @@ class RearPortFilterForm(FilterModifierMixin, CabledFilterForm, DeviceComponentF
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ModuleBayFilterSet)
|
||||||
class ModuleBayFilterForm(FilterModifierMixin, DeviceComponentFilterForm):
|
class ModuleBayFilterForm(FilterModifierMixin, DeviceComponentFilterForm):
|
||||||
model = ModuleBay
|
model = ModuleBay
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -1645,6 +1673,7 @@ class ModuleBayFilterForm(FilterModifierMixin, DeviceComponentFilterForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(DeviceBayFilterSet)
|
||||||
class DeviceBayFilterForm(FilterModifierMixin, DeviceComponentFilterForm):
|
class DeviceBayFilterForm(FilterModifierMixin, DeviceComponentFilterForm):
|
||||||
model = DeviceBay
|
model = DeviceBay
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -1659,6 +1688,7 @@ class DeviceBayFilterForm(FilterModifierMixin, DeviceComponentFilterForm):
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(InventoryItemFilterSet)
|
||||||
class InventoryItemFilterForm(FilterModifierMixin, DeviceComponentFilterForm):
|
class InventoryItemFilterForm(FilterModifierMixin, DeviceComponentFilterForm):
|
||||||
model = InventoryItem
|
model = InventoryItem
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -1710,6 +1740,7 @@ class InventoryItemFilterForm(FilterModifierMixin, DeviceComponentFilterForm):
|
|||||||
# Device component roles
|
# Device component roles
|
||||||
#
|
#
|
||||||
|
|
||||||
|
@register_filterset(InventoryItemRoleFilterSet)
|
||||||
class InventoryItemRoleFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm):
|
class InventoryItemRoleFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm):
|
||||||
model = InventoryItemRole
|
model = InventoryItemRole
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -1722,6 +1753,7 @@ class InventoryItemRoleFilterForm(FilterModifierMixin, OrganizationalModelFilter
|
|||||||
# Addressing
|
# Addressing
|
||||||
#
|
#
|
||||||
|
|
||||||
|
@register_filterset(MACAddressFilterSet)
|
||||||
class MACAddressFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
class MACAddressFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
||||||
model = MACAddress
|
model = MACAddress
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -1835,39 +1867,3 @@ class InterfaceConnectionFilterForm(FilterForm):
|
|||||||
},
|
},
|
||||||
label=_('Device')
|
label=_('Device')
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
# Register FilterSet mappings for FilterModifierMixin lookup verification
|
|
||||||
FILTERSET_MAPPINGS[CableFilterForm] = CableFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ConsolePortFilterForm] = ConsolePortFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ConsoleServerPortFilterForm] = ConsoleServerPortFilterSet
|
|
||||||
FILTERSET_MAPPINGS[DeviceBayFilterForm] = DeviceBayFilterSet
|
|
||||||
FILTERSET_MAPPINGS[DeviceFilterForm] = DeviceFilterSet
|
|
||||||
FILTERSET_MAPPINGS[DeviceRoleFilterForm] = DeviceRoleFilterSet
|
|
||||||
FILTERSET_MAPPINGS[DeviceTypeFilterForm] = DeviceTypeFilterSet
|
|
||||||
FILTERSET_MAPPINGS[FrontPortFilterForm] = FrontPortFilterSet
|
|
||||||
FILTERSET_MAPPINGS[InterfaceFilterForm] = InterfaceFilterSet
|
|
||||||
FILTERSET_MAPPINGS[InventoryItemFilterForm] = InventoryItemFilterSet
|
|
||||||
FILTERSET_MAPPINGS[InventoryItemRoleFilterForm] = InventoryItemRoleFilterSet
|
|
||||||
FILTERSET_MAPPINGS[LocationFilterForm] = LocationFilterSet
|
|
||||||
FILTERSET_MAPPINGS[MACAddressFilterForm] = MACAddressFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ManufacturerFilterForm] = ManufacturerFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ModuleBayFilterForm] = ModuleBayFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ModuleFilterForm] = ModuleFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ModuleTypeFilterForm] = ModuleTypeFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ModuleTypeProfileFilterForm] = ModuleTypeProfileFilterSet
|
|
||||||
FILTERSET_MAPPINGS[PlatformFilterForm] = PlatformFilterSet
|
|
||||||
FILTERSET_MAPPINGS[PowerFeedFilterForm] = PowerFeedFilterSet
|
|
||||||
FILTERSET_MAPPINGS[PowerOutletFilterForm] = PowerOutletFilterSet
|
|
||||||
FILTERSET_MAPPINGS[PowerPanelFilterForm] = PowerPanelFilterSet
|
|
||||||
FILTERSET_MAPPINGS[PowerPortFilterForm] = PowerPortFilterSet
|
|
||||||
FILTERSET_MAPPINGS[RackFilterForm] = RackFilterSet
|
|
||||||
FILTERSET_MAPPINGS[RackReservationFilterForm] = RackReservationFilterSet
|
|
||||||
FILTERSET_MAPPINGS[RackRoleFilterForm] = RackRoleFilterSet
|
|
||||||
FILTERSET_MAPPINGS[RackTypeFilterForm] = RackTypeFilterSet
|
|
||||||
FILTERSET_MAPPINGS[RearPortFilterForm] = RearPortFilterSet
|
|
||||||
FILTERSET_MAPPINGS[RegionFilterForm] = RegionFilterSet
|
|
||||||
FILTERSET_MAPPINGS[SiteFilterForm] = SiteFilterSet
|
|
||||||
FILTERSET_MAPPINGS[SiteGroupFilterForm] = SiteGroupFilterSet
|
|
||||||
FILTERSET_MAPPINGS[VirtualChassisFilterForm] = VirtualChassisFilterSet
|
|
||||||
FILTERSET_MAPPINGS[VirtualDeviceContextFilterForm] = VirtualDeviceContextFilterSet
|
|
||||||
|
|||||||
@ -10,12 +10,11 @@ from netbox.forms import NetBoxModelFilterSetForm, PrimaryModelFilterSetForm
|
|||||||
from netbox.forms.mixins import SavedFiltersMixin
|
from netbox.forms.mixins import SavedFiltersMixin
|
||||||
from tenancy.models import Tenant, TenantGroup
|
from tenancy.models import Tenant, TenantGroup
|
||||||
from users.models import Group, Owner, User
|
from users.models import Group, Owner, User
|
||||||
from utilities.forms import BOOLEAN_WITH_BLANK_CHOICES, FilterForm, add_blank_choice
|
from utilities.forms import BOOLEAN_WITH_BLANK_CHOICES, FilterForm, add_blank_choice, register_filterset
|
||||||
from utilities.forms.fields import (
|
from utilities.forms.fields import (
|
||||||
ContentTypeChoiceField, ContentTypeMultipleChoiceField, DynamicModelChoiceField, DynamicModelMultipleChoiceField,
|
ContentTypeChoiceField, ContentTypeMultipleChoiceField, DynamicModelChoiceField, DynamicModelMultipleChoiceField,
|
||||||
TagFilterField,
|
TagFilterField,
|
||||||
)
|
)
|
||||||
from utilities.forms.filterset_mappings import FILTERSET_MAPPINGS
|
|
||||||
from utilities.forms.mixins import FilterModifierMixin
|
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
|
||||||
@ -42,6 +41,7 @@ __all__ = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(CustomFieldFilterSet)
|
||||||
class CustomFieldFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
class CustomFieldFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
||||||
model = CustomField
|
model = CustomField
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -129,6 +129,7 @@ class CustomFieldFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(CustomFieldChoiceSetFilterSet)
|
||||||
class CustomFieldChoiceSetFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
class CustomFieldChoiceSetFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
||||||
model = CustomFieldChoiceSet
|
model = CustomFieldChoiceSet
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -149,6 +150,7 @@ class CustomFieldChoiceSetFilterForm(FilterModifierMixin, SavedFiltersMixin, Fil
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(CustomLinkFilterSet)
|
||||||
class CustomLinkFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
class CustomLinkFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
||||||
model = CustomLink
|
model = CustomLink
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -185,6 +187,7 @@ class CustomLinkFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ExportTemplateFilterSet)
|
||||||
class ExportTemplateFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
class ExportTemplateFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
||||||
model = ExportTemplate
|
model = ExportTemplate
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -236,6 +239,7 @@ class ExportTemplateFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterFor
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ImageAttachmentFilterSet)
|
||||||
class ImageAttachmentFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
class ImageAttachmentFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
||||||
model = ImageAttachment
|
model = ImageAttachment
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -253,6 +257,7 @@ class ImageAttachmentFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterFo
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(SavedFilterFilterSet)
|
||||||
class SavedFilterFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
class SavedFilterFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
||||||
model = SavedFilter
|
model = SavedFilter
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -289,6 +294,7 @@ class SavedFilterFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(TableConfigFilterSet)
|
||||||
class TableConfigFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
class TableConfigFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
FieldSet('q', 'filter_id'),
|
FieldSet('q', 'filter_id'),
|
||||||
@ -319,6 +325,7 @@ class TableConfigFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(WebhookFilterSet)
|
||||||
class WebhookFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
class WebhookFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
||||||
model = Webhook
|
model = Webhook
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -346,6 +353,7 @@ class WebhookFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(EventRuleFilterSet)
|
||||||
class EventRuleFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
class EventRuleFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
||||||
model = EventRule
|
model = EventRule
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -382,6 +390,7 @@ class EventRuleFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(TagFilterSet)
|
||||||
class TagFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
class TagFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
||||||
model = Tag
|
model = Tag
|
||||||
content_type_id = ContentTypeMultipleChoiceField(
|
content_type_id = ContentTypeMultipleChoiceField(
|
||||||
@ -401,6 +410,7 @@ class TagFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ConfigContextProfileFilterSet)
|
||||||
class ConfigContextProfileFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
class ConfigContextProfileFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
||||||
model = ConfigContextProfile
|
model = ConfigContextProfile
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -422,6 +432,7 @@ class ConfigContextProfileFilterForm(FilterModifierMixin, PrimaryModelFilterSetF
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ConfigContextFilterSet)
|
||||||
class ConfigContextFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
class ConfigContextFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
||||||
model = ConfigContext
|
model = ConfigContext
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -523,6 +534,7 @@ class ConfigContextFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ConfigTemplateFilterSet)
|
||||||
class ConfigTemplateFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
class ConfigTemplateFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
||||||
model = ConfigTemplate
|
model = ConfigTemplate
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -587,6 +599,7 @@ class LocalConfigContextFilterForm(forms.Form):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(JournalEntryFilterSet)
|
||||||
class JournalEntryFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
class JournalEntryFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
||||||
model = JournalEntry
|
model = JournalEntry
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -622,6 +635,7 @@ class JournalEntryFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(NotificationGroupFilterSet)
|
||||||
class NotificationGroupFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
class NotificationGroupFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
||||||
model = NotificationGroup
|
model = NotificationGroup
|
||||||
user_id = DynamicModelMultipleChoiceField(
|
user_id = DynamicModelMultipleChoiceField(
|
||||||
@ -634,21 +648,3 @@ class NotificationGroupFilterForm(FilterModifierMixin, SavedFiltersMixin, Filter
|
|||||||
required=False,
|
required=False,
|
||||||
label=_('Group')
|
label=_('Group')
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
# Register FilterSet mappings for FilterModifierMixin lookup verification
|
|
||||||
FILTERSET_MAPPINGS[CustomFieldFilterForm] = CustomFieldFilterSet
|
|
||||||
FILTERSET_MAPPINGS[CustomFieldChoiceSetFilterForm] = CustomFieldChoiceSetFilterSet
|
|
||||||
FILTERSET_MAPPINGS[CustomLinkFilterForm] = CustomLinkFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ExportTemplateFilterForm] = ExportTemplateFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ImageAttachmentFilterForm] = ImageAttachmentFilterSet
|
|
||||||
FILTERSET_MAPPINGS[SavedFilterFilterForm] = SavedFilterFilterSet
|
|
||||||
FILTERSET_MAPPINGS[TableConfigFilterForm] = TableConfigFilterSet
|
|
||||||
FILTERSET_MAPPINGS[WebhookFilterForm] = WebhookFilterSet
|
|
||||||
FILTERSET_MAPPINGS[EventRuleFilterForm] = EventRuleFilterSet
|
|
||||||
FILTERSET_MAPPINGS[TagFilterForm] = TagFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ConfigContextProfileFilterForm] = ConfigContextProfileFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ConfigContextFilterForm] = ConfigContextFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ConfigTemplateFilterForm] = ConfigTemplateFilterSet
|
|
||||||
FILTERSET_MAPPINGS[JournalEntryFilterForm] = JournalEntryFilterSet
|
|
||||||
FILTERSET_MAPPINGS[NotificationGroupFilterForm] = NotificationGroupFilterSet
|
|
||||||
|
|||||||
@ -8,9 +8,8 @@ from ipam.filtersets import *
|
|||||||
from ipam.models import *
|
from ipam.models import *
|
||||||
from netbox.forms import NetBoxModelFilterSetForm, OrganizationalModelFilterSetForm, PrimaryModelFilterSetForm
|
from netbox.forms import NetBoxModelFilterSetForm, OrganizationalModelFilterSetForm, PrimaryModelFilterSetForm
|
||||||
from tenancy.forms import ContactModelFilterForm, TenancyFilterForm
|
from tenancy.forms import ContactModelFilterForm, TenancyFilterForm
|
||||||
from utilities.forms import BOOLEAN_WITH_BLANK_CHOICES, add_blank_choice
|
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.filterset_mappings import FILTERSET_MAPPINGS
|
|
||||||
from utilities.forms.mixins import FilterModifierMixin
|
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
|
||||||
@ -45,6 +44,7 @@ IPADDRESS_MASK_LENGTH_CHOICES = add_blank_choice([
|
|||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(VRFFilterSet)
|
||||||
class VRFFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
class VRFFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = VRF
|
model = VRF
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -65,6 +65,7 @@ class VRFFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSe
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(RouteTargetFilterSet)
|
||||||
class RouteTargetFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
class RouteTargetFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = RouteTarget
|
model = RouteTarget
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -85,6 +86,7 @@ class RouteTargetFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModel
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(RIRFilterSet)
|
||||||
class RIRFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm):
|
class RIRFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm):
|
||||||
model = RIR
|
model = RIR
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -101,6 +103,7 @@ class RIRFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm):
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(AggregateFilterSet)
|
||||||
class AggregateFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm):
|
class AggregateFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = Aggregate
|
model = Aggregate
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -122,6 +125,7 @@ class AggregateFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFi
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ASNRangeFilterSet)
|
||||||
class ASNRangeFilterForm(FilterModifierMixin, TenancyFilterForm, OrganizationalModelFilterSetForm):
|
class ASNRangeFilterForm(FilterModifierMixin, TenancyFilterForm, OrganizationalModelFilterSetForm):
|
||||||
model = ASNRange
|
model = ASNRange
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -145,6 +149,7 @@ class ASNRangeFilterForm(FilterModifierMixin, TenancyFilterForm, OrganizationalM
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ASNFilterSet)
|
||||||
class ASNFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
class ASNFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = ASN
|
model = ASN
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -170,6 +175,7 @@ class ASNFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSe
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(RoleFilterSet)
|
||||||
class RoleFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm):
|
class RoleFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm):
|
||||||
model = Role
|
model = Role
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -178,6 +184,7 @@ class RoleFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm):
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(PrefixFilterSet)
|
||||||
class PrefixFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm):
|
class PrefixFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = Prefix
|
model = Prefix
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -284,6 +291,7 @@ class PrefixFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilte
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(IPRangeFilterSet)
|
||||||
class IPRangeFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm):
|
class IPRangeFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = IPRange
|
model = IPRange
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -331,6 +339,7 @@ class IPRangeFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilt
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(IPAddressFilterSet)
|
||||||
class IPAddressFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm):
|
class IPAddressFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = IPAddress
|
model = IPAddress
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -409,6 +418,7 @@ class IPAddressFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFi
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(FHRPGroupFilterSet)
|
||||||
class FHRPGroupFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
class FHRPGroupFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
||||||
model = FHRPGroup
|
model = FHRPGroup
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -442,6 +452,7 @@ class FHRPGroupFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(VLANGroupFilterSet)
|
||||||
class VLANGroupFilterForm(FilterModifierMixin, TenancyFilterForm, OrganizationalModelFilterSetForm):
|
class VLANGroupFilterForm(FilterModifierMixin, TenancyFilterForm, OrganizationalModelFilterSetForm):
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
FieldSet('q', 'filter_id', 'tag', 'owner_id'),
|
FieldSet('q', 'filter_id', 'tag', 'owner_id'),
|
||||||
@ -495,6 +506,7 @@ class VLANGroupFilterForm(FilterModifierMixin, TenancyFilterForm, Organizational
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(VLANTranslationPolicyFilterSet)
|
||||||
class VLANTranslationPolicyFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
class VLANTranslationPolicyFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
||||||
model = VLANTranslationPolicy
|
model = VLANTranslationPolicy
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -508,6 +520,7 @@ class VLANTranslationPolicyFilterForm(FilterModifierMixin, PrimaryModelFilterSet
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(VLANTranslationRuleFilterSet)
|
||||||
class VLANTranslationRuleFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
class VLANTranslationRuleFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
||||||
model = VLANTranslationRule
|
model = VLANTranslationRule
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -532,6 +545,7 @@ class VLANTranslationRuleFilterForm(FilterModifierMixin, NetBoxModelFilterSetFor
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(VLANFilterSet)
|
||||||
class VLANFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
class VLANFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = VLAN
|
model = VLAN
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -604,6 +618,7 @@ class VLANFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterS
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ServiceTemplateFilterSet)
|
||||||
class ServiceTemplateFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
class ServiceTemplateFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
||||||
model = ServiceTemplate
|
model = ServiceTemplate
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -622,6 +637,7 @@ class ServiceTemplateFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ServiceFilterSet)
|
||||||
class ServiceFilterForm(ContactModelFilterForm, ServiceTemplateFilterForm):
|
class ServiceFilterForm(ContactModelFilterForm, ServiceTemplateFilterForm):
|
||||||
model = Service
|
model = Service
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -646,23 +662,3 @@ class ServiceFilterForm(ContactModelFilterForm, ServiceTemplateFilterForm):
|
|||||||
label=_('FHRP Group'),
|
label=_('FHRP Group'),
|
||||||
)
|
)
|
||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
# Register FilterSet mappings for FilterModifierMixin lookup verification
|
|
||||||
FILTERSET_MAPPINGS[AggregateFilterForm] = AggregateFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ASNFilterForm] = ASNFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ASNRangeFilterForm] = ASNRangeFilterSet
|
|
||||||
FILTERSET_MAPPINGS[FHRPGroupFilterForm] = FHRPGroupFilterSet
|
|
||||||
FILTERSET_MAPPINGS[IPAddressFilterForm] = IPAddressFilterSet
|
|
||||||
FILTERSET_MAPPINGS[IPRangeFilterForm] = IPRangeFilterSet
|
|
||||||
FILTERSET_MAPPINGS[PrefixFilterForm] = PrefixFilterSet
|
|
||||||
FILTERSET_MAPPINGS[RIRFilterForm] = RIRFilterSet
|
|
||||||
FILTERSET_MAPPINGS[RoleFilterForm] = RoleFilterSet
|
|
||||||
FILTERSET_MAPPINGS[RouteTargetFilterForm] = RouteTargetFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ServiceFilterForm] = ServiceFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ServiceTemplateFilterForm] = ServiceTemplateFilterSet
|
|
||||||
FILTERSET_MAPPINGS[VLANFilterForm] = VLANFilterSet
|
|
||||||
FILTERSET_MAPPINGS[VLANGroupFilterForm] = VLANGroupFilterSet
|
|
||||||
FILTERSET_MAPPINGS[VLANTranslationPolicyFilterForm] = VLANTranslationPolicyFilterSet
|
|
||||||
FILTERSET_MAPPINGS[VLANTranslationRuleFilterForm] = VLANTranslationRuleFilterSet
|
|
||||||
FILTERSET_MAPPINGS[VRFFilterForm] = VRFFilterSet
|
|
||||||
|
|||||||
@ -26,6 +26,7 @@ registry = Registry({
|
|||||||
'data_backends': dict(),
|
'data_backends': dict(),
|
||||||
'denormalized_fields': collections.defaultdict(list),
|
'denormalized_fields': collections.defaultdict(list),
|
||||||
'event_types': dict(),
|
'event_types': dict(),
|
||||||
|
'filtersets': dict(),
|
||||||
'model_features': dict(),
|
'model_features': dict(),
|
||||||
'models': collections.defaultdict(set),
|
'models': collections.defaultdict(set),
|
||||||
'plugins': dict(),
|
'plugins': dict(),
|
||||||
|
|||||||
@ -13,7 +13,7 @@ from tenancy.forms import ContactModelFilterForm
|
|||||||
from utilities.forms.fields import (
|
from utilities.forms.fields import (
|
||||||
ContentTypeMultipleChoiceField, DynamicModelMultipleChoiceField, TagFilterField,
|
ContentTypeMultipleChoiceField, DynamicModelMultipleChoiceField, TagFilterField,
|
||||||
)
|
)
|
||||||
from utilities.forms.filterset_mappings import FILTERSET_MAPPINGS
|
from utilities.forms import register_filterset
|
||||||
from utilities.forms.mixins import FilterModifierMixin
|
from utilities.forms.mixins import FilterModifierMixin
|
||||||
from utilities.forms.rendering import FieldSet
|
from utilities.forms.rendering import FieldSet
|
||||||
|
|
||||||
@ -31,6 +31,7 @@ __all__ = (
|
|||||||
# Tenants
|
# Tenants
|
||||||
#
|
#
|
||||||
|
|
||||||
|
@register_filterset(TenantGroupFilterSet)
|
||||||
class TenantGroupFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm):
|
class TenantGroupFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm):
|
||||||
model = TenantGroup
|
model = TenantGroup
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -45,6 +46,7 @@ class TenantGroupFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm):
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(TenantFilterSet)
|
||||||
class TenantFilterForm(FilterModifierMixin, ContactModelFilterForm, PrimaryModelFilterSetForm):
|
class TenantFilterForm(FilterModifierMixin, ContactModelFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = Tenant
|
model = Tenant
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -65,6 +67,7 @@ class TenantFilterForm(FilterModifierMixin, ContactModelFilterForm, PrimaryModel
|
|||||||
# Contacts
|
# Contacts
|
||||||
#
|
#
|
||||||
|
|
||||||
|
@register_filterset(ContactGroupFilterSet)
|
||||||
class ContactGroupFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm):
|
class ContactGroupFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm):
|
||||||
model = ContactGroup
|
model = ContactGroup
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -79,6 +82,7 @@ class ContactGroupFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm)
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ContactRoleFilterSet)
|
||||||
class ContactRoleFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm):
|
class ContactRoleFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm):
|
||||||
model = ContactRole
|
model = ContactRole
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -87,6 +91,7 @@ class ContactRoleFilterForm(FilterModifierMixin, OrganizationalModelFilterSetFor
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ContactFilterSet)
|
||||||
class ContactFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
class ContactFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
||||||
model = Contact
|
model = Contact
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -102,6 +107,7 @@ class ContactFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ContactAssignmentFilterSet)
|
||||||
class ContactAssignmentFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
class ContactAssignmentFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
||||||
model = ContactAssignment
|
model = ContactAssignment
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -134,12 +140,3 @@ class ContactAssignmentFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm)
|
|||||||
required=False
|
required=False
|
||||||
)
|
)
|
||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
# Register FilterSet mappings for FilterModifierMixin lookup verification
|
|
||||||
FILTERSET_MAPPINGS[ContactAssignmentFilterForm] = ContactAssignmentFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ContactFilterForm] = ContactFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ContactGroupFilterForm] = ContactGroupFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ContactRoleFilterForm] = ContactRoleFilterSet
|
|
||||||
FILTERSET_MAPPINGS[TenantFilterForm] = TenantFilterSet
|
|
||||||
FILTERSET_MAPPINGS[TenantGroupFilterForm] = TenantGroupFilterSet
|
|
||||||
|
|||||||
@ -5,9 +5,8 @@ from netbox.forms import NetBoxModelFilterSetForm
|
|||||||
from netbox.forms.mixins import SavedFiltersMixin
|
from netbox.forms.mixins import SavedFiltersMixin
|
||||||
from users.choices import TokenVersionChoices
|
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
|
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.filterset_mappings import FILTERSET_MAPPINGS
|
|
||||||
from utilities.forms.mixins import FilterModifierMixin
|
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
|
||||||
@ -24,6 +23,7 @@ __all__ = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(GroupFilterSet)
|
||||||
class GroupFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
class GroupFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
||||||
model = Group
|
model = Group
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -31,6 +31,7 @@ class GroupFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(UserFilterSet)
|
||||||
class UserFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
class UserFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
||||||
model = User
|
model = User
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -59,6 +60,7 @@ class UserFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ObjectPermissionFilterSet)
|
||||||
class ObjectPermissionFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
class ObjectPermissionFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
||||||
model = ObjectPermission
|
model = ObjectPermission
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -113,6 +115,7 @@ class ObjectPermissionFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(TokenFilterSet)
|
||||||
class TokenFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
class TokenFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
||||||
model = Token
|
model = Token
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -154,6 +157,7 @@ class TokenFilterForm(FilterModifierMixin, SavedFiltersMixin, FilterForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(OwnerGroupFilterSet)
|
||||||
class OwnerGroupFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
class OwnerGroupFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
||||||
model = OwnerGroup
|
model = OwnerGroup
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -161,6 +165,7 @@ class OwnerGroupFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(OwnerFilterSet)
|
||||||
class OwnerFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
class OwnerFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
||||||
model = Owner
|
model = Owner
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -183,12 +188,3 @@ class OwnerFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
|||||||
required=False,
|
required=False,
|
||||||
label=_('Users')
|
label=_('Users')
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
# Register FilterSet mappings for FilterModifierMixin lookup verification
|
|
||||||
FILTERSET_MAPPINGS[GroupFilterForm] = GroupFilterSet
|
|
||||||
FILTERSET_MAPPINGS[UserFilterForm] = UserFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ObjectPermissionFilterForm] = ObjectPermissionFilterSet
|
|
||||||
FILTERSET_MAPPINGS[TokenFilterForm] = TokenFilterSet
|
|
||||||
FILTERSET_MAPPINGS[OwnerGroupFilterForm] = OwnerGroupFilterSet
|
|
||||||
FILTERSET_MAPPINGS[OwnerFilterForm] = OwnerFilterSet
|
|
||||||
|
|||||||
@ -2,3 +2,22 @@ from .constants import *
|
|||||||
from .forms import *
|
from .forms import *
|
||||||
from .mixins import *
|
from .mixins import *
|
||||||
from .utils import *
|
from .utils import *
|
||||||
|
|
||||||
|
|
||||||
|
def register_filterset(filterset_class):
|
||||||
|
"""
|
||||||
|
Decorator for registering a FilterForm -> FilterSet mapping.
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
@register_filterset(DeviceFilterSet)
|
||||||
|
class DeviceFilterForm(NetBoxModelFilterSetForm):
|
||||||
|
...
|
||||||
|
|
||||||
|
Args:
|
||||||
|
filterset_class: The corresponding filterset class
|
||||||
|
"""
|
||||||
|
def decorator(form_class):
|
||||||
|
from netbox.registry import registry
|
||||||
|
registry['filtersets'][form_class] = filterset_class
|
||||||
|
return form_class
|
||||||
|
return decorator
|
||||||
|
|||||||
@ -1,11 +0,0 @@
|
|||||||
# Mapping of filter form classes to their corresponding FilterSet classes
|
|
||||||
# This enables the FilterModifierMixin to verify which lookups are actually supported
|
|
||||||
# by checking the FilterSet's auto-generated lookup filters.
|
|
||||||
#
|
|
||||||
# Usage:
|
|
||||||
# from utilities.forms.filterset_mappings import FILTERSET_MAPPINGS
|
|
||||||
# from .forms.filtersets import XFilterForm
|
|
||||||
# from .filtersets import XFilterSet
|
|
||||||
# FILTERSET_MAPPINGS[XFilterForm] = XFilterSet
|
|
||||||
|
|
||||||
FILTERSET_MAPPINGS = {}
|
|
||||||
@ -172,10 +172,10 @@ class FilterModifierMixin:
|
|||||||
def _enhance_fields_with_modifiers(self):
|
def _enhance_fields_with_modifiers(self):
|
||||||
"""Wrap compatible field widgets with FilterModifierWidget."""
|
"""Wrap compatible field widgets with FilterModifierWidget."""
|
||||||
from utilities.forms.widgets import FilterModifierWidget
|
from utilities.forms.widgets import FilterModifierWidget
|
||||||
from utilities.forms.filterset_mappings import FILTERSET_MAPPINGS
|
from netbox.registry import registry
|
||||||
|
|
||||||
# Get the corresponding FilterSet if registered
|
# Get the corresponding FilterSet if registered
|
||||||
filterset_class = FILTERSET_MAPPINGS.get(self.__class__)
|
filterset_class = registry['filtersets'].get(self.__class__)
|
||||||
filterset = filterset_class() if filterset_class else None
|
filterset = filterset_class() if filterset_class else None
|
||||||
|
|
||||||
for field_name, field in self.fields.items():
|
for field_name, field in self.fields.items():
|
||||||
|
|||||||
@ -9,9 +9,8 @@ from ipam.models import VRF, VLANTranslationPolicy
|
|||||||
from netbox.forms import NetBoxModelFilterSetForm, OrganizationalModelFilterSetForm, PrimaryModelFilterSetForm
|
from netbox.forms import NetBoxModelFilterSetForm, OrganizationalModelFilterSetForm, PrimaryModelFilterSetForm
|
||||||
from tenancy.forms import ContactModelFilterForm, TenancyFilterForm
|
from tenancy.forms import ContactModelFilterForm, TenancyFilterForm
|
||||||
from users.models import Owner
|
from users.models import Owner
|
||||||
from utilities.forms import BOOLEAN_WITH_BLANK_CHOICES
|
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.filterset_mappings import FILTERSET_MAPPINGS
|
|
||||||
from utilities.forms.mixins import FilterModifierMixin
|
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 *
|
||||||
@ -29,6 +28,7 @@ __all__ = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ClusterTypeFilterSet)
|
||||||
class ClusterTypeFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm):
|
class ClusterTypeFilterForm(FilterModifierMixin, OrganizationalModelFilterSetForm):
|
||||||
model = ClusterType
|
model = ClusterType
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -37,6 +37,7 @@ class ClusterTypeFilterForm(FilterModifierMixin, OrganizationalModelFilterSetFor
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ClusterGroupFilterSet)
|
||||||
class ClusterGroupFilterForm(FilterModifierMixin, ContactModelFilterForm, OrganizationalModelFilterSetForm):
|
class ClusterGroupFilterForm(FilterModifierMixin, ContactModelFilterForm, OrganizationalModelFilterSetForm):
|
||||||
model = ClusterGroup
|
model = ClusterGroup
|
||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
@ -46,6 +47,7 @@ class ClusterGroupFilterForm(FilterModifierMixin, ContactModelFilterForm, Organi
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(ClusterFilterSet)
|
||||||
class ClusterFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFilterForm, PrimaryModelFilterSetForm):
|
class ClusterFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = Cluster
|
model = Cluster
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -100,6 +102,7 @@ class ClusterFilterForm(FilterModifierMixin, TenancyFilterForm, ContactModelFilt
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(VirtualMachineFilterSet)
|
||||||
class VirtualMachineFilterForm(
|
class VirtualMachineFilterForm(
|
||||||
FilterModifierMixin,
|
FilterModifierMixin,
|
||||||
LocalConfigContextFilterForm,
|
LocalConfigContextFilterForm,
|
||||||
@ -209,6 +212,7 @@ class VirtualMachineFilterForm(
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(VMInterfaceFilterSet)
|
||||||
class VMInterfaceFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
class VMInterfaceFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
||||||
model = VMInterface
|
model = VMInterface
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -271,6 +275,7 @@ class VMInterfaceFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(VirtualDiskFilterSet)
|
||||||
class VirtualDiskFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
class VirtualDiskFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
||||||
model = VirtualDisk
|
model = VirtualDisk
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -294,12 +299,3 @@ class VirtualDiskFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
|||||||
label=_('Owner'),
|
label=_('Owner'),
|
||||||
)
|
)
|
||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
# Register FilterSet mappings for FilterModifierMixin lookup verification
|
|
||||||
FILTERSET_MAPPINGS[ClusterFilterForm] = ClusterFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ClusterGroupFilterForm] = ClusterGroupFilterSet
|
|
||||||
FILTERSET_MAPPINGS[ClusterTypeFilterForm] = ClusterTypeFilterSet
|
|
||||||
FILTERSET_MAPPINGS[VirtualDiskFilterForm] = VirtualDiskFilterSet
|
|
||||||
FILTERSET_MAPPINGS[VirtualMachineFilterForm] = VirtualMachineFilterSet
|
|
||||||
FILTERSET_MAPPINGS[VMInterfaceFilterForm] = VMInterfaceFilterSet
|
|
||||||
|
|||||||
@ -9,7 +9,7 @@ from tenancy.forms import ContactModelFilterForm, TenancyFilterForm
|
|||||||
from utilities.forms.fields import (
|
from utilities.forms.fields import (
|
||||||
ContentTypeMultipleChoiceField, DynamicModelChoiceField, DynamicModelMultipleChoiceField, TagFilterField,
|
ContentTypeMultipleChoiceField, DynamicModelChoiceField, DynamicModelMultipleChoiceField, TagFilterField,
|
||||||
)
|
)
|
||||||
from utilities.forms.filterset_mappings import FILTERSET_MAPPINGS
|
from utilities.forms import register_filterset
|
||||||
from utilities.forms.mixins import FilterModifierMixin
|
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
|
||||||
@ -33,6 +33,7 @@ __all__ = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(TunnelGroupFilterSet)
|
||||||
class TunnelGroupFilterForm(FilterModifierMixin, ContactModelFilterForm, OrganizationalModelFilterSetForm):
|
class TunnelGroupFilterForm(FilterModifierMixin, ContactModelFilterForm, OrganizationalModelFilterSetForm):
|
||||||
model = TunnelGroup
|
model = TunnelGroup
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -42,6 +43,7 @@ class TunnelGroupFilterForm(FilterModifierMixin, ContactModelFilterForm, Organiz
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(TunnelFilterSet)
|
||||||
class TunnelFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm):
|
class TunnelFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = Tunnel
|
model = Tunnel
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -78,6 +80,7 @@ class TunnelFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilte
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(TunnelTerminationFilterSet)
|
||||||
class TunnelTerminationFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
class TunnelTerminationFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
||||||
model = TunnelTermination
|
model = TunnelTermination
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -97,6 +100,7 @@ class TunnelTerminationFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm)
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(IKEProposalFilterSet)
|
||||||
class IKEProposalFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
class IKEProposalFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
||||||
model = IKEProposal
|
model = IKEProposal
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -128,6 +132,7 @@ class IKEProposalFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(IKEPolicyFilterSet)
|
||||||
class IKEPolicyFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
class IKEPolicyFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
||||||
model = IKEPolicy
|
model = IKEPolicy
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -152,6 +157,7 @@ class IKEPolicyFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(IPSecProposalFilterSet)
|
||||||
class IPSecProposalFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
class IPSecProposalFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
||||||
model = IPSecProposal
|
model = IPSecProposal
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -171,6 +177,7 @@ class IPSecProposalFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(IPSecPolicyFilterSet)
|
||||||
class IPSecPolicyFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
class IPSecPolicyFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
||||||
model = IPSecPolicy
|
model = IPSecPolicy
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -190,6 +197,7 @@ class IPSecPolicyFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(IPSecProfileFilterSet)
|
||||||
class IPSecProfileFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
class IPSecProfileFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
||||||
model = IPSecProfile
|
model = IPSecProfile
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -214,6 +222,7 @@ class IPSecProfileFilterForm(FilterModifierMixin, PrimaryModelFilterSetForm):
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(L2VPNFilterSet)
|
||||||
class L2VPNFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm):
|
class L2VPNFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = L2VPN
|
model = L2VPN
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -245,6 +254,7 @@ class L2VPNFilterForm(FilterModifierMixin, ContactModelFilterForm, TenancyFilter
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(L2VPNTerminationFilterSet)
|
||||||
class L2VPNTerminationFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
class L2VPNTerminationFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
||||||
model = L2VPNTermination
|
model = L2VPNTermination
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -307,16 +317,3 @@ class L2VPNTerminationFilterForm(FilterModifierMixin, NetBoxModelFilterSetForm):
|
|||||||
label=_('Virtual Machine')
|
label=_('Virtual Machine')
|
||||||
)
|
)
|
||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
# Register FilterSet mappings for FilterModifierMixin lookup verification
|
|
||||||
FILTERSET_MAPPINGS[IKEPolicyFilterForm] = IKEPolicyFilterSet
|
|
||||||
FILTERSET_MAPPINGS[IKEProposalFilterForm] = IKEProposalFilterSet
|
|
||||||
FILTERSET_MAPPINGS[IPSecPolicyFilterForm] = IPSecPolicyFilterSet
|
|
||||||
FILTERSET_MAPPINGS[IPSecProfileFilterForm] = IPSecProfileFilterSet
|
|
||||||
FILTERSET_MAPPINGS[IPSecProposalFilterForm] = IPSecProposalFilterSet
|
|
||||||
FILTERSET_MAPPINGS[L2VPNFilterForm] = L2VPNFilterSet
|
|
||||||
FILTERSET_MAPPINGS[L2VPNTerminationFilterForm] = L2VPNTerminationFilterSet
|
|
||||||
FILTERSET_MAPPINGS[TunnelFilterForm] = TunnelFilterSet
|
|
||||||
FILTERSET_MAPPINGS[TunnelGroupFilterForm] = TunnelGroupFilterSet
|
|
||||||
FILTERSET_MAPPINGS[TunnelTerminationFilterForm] = TunnelTerminationFilterSet
|
|
||||||
|
|||||||
@ -6,9 +6,8 @@ from dcim.models import Location, Region, Site, SiteGroup
|
|||||||
from netbox.choices import *
|
from netbox.choices import *
|
||||||
from netbox.forms import NestedGroupModelFilterSetForm, PrimaryModelFilterSetForm
|
from netbox.forms import NestedGroupModelFilterSetForm, PrimaryModelFilterSetForm
|
||||||
from tenancy.forms import TenancyFilterForm
|
from tenancy.forms import TenancyFilterForm
|
||||||
from utilities.forms import add_blank_choice
|
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.filterset_mappings import FILTERSET_MAPPINGS
|
|
||||||
from utilities.forms.mixins import FilterModifierMixin
|
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 *
|
||||||
@ -22,6 +21,7 @@ __all__ = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(WirelessLANGroupFilterSet)
|
||||||
class WirelessLANGroupFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm):
|
class WirelessLANGroupFilterForm(FilterModifierMixin, NestedGroupModelFilterSetForm):
|
||||||
model = WirelessLANGroup
|
model = WirelessLANGroup
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -36,6 +36,7 @@ class WirelessLANGroupFilterForm(FilterModifierMixin, NestedGroupModelFilterSetF
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(WirelessLANFilterSet)
|
||||||
class WirelessLANFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
class WirelessLANFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = WirelessLAN
|
model = WirelessLAN
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -102,6 +103,7 @@ class WirelessLANFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModel
|
|||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
|
@register_filterset(WirelessLinkFilterSet)
|
||||||
class WirelessLinkFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
class WirelessLinkFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryModelFilterSetForm):
|
||||||
model = WirelessLink
|
model = WirelessLink
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
@ -143,9 +145,3 @@ class WirelessLinkFilterForm(FilterModifierMixin, TenancyFilterForm, PrimaryMode
|
|||||||
required=False
|
required=False
|
||||||
)
|
)
|
||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
|
||||||
# Register FilterSet mappings for FilterModifierMixin lookup verification
|
|
||||||
FILTERSET_MAPPINGS[WirelessLANFilterForm] = WirelessLANFilterSet
|
|
||||||
FILTERSET_MAPPINGS[WirelessLANGroupFilterForm] = WirelessLANGroupFilterSet
|
|
||||||
FILTERSET_MAPPINGS[WirelessLinkFilterForm] = WirelessLinkFilterSet
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user