diff --git a/netbox/circuits/graphql/filters.py b/netbox/circuits/graphql/filters.py index 966849fd0..d6ef2976d 100644 --- a/netbox/circuits/graphql/filters.py +++ b/netbox/circuits/graphql/filters.py @@ -41,7 +41,7 @@ __all__ = ( ) -@strawberry_django.filter(models.CircuitTermination, lookups=True) +@strawberry_django.filter_type(models.CircuitTermination, lookups=True) class CircuitTerminationFilter( BaseObjectTypeFilterMixin, CustomFieldsFilterMixin, @@ -87,7 +87,7 @@ class CircuitTerminationFilter( ) -@strawberry_django.filter(models.Circuit, lookups=True) +@strawberry_django.filter_type(models.Circuit, lookups=True) class CircuitFilter( ContactFilterMixin, ImageAttachmentFilterMixin, @@ -121,17 +121,17 @@ class CircuitFilter( ) -@strawberry_django.filter(models.CircuitType, lookups=True) +@strawberry_django.filter_type(models.CircuitType, lookups=True) class CircuitTypeFilter(BaseCircuitTypeFilterMixin): pass -@strawberry_django.filter(models.CircuitGroup, lookups=True) +@strawberry_django.filter_type(models.CircuitGroup, lookups=True) class CircuitGroupFilter(TenancyFilterMixin, OrganizationalModelFilterMixin): pass -@strawberry_django.filter(models.CircuitGroupAssignment, lookups=True) +@strawberry_django.filter_type(models.CircuitGroupAssignment, lookups=True) class CircuitGroupAssignmentFilter( BaseObjectTypeFilterMixin, CustomFieldsFilterMixin, TagsFilterMixin, ChangeLogFilterMixin ): @@ -148,7 +148,7 @@ class CircuitGroupAssignmentFilter( ) -@strawberry_django.filter(models.Provider, lookups=True) +@strawberry_django.filter_type(models.Provider, lookups=True) class ProviderFilter(ContactFilterMixin, PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() slug: FilterLookup[str] | None = strawberry_django.filter_field() @@ -158,7 +158,7 @@ class ProviderFilter(ContactFilterMixin, PrimaryModelFilterMixin): ) -@strawberry_django.filter(models.ProviderAccount, lookups=True) +@strawberry_django.filter_type(models.ProviderAccount, lookups=True) class ProviderAccountFilter(ContactFilterMixin, PrimaryModelFilterMixin): provider: Annotated['ProviderFilter', strawberry.lazy('circuits.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -168,7 +168,7 @@ class ProviderAccountFilter(ContactFilterMixin, PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.ProviderNetwork, lookups=True) +@strawberry_django.filter_type(models.ProviderNetwork, lookups=True) class ProviderNetworkFilter(PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() provider: Annotated['ProviderFilter', strawberry.lazy('circuits.graphql.filters')] | None = ( @@ -178,12 +178,12 @@ class ProviderNetworkFilter(PrimaryModelFilterMixin): service_id: FilterLookup[str] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.VirtualCircuitType, lookups=True) +@strawberry_django.filter_type(models.VirtualCircuitType, lookups=True) class VirtualCircuitTypeFilter(BaseCircuitTypeFilterMixin): pass -@strawberry_django.filter(models.VirtualCircuit, lookups=True) +@strawberry_django.filter_type(models.VirtualCircuit, lookups=True) class VirtualCircuitFilter(TenancyFilterMixin, PrimaryModelFilterMixin): cid: FilterLookup[str] | None = strawberry_django.filter_field() provider_network: Annotated['ProviderNetworkFilter', strawberry.lazy('circuits.graphql.filters')] | None = ( @@ -206,7 +206,7 @@ class VirtualCircuitFilter(TenancyFilterMixin, PrimaryModelFilterMixin): ) -@strawberry_django.filter(models.VirtualCircuitTermination, lookups=True) +@strawberry_django.filter_type(models.VirtualCircuitTermination, lookups=True) class VirtualCircuitTerminationFilter( BaseObjectTypeFilterMixin, CustomFieldsFilterMixin, TagsFilterMixin, ChangeLogFilterMixin ): diff --git a/netbox/circuits/tables/virtual_circuits.py b/netbox/circuits/tables/virtual_circuits.py index 67ac03d59..ea3b6dc13 100644 --- a/netbox/circuits/tables/virtual_circuits.py +++ b/netbox/circuits/tables/virtual_circuits.py @@ -54,9 +54,8 @@ class VirtualCircuitTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable) linkify=True, verbose_name=_('Account') ) - type = tables.Column( + type = columns.ColoredLabelColumn( verbose_name=_('Type'), - linkify=True ) status = columns.ChoiceFieldColumn() termination_count = columns.LinkedCountColumn( diff --git a/netbox/core/graphql/filters.py b/netbox/core/graphql/filters.py index e5d44674a..76ace2362 100644 --- a/netbox/core/graphql/filters.py +++ b/netbox/core/graphql/filters.py @@ -23,7 +23,7 @@ __all__ = ( ) -@strawberry_django.filter(models.DataFile, lookups=True) +@strawberry_django.filter_type(models.DataFile, lookups=True) class DataFileFilter(BaseFilterMixin): id: ID | None = strawberry_django.filter_field() created: DatetimeFilterLookup[datetime] | None = strawberry_django.filter_field() @@ -39,7 +39,7 @@ class DataFileFilter(BaseFilterMixin): hash: FilterLookup[str] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.DataSource, lookups=True) +@strawberry_django.filter_type(models.DataSource, lookups=True) class DataSourceFilter(PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() type: FilterLookup[str] | None = strawberry_django.filter_field() @@ -56,7 +56,7 @@ class DataSourceFilter(PrimaryModelFilterMixin): ) -@strawberry_django.filter(models.ObjectChange, lookups=True) +@strawberry_django.filter_type(models.ObjectChange, lookups=True) class ObjectChangeFilter(BaseFilterMixin): id: ID | None = strawberry_django.filter_field() time: DatetimeFilterLookup[datetime] | None = strawberry_django.filter_field() @@ -82,7 +82,7 @@ class ObjectChangeFilter(BaseFilterMixin): ) -@strawberry_django.filter(DjangoContentType, lookups=True) +@strawberry_django.filter_type(DjangoContentType, lookups=True) class ContentTypeFilter(BaseFilterMixin): id: ID | None = strawberry_django.filter_field() app_label: FilterLookup[str] | None = strawberry_django.filter_field() diff --git a/netbox/dcim/graphql/filters.py b/netbox/dcim/graphql/filters.py index 77e7a53b9..a8a6c2a5e 100644 --- a/netbox/dcim/graphql/filters.py +++ b/netbox/dcim/graphql/filters.py @@ -90,7 +90,7 @@ __all__ = ( ) -@strawberry_django.filter(models.Cable, lookups=True) +@strawberry_django.filter_type(models.Cable, lookups=True) class CableFilter(PrimaryModelFilterMixin, TenancyFilterMixin): type: Annotated['CableTypeEnum', strawberry.lazy('dcim.graphql.enums')] | None = strawberry_django.filter_field() status: Annotated['LinkStatusEnum', strawberry.lazy('dcim.graphql.enums')] | None = strawberry_django.filter_field() @@ -107,7 +107,7 @@ class CableFilter(PrimaryModelFilterMixin, TenancyFilterMixin): ) -@strawberry_django.filter(models.CableTermination, lookups=True) +@strawberry_django.filter_type(models.CableTermination, lookups=True) class CableTerminationFilter(ChangeLogFilterMixin): cable: Annotated['CableFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field() cable_id: ID | None = strawberry_django.filter_field() @@ -120,7 +120,7 @@ class CableTerminationFilter(ChangeLogFilterMixin): termination_id: ID | None = strawberry_django.filter_field() -@strawberry_django.filter(models.ConsolePort, lookups=True) +@strawberry_django.filter_type(models.ConsolePort, lookups=True) class ConsolePortFilter(ModularComponentModelFilterMixin, CabledObjectModelFilterMixin): type: Annotated['ConsolePortTypeEnum', strawberry.lazy('dcim.graphql.enums')] | None = ( strawberry_django.filter_field() @@ -130,14 +130,14 @@ class ConsolePortFilter(ModularComponentModelFilterMixin, CabledObjectModelFilte ) -@strawberry_django.filter(models.ConsolePortTemplate, lookups=True) +@strawberry_django.filter_type(models.ConsolePortTemplate, lookups=True) class ConsolePortTemplateFilter(ModularComponentTemplateFilterMixin): type: Annotated['ConsolePortTypeEnum', strawberry.lazy('dcim.graphql.enums')] | None = ( strawberry_django.filter_field() ) -@strawberry_django.filter(models.ConsoleServerPort, lookups=True) +@strawberry_django.filter_type(models.ConsoleServerPort, lookups=True) class ConsoleServerPortFilter(ModularComponentModelFilterMixin, CabledObjectModelFilterMixin): type: Annotated['ConsolePortTypeEnum', strawberry.lazy('dcim.graphql.enums')] | None = ( strawberry_django.filter_field() @@ -147,14 +147,14 @@ class ConsoleServerPortFilter(ModularComponentModelFilterMixin, CabledObjectMode ) -@strawberry_django.filter(models.ConsoleServerPortTemplate, lookups=True) +@strawberry_django.filter_type(models.ConsoleServerPortTemplate, lookups=True) class ConsoleServerPortTemplateFilter(ModularComponentTemplateFilterMixin): type: Annotated['ConsolePortTypeEnum', strawberry.lazy('dcim.graphql.enums')] | None = ( strawberry_django.filter_field() ) -@strawberry_django.filter(models.Device, lookups=True) +@strawberry_django.filter_type(models.Device, lookups=True) class DeviceFilter( ContactFilterMixin, TenancyFilterMixin, @@ -271,7 +271,7 @@ class DeviceFilter( inventory_item_count: FilterLookup[int] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.DeviceBay, lookups=True) +@strawberry_django.filter_type(models.DeviceBay, lookups=True) class DeviceBayFilter(ComponentModelFilterMixin): installed_device: Annotated['DeviceFilter', strawberry.lazy('dcim.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -279,12 +279,12 @@ class DeviceBayFilter(ComponentModelFilterMixin): installed_device_id: ID | None = strawberry_django.filter_field() -@strawberry_django.filter(models.DeviceBayTemplate, lookups=True) +@strawberry_django.filter_type(models.DeviceBayTemplate, lookups=True) class DeviceBayTemplateFilter(ComponentTemplateFilterMixin): pass -@strawberry_django.filter(models.InventoryItemTemplate, lookups=True) +@strawberry_django.filter_type(models.InventoryItemTemplate, lookups=True) class InventoryItemTemplateFilter(ComponentTemplateFilterMixin): parent: Annotated['InventoryItemTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -304,13 +304,13 @@ class InventoryItemTemplateFilter(ComponentTemplateFilterMixin): part_id: FilterLookup[str] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.DeviceRole, lookups=True) +@strawberry_django.filter_type(models.DeviceRole, lookups=True) class DeviceRoleFilter(OrganizationalModelFilterMixin, RenderConfigFilterMixin): color: Annotated['ColorEnum', strawberry.lazy('netbox.graphql.enums')] | None = strawberry_django.filter_field() vm_role: FilterLookup[bool] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.DeviceType, lookups=True) +@strawberry_django.filter_type(models.DeviceType, lookups=True) class DeviceTypeFilter(ImageAttachmentFilterMixin, PrimaryModelFilterMixin, WeightFilterMixin): manufacturer: Annotated['ManufacturerFilter', strawberry.lazy('dcim.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -382,7 +382,7 @@ class DeviceTypeFilter(ImageAttachmentFilterMixin, PrimaryModelFilterMixin, Weig inventory_item_template_count: FilterLookup[int] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.FrontPort, lookups=True) +@strawberry_django.filter_type(models.FrontPort, lookups=True) class FrontPortFilter(ModularComponentModelFilterMixin, CabledObjectModelFilterMixin): type: Annotated['PortTypeEnum', strawberry.lazy('dcim.graphql.enums')] | None = strawberry_django.filter_field() color: Annotated['ColorEnum', strawberry.lazy('netbox.graphql.enums')] | None = strawberry_django.filter_field() @@ -395,7 +395,7 @@ class FrontPortFilter(ModularComponentModelFilterMixin, CabledObjectModelFilterM ) -@strawberry_django.filter(models.FrontPortTemplate, lookups=True) +@strawberry_django.filter_type(models.FrontPortTemplate, lookups=True) class FrontPortTemplateFilter(ModularComponentTemplateFilterMixin): type: Annotated['PortTypeEnum', strawberry.lazy('dcim.graphql.enums')] | None = strawberry_django.filter_field() color: Annotated['ColorEnum', strawberry.lazy('netbox.graphql.enums')] | None = strawberry_django.filter_field() @@ -408,7 +408,7 @@ class FrontPortTemplateFilter(ModularComponentTemplateFilterMixin): ) -@strawberry_django.filter(models.MACAddress, lookups=True) +@strawberry_django.filter_type(models.MACAddress, lookups=True) class MACAddressFilter(PrimaryModelFilterMixin): mac_address: FilterLookup[str] | None = strawberry_django.filter_field() assigned_object_type: Annotated['ContentTypeFilter', strawberry.lazy('core.graphql.filters')] | None = ( @@ -417,7 +417,7 @@ class MACAddressFilter(PrimaryModelFilterMixin): assigned_object_id: ID | None = strawberry_django.filter_field() -@strawberry_django.filter(models.Interface, lookups=True) +@strawberry_django.filter_type(models.Interface, lookups=True) class InterfaceFilter(ModularComponentModelFilterMixin, InterfaceBaseFilterMixin, CabledObjectModelFilterMixin): vcdcs: Annotated['VirtualDeviceContextFilter', strawberry.lazy('dcim.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -486,7 +486,7 @@ class InterfaceFilter(ModularComponentModelFilterMixin, InterfaceBaseFilterMixin ) -@strawberry_django.filter(models.InterfaceTemplate, lookups=True) +@strawberry_django.filter_type(models.InterfaceTemplate, lookups=True) class InterfaceTemplateFilter(ModularComponentTemplateFilterMixin): type: Annotated['InterfaceTypeEnum', strawberry.lazy('dcim.graphql.enums')] | None = ( strawberry_django.filter_field() @@ -508,7 +508,7 @@ class InterfaceTemplateFilter(ModularComponentTemplateFilterMixin): ) -@strawberry_django.filter(models.InventoryItem, lookups=True) +@strawberry_django.filter_type(models.InventoryItem, lookups=True) class InventoryItemFilter(ComponentModelFilterMixin): parent: Annotated['InventoryItemFilter', strawberry.lazy('dcim.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -535,12 +535,12 @@ class InventoryItemFilter(ComponentModelFilterMixin): discovered: FilterLookup[bool] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.InventoryItemRole, lookups=True) +@strawberry_django.filter_type(models.InventoryItemRole, lookups=True) class InventoryItemRoleFilter(OrganizationalModelFilterMixin): color: Annotated['ColorEnum', strawberry.lazy('netbox.graphql.enums')] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.Location, lookups=True) +@strawberry_django.filter_type(models.Location, lookups=True) class LocationFilter(ContactFilterMixin, ImageAttachmentFilterMixin, TenancyFilterMixin, NestedGroupModelFilterMixin): site: Annotated['SiteFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field() site_id: ID | None = strawberry_django.filter_field() @@ -556,12 +556,12 @@ class LocationFilter(ContactFilterMixin, ImageAttachmentFilterMixin, TenancyFilt ) -@strawberry_django.filter(models.Manufacturer, lookups=True) +@strawberry_django.filter_type(models.Manufacturer, lookups=True) class ManufacturerFilter(ContactFilterMixin, OrganizationalModelFilterMixin): pass -@strawberry_django.filter(models.Module, lookups=True) +@strawberry_django.filter_type(models.Module, lookups=True) class ModuleFilter(PrimaryModelFilterMixin, ConfigContextFilterMixin): device: Annotated['DeviceFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field() device_id: ID | None = strawberry_django.filter_field() @@ -610,7 +610,7 @@ class ModuleFilter(PrimaryModelFilterMixin, ConfigContextFilterMixin): ) -@strawberry_django.filter(models.ModuleBay, lookups=True) +@strawberry_django.filter_type(models.ModuleBay, lookups=True) class ModuleBayFilter(ModularComponentModelFilterMixin): parent: Annotated['ModuleBayFilter', strawberry.lazy('dcim.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -619,17 +619,17 @@ class ModuleBayFilter(ModularComponentModelFilterMixin): position: FilterLookup[str] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.ModuleBayTemplate, lookups=True) +@strawberry_django.filter_type(models.ModuleBayTemplate, lookups=True) class ModuleBayTemplateFilter(ModularComponentTemplateFilterMixin): position: FilterLookup[str] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.ModuleTypeProfile, lookups=True) +@strawberry_django.filter_type(models.ModuleTypeProfile, lookups=True) class ModuleTypeProfileFilter(PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.ModuleType, lookups=True) +@strawberry_django.filter_type(models.ModuleType, lookups=True) class ModuleTypeFilter(ImageAttachmentFilterMixin, PrimaryModelFilterMixin, WeightFilterMixin): manufacturer: Annotated['ManufacturerFilter', strawberry.lazy('dcim.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -676,7 +676,7 @@ class ModuleTypeFilter(ImageAttachmentFilterMixin, PrimaryModelFilterMixin, Weig ) = strawberry_django.filter_field() -@strawberry_django.filter(models.Platform, lookups=True) +@strawberry_django.filter_type(models.Platform, lookups=True) class PlatformFilter(OrganizationalModelFilterMixin): manufacturer: Annotated['ManufacturerFilter', strawberry.lazy('dcim.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -688,7 +688,7 @@ class PlatformFilter(OrganizationalModelFilterMixin): config_template_id: ID | None = strawberry_django.filter_field() -@strawberry_django.filter(models.PowerFeed, lookups=True) +@strawberry_django.filter_type(models.PowerFeed, lookups=True) class PowerFeedFilter(CabledObjectModelFilterMixin, TenancyFilterMixin, PrimaryModelFilterMixin): power_panel: Annotated['PowerPanelFilter', strawberry.lazy('dcim.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -723,7 +723,7 @@ class PowerFeedFilter(CabledObjectModelFilterMixin, TenancyFilterMixin, PrimaryM ) -@strawberry_django.filter(models.PowerOutlet, lookups=True) +@strawberry_django.filter_type(models.PowerOutlet, lookups=True) class PowerOutletFilter(ModularComponentModelFilterMixin, CabledObjectModelFilterMixin): type: Annotated['PowerOutletTypeEnum', strawberry.lazy('dcim.graphql.enums')] | None = ( strawberry_django.filter_field() @@ -738,7 +738,7 @@ class PowerOutletFilter(ModularComponentModelFilterMixin, CabledObjectModelFilte color: Annotated['ColorEnum', strawberry.lazy('netbox.graphql.enums')] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.PowerOutletTemplate, lookups=True) +@strawberry_django.filter_type(models.PowerOutletTemplate, lookups=True) class PowerOutletTemplateFilter(ModularComponentModelFilterMixin): type: Annotated['PowerOutletTypeEnum', strawberry.lazy('dcim.graphql.enums')] | None = ( strawberry_django.filter_field() @@ -752,7 +752,7 @@ class PowerOutletTemplateFilter(ModularComponentModelFilterMixin): ) -@strawberry_django.filter(models.PowerPanel, lookups=True) +@strawberry_django.filter_type(models.PowerPanel, lookups=True) class PowerPanelFilter(ContactFilterMixin, ImageAttachmentFilterMixin, PrimaryModelFilterMixin): site: Annotated['SiteFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field() site_id: ID | None = strawberry_django.filter_field() @@ -765,7 +765,7 @@ class PowerPanelFilter(ContactFilterMixin, ImageAttachmentFilterMixin, PrimaryMo name: FilterLookup[str] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.PowerPort, lookups=True) +@strawberry_django.filter_type(models.PowerPort, lookups=True) class PowerPortFilter(ModularComponentModelFilterMixin, CabledObjectModelFilterMixin): type: Annotated['PowerPortTypeEnum', strawberry.lazy('dcim.graphql.enums')] | None = ( strawberry_django.filter_field() @@ -778,7 +778,7 @@ class PowerPortFilter(ModularComponentModelFilterMixin, CabledObjectModelFilterM ) -@strawberry_django.filter(models.PowerPortTemplate, lookups=True) +@strawberry_django.filter_type(models.PowerPortTemplate, lookups=True) class PowerPortTemplateFilter(ModularComponentTemplateFilterMixin): type: Annotated['PowerPortTypeEnum', strawberry.lazy('dcim.graphql.enums')] | None = ( strawberry_django.filter_field() @@ -791,7 +791,7 @@ class PowerPortTemplateFilter(ModularComponentTemplateFilterMixin): ) -@strawberry_django.filter(models.RackType, lookups=True) +@strawberry_django.filter_type(models.RackType, lookups=True) class RackTypeFilter(RackBaseFilterMixin): form_factor: Annotated['RackFormFactorEnum', strawberry.lazy('dcim.graphql.enums')] | None = ( strawberry_django.filter_field() @@ -804,7 +804,7 @@ class RackTypeFilter(RackBaseFilterMixin): slug: FilterLookup[str] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.Rack, lookups=True) +@strawberry_django.filter_type(models.Rack, lookups=True) class RackFilter(ContactFilterMixin, ImageAttachmentFilterMixin, TenancyFilterMixin, RackBaseFilterMixin): form_factor: Annotated['RackFormFactorEnum', strawberry.lazy('dcim.graphql.enums')] | None = ( strawberry_django.filter_field() @@ -836,7 +836,7 @@ class RackFilter(ContactFilterMixin, ImageAttachmentFilterMixin, TenancyFilterMi ) -@strawberry_django.filter(models.RackReservation, lookups=True) +@strawberry_django.filter_type(models.RackReservation, lookups=True) class RackReservationFilter(TenancyFilterMixin, PrimaryModelFilterMixin): rack: Annotated['RackFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field() rack_id: ID | None = strawberry_django.filter_field() @@ -848,12 +848,12 @@ class RackReservationFilter(TenancyFilterMixin, PrimaryModelFilterMixin): description: FilterLookup[str] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.RackRole, lookups=True) +@strawberry_django.filter_type(models.RackRole, lookups=True) class RackRoleFilter(OrganizationalModelFilterMixin): color: Annotated['ColorEnum', strawberry.lazy('netbox.graphql.enums')] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.RearPort, lookups=True) +@strawberry_django.filter_type(models.RearPort, lookups=True) class RearPortFilter(ModularComponentModelFilterMixin, CabledObjectModelFilterMixin): type: Annotated['PortTypeEnum', strawberry.lazy('dcim.graphql.enums')] | None = strawberry_django.filter_field() color: Annotated['ColorEnum', strawberry.lazy('netbox.graphql.enums')] | None = strawberry_django.filter_field() @@ -862,7 +862,7 @@ class RearPortFilter(ModularComponentModelFilterMixin, CabledObjectModelFilterMi ) -@strawberry_django.filter(models.RearPortTemplate, lookups=True) +@strawberry_django.filter_type(models.RearPortTemplate, lookups=True) class RearPortTemplateFilter(ModularComponentTemplateFilterMixin): type: Annotated['PortTypeEnum', strawberry.lazy('dcim.graphql.enums')] | None = strawberry_django.filter_field() color: Annotated['ColorEnum', strawberry.lazy('netbox.graphql.enums')] | None = strawberry_django.filter_field() @@ -871,7 +871,7 @@ class RearPortTemplateFilter(ModularComponentTemplateFilterMixin): ) -@strawberry_django.filter(models.Region, lookups=True) +@strawberry_django.filter_type(models.Region, lookups=True) class RegionFilter(ContactFilterMixin, NestedGroupModelFilterMixin): prefixes: Annotated['PrefixFilter', strawberry.lazy('ipam.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -881,7 +881,7 @@ class RegionFilter(ContactFilterMixin, NestedGroupModelFilterMixin): ) -@strawberry_django.filter(models.Site, lookups=True) +@strawberry_django.filter_type(models.Site, lookups=True) class SiteFilter(ContactFilterMixin, ImageAttachmentFilterMixin, TenancyFilterMixin, PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() slug: FilterLookup[str] | None = strawberry_django.filter_field() @@ -915,7 +915,7 @@ class SiteFilter(ContactFilterMixin, ImageAttachmentFilterMixin, TenancyFilterMi ) -@strawberry_django.filter(models.SiteGroup, lookups=True) +@strawberry_django.filter_type(models.SiteGroup, lookups=True) class SiteGroupFilter(ContactFilterMixin, NestedGroupModelFilterMixin): prefixes: Annotated['PrefixFilter', strawberry.lazy('ipam.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -925,7 +925,7 @@ class SiteGroupFilter(ContactFilterMixin, NestedGroupModelFilterMixin): ) -@strawberry_django.filter(models.VirtualChassis, lookups=True) +@strawberry_django.filter_type(models.VirtualChassis, lookups=True) class VirtualChassisFilter(PrimaryModelFilterMixin): master: Annotated['DeviceFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field() master_id: ID | None = strawberry_django.filter_field() @@ -937,7 +937,7 @@ class VirtualChassisFilter(PrimaryModelFilterMixin): member_count: FilterLookup[int] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.VirtualDeviceContext, lookups=True) +@strawberry_django.filter_type(models.VirtualDeviceContext, lookups=True) class VirtualDeviceContextFilter(TenancyFilterMixin, PrimaryModelFilterMixin): device: Annotated['DeviceFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field() device_id: ID | None = strawberry_django.filter_field() diff --git a/netbox/extras/graphql/filters.py b/netbox/extras/graphql/filters.py index 2798c4896..1712b7056 100644 --- a/netbox/extras/graphql/filters.py +++ b/netbox/extras/graphql/filters.py @@ -40,7 +40,7 @@ __all__ = ( ) -@strawberry_django.filter(models.ConfigContext, lookups=True) +@strawberry_django.filter_type(models.ConfigContext, lookups=True) class ConfigContextFilter(BaseObjectTypeFilterMixin, SyncedDataFilterMixin, ChangeLogFilterMixin): name: FilterLookup[str] = strawberry_django.filter_field() weight: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = ( @@ -97,7 +97,7 @@ class ConfigContextFilter(BaseObjectTypeFilterMixin, SyncedDataFilterMixin, Chan ) -@strawberry_django.filter(models.ConfigTemplate, lookups=True) +@strawberry_django.filter_type(models.ConfigTemplate, lookups=True) class ConfigTemplateFilter(BaseObjectTypeFilterMixin, SyncedDataFilterMixin, ChangeLogFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() description: FilterLookup[str] | None = strawberry_django.filter_field() @@ -111,7 +111,7 @@ class ConfigTemplateFilter(BaseObjectTypeFilterMixin, SyncedDataFilterMixin, Cha as_attachment: FilterLookup[bool] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.CustomField, lookups=True) +@strawberry_django.filter_type(models.CustomField, lookups=True) class CustomFieldFilter(BaseObjectTypeFilterMixin, ChangeLogFilterMixin): type: Annotated['CustomFieldTypeEnum', strawberry.lazy('extras.graphql.enums')] | None = ( strawberry_django.filter_field() @@ -164,7 +164,7 @@ class CustomFieldFilter(BaseObjectTypeFilterMixin, ChangeLogFilterMixin): comments: FilterLookup[str] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.CustomFieldChoiceSet, lookups=True) +@strawberry_django.filter_type(models.CustomFieldChoiceSet, lookups=True) class CustomFieldChoiceSetFilter(BaseObjectTypeFilterMixin, ChangeLogFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() description: FilterLookup[str] | None = strawberry_django.filter_field() @@ -177,7 +177,7 @@ class CustomFieldChoiceSetFilter(BaseObjectTypeFilterMixin, ChangeLogFilterMixin order_alphabetically: FilterLookup[bool] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.CustomLink, lookups=True) +@strawberry_django.filter_type(models.CustomLink, lookups=True) class CustomLinkFilter(BaseObjectTypeFilterMixin, ChangeLogFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() enabled: FilterLookup[bool] | None = strawberry_django.filter_field() @@ -193,7 +193,7 @@ class CustomLinkFilter(BaseObjectTypeFilterMixin, ChangeLogFilterMixin): new_window: FilterLookup[bool] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.ExportTemplate, lookups=True) +@strawberry_django.filter_type(models.ExportTemplate, lookups=True) class ExportTemplateFilter(BaseObjectTypeFilterMixin, SyncedDataFilterMixin, ChangeLogFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() description: FilterLookup[str] | None = strawberry_django.filter_field() @@ -207,7 +207,7 @@ class ExportTemplateFilter(BaseObjectTypeFilterMixin, SyncedDataFilterMixin, Cha as_attachment: FilterLookup[bool] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.ImageAttachment, lookups=True) +@strawberry_django.filter_type(models.ImageAttachment, lookups=True) class ImageAttachmentFilter(BaseObjectTypeFilterMixin, ChangeLogFilterMixin): object_type: Annotated['ContentTypeFilter', strawberry.lazy('core.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -222,7 +222,7 @@ class ImageAttachmentFilter(BaseObjectTypeFilterMixin, ChangeLogFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.JournalEntry, lookups=True) +@strawberry_django.filter_type(models.JournalEntry, lookups=True) class JournalEntryFilter(BaseObjectTypeFilterMixin, CustomFieldsFilterMixin, TagsFilterMixin, ChangeLogFilterMixin): assigned_object_type: Annotated['ContentTypeFilter', strawberry.lazy('core.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -238,7 +238,7 @@ class JournalEntryFilter(BaseObjectTypeFilterMixin, CustomFieldsFilterMixin, Tag comments: FilterLookup[str] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.NotificationGroup, lookups=True) +@strawberry_django.filter_type(models.NotificationGroup, lookups=True) class NotificationGroupFilter(BaseObjectTypeFilterMixin, ChangeLogFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() description: FilterLookup[str] | None = strawberry_django.filter_field() @@ -246,7 +246,7 @@ class NotificationGroupFilter(BaseObjectTypeFilterMixin, ChangeLogFilterMixin): users: Annotated['UserFilter', strawberry.lazy('users.graphql.filters')] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.SavedFilter, lookups=True) +@strawberry_django.filter_type(models.SavedFilter, lookups=True) class SavedFilterFilter(BaseObjectTypeFilterMixin, ChangeLogFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() slug: FilterLookup[str] | None = strawberry_django.filter_field() @@ -263,7 +263,7 @@ class SavedFilterFilter(BaseObjectTypeFilterMixin, ChangeLogFilterMixin): ) -@strawberry_django.filter(models.TableConfig, lookups=True) +@strawberry_django.filter_type(models.TableConfig, lookups=True) class TableConfigFilter(BaseObjectTypeFilterMixin, ChangeLogFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() description: FilterLookup[str] | None = strawberry_django.filter_field() @@ -276,13 +276,13 @@ class TableConfigFilter(BaseObjectTypeFilterMixin, ChangeLogFilterMixin): shared: FilterLookup[bool] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.Tag, lookups=True) +@strawberry_django.filter_type(models.Tag, lookups=True) class TagFilter(BaseObjectTypeFilterMixin, ChangeLogFilterMixin, TagBaseFilterMixin): color: Annotated['ColorEnum', strawberry.lazy('netbox.graphql.enums')] | None = strawberry_django.filter_field() description: FilterLookup[str] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.Webhook, lookups=True) +@strawberry_django.filter_type(models.Webhook, lookups=True) class WebhookFilter(BaseObjectTypeFilterMixin, CustomFieldsFilterMixin, TagsFilterMixin, ChangeLogFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() description: FilterLookup[str] | None = strawberry_django.filter_field() @@ -301,7 +301,7 @@ class WebhookFilter(BaseObjectTypeFilterMixin, CustomFieldsFilterMixin, TagsFilt ) -@strawberry_django.filter(models.EventRule, lookups=True) +@strawberry_django.filter_type(models.EventRule, lookups=True) class EventRuleFilter(BaseObjectTypeFilterMixin, CustomFieldsFilterMixin, TagsFilterMixin, ChangeLogFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() description: FilterLookup[str] | None = strawberry_django.filter_field() diff --git a/netbox/ipam/graphql/filters.py b/netbox/ipam/graphql/filters.py index 9d168f3d9..511d4d53c 100644 --- a/netbox/ipam/graphql/filters.py +++ b/netbox/ipam/graphql/filters.py @@ -46,7 +46,7 @@ __all__ = ( ) -@strawberry_django.filter(models.ASN, lookups=True) +@strawberry_django.filter_type(models.ASN, lookups=True) class ASNFilter(TenancyFilterMixin, PrimaryModelFilterMixin): rir: Annotated['RIRFilter', strawberry.lazy('ipam.graphql.filters')] | None = strawberry_django.filter_field() rir_id: ID | None = strawberry_django.filter_field() @@ -61,7 +61,7 @@ class ASNFilter(TenancyFilterMixin, PrimaryModelFilterMixin): ) = strawberry_django.filter_field() -@strawberry_django.filter(models.ASNRange, lookups=True) +@strawberry_django.filter_type(models.ASNRange, lookups=True) class ASNRangeFilter(TenancyFilterMixin, OrganizationalModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() slug: FilterLookup[str] | None = strawberry_django.filter_field() @@ -75,7 +75,7 @@ class ASNRangeFilter(TenancyFilterMixin, OrganizationalModelFilterMixin): ) -@strawberry_django.filter(models.Aggregate, lookups=True) +@strawberry_django.filter_type(models.Aggregate, lookups=True) class AggregateFilter(ContactFilterMixin, TenancyFilterMixin, PrimaryModelFilterMixin): prefix: Annotated['PrefixFilter', strawberry.lazy('ipam.graphql.filters')] | None = strawberry_django.filter_field() prefix_id: ID | None = strawberry_django.filter_field() @@ -84,7 +84,7 @@ class AggregateFilter(ContactFilterMixin, TenancyFilterMixin, PrimaryModelFilter date_added: DateFilterLookup[date] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.FHRPGroup, lookups=True) +@strawberry_django.filter_type(models.FHRPGroup, lookups=True) class FHRPGroupFilter(PrimaryModelFilterMixin): group_id: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = ( strawberry_django.filter_field() @@ -102,7 +102,7 @@ class FHRPGroupFilter(PrimaryModelFilterMixin): ) -@strawberry_django.filter(models.FHRPGroupAssignment, lookups=True) +@strawberry_django.filter_type(models.FHRPGroupAssignment, lookups=True) class FHRPGroupAssignmentFilter(BaseObjectTypeFilterMixin, ChangeLogFilterMixin): interface_type: Annotated['ContentTypeFilter', strawberry.lazy('core.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -117,7 +117,7 @@ class FHRPGroupAssignmentFilter(BaseObjectTypeFilterMixin, ChangeLogFilterMixin) ) -@strawberry_django.filter(models.IPAddress, lookups=True) +@strawberry_django.filter_type(models.IPAddress, lookups=True) class IPAddressFilter(ContactFilterMixin, TenancyFilterMixin, PrimaryModelFilterMixin): address: FilterLookup[str] | None = strawberry_django.filter_field() vrf: Annotated['VRFFilter', strawberry.lazy('ipam.graphql.filters')] | None = strawberry_django.filter_field() @@ -156,7 +156,7 @@ class IPAddressFilter(ContactFilterMixin, TenancyFilterMixin, PrimaryModelFilter return q -@strawberry_django.filter(models.IPRange, lookups=True) +@strawberry_django.filter_type(models.IPRange, lookups=True) class IPRangeFilter(ContactFilterMixin, TenancyFilterMixin, PrimaryModelFilterMixin): start_address: FilterLookup[str] | None = strawberry_django.filter_field() end_address: FilterLookup[str] | None = strawberry_django.filter_field() @@ -185,7 +185,7 @@ class IPRangeFilter(ContactFilterMixin, TenancyFilterMixin, PrimaryModelFilterMi return q -@strawberry_django.filter(models.Prefix, lookups=True) +@strawberry_django.filter_type(models.Prefix, lookups=True) class PrefixFilter(ContactFilterMixin, ScopedFilterMixin, TenancyFilterMixin, PrimaryModelFilterMixin): prefix: FilterLookup[str] | None = strawberry_django.filter_field() vrf: Annotated['VRFFilter', strawberry.lazy('ipam.graphql.filters')] | None = strawberry_django.filter_field() @@ -201,19 +201,19 @@ class PrefixFilter(ContactFilterMixin, ScopedFilterMixin, TenancyFilterMixin, Pr mark_utilized: FilterLookup[bool] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.RIR, lookups=True) +@strawberry_django.filter_type(models.RIR, lookups=True) class RIRFilter(OrganizationalModelFilterMixin): is_private: FilterLookup[bool] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.Role, lookups=True) +@strawberry_django.filter_type(models.Role, lookups=True) class RoleFilter(OrganizationalModelFilterMixin): weight: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = ( strawberry_django.filter_field() ) -@strawberry_django.filter(models.RouteTarget, lookups=True) +@strawberry_django.filter_type(models.RouteTarget, lookups=True) class RouteTargetFilter(TenancyFilterMixin, PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() importing_vrfs: Annotated['VRFFilter', strawberry.lazy('ipam.graphql.filters')] | None = ( @@ -230,7 +230,7 @@ class RouteTargetFilter(TenancyFilterMixin, PrimaryModelFilterMixin): ) -@strawberry_django.filter(models.Service, lookups=True) +@strawberry_django.filter_type(models.Service, lookups=True) class ServiceFilter(ContactFilterMixin, ServiceBaseFilterMixin, PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() ip_addresses: Annotated['IPAddressFilter', strawberry.lazy('ipam.graphql.filters')] | None = ( @@ -242,12 +242,12 @@ class ServiceFilter(ContactFilterMixin, ServiceBaseFilterMixin, PrimaryModelFilt parent_object_id: ID | None = strawberry_django.filter_field() -@strawberry_django.filter(models.ServiceTemplate, lookups=True) +@strawberry_django.filter_type(models.ServiceTemplate, lookups=True) class ServiceTemplateFilter(ServiceBaseFilterMixin, PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.VLAN, lookups=True) +@strawberry_django.filter_type(models.VLAN, lookups=True) class VLANFilter(TenancyFilterMixin, PrimaryModelFilterMixin): site: Annotated['SiteFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field() site_id: ID | None = strawberry_django.filter_field() @@ -277,19 +277,19 @@ class VLANFilter(TenancyFilterMixin, PrimaryModelFilterMixin): ) -@strawberry_django.filter(models.VLANGroup, lookups=True) +@strawberry_django.filter_type(models.VLANGroup, lookups=True) class VLANGroupFilter(ScopedFilterMixin, OrganizationalModelFilterMixin): vid_ranges: Annotated['IntegerArrayLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = ( strawberry_django.filter_field() ) -@strawberry_django.filter(models.VLANTranslationPolicy, lookups=True) +@strawberry_django.filter_type(models.VLANTranslationPolicy, lookups=True) class VLANTranslationPolicyFilter(PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.VLANTranslationRule, lookups=True) +@strawberry_django.filter_type(models.VLANTranslationRule, lookups=True) class VLANTranslationRuleFilter(NetBoxModelFilterMixin): policy: Annotated['VLANTranslationPolicyFilter', strawberry.lazy('ipam.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -304,7 +304,7 @@ class VLANTranslationRuleFilter(NetBoxModelFilterMixin): ) -@strawberry_django.filter(models.VRF, lookups=True) +@strawberry_django.filter_type(models.VRF, lookups=True) class VRFFilter(TenancyFilterMixin, PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() rd: FilterLookup[str] | None = strawberry_django.filter_field() diff --git a/netbox/templates/dcim/consoleserverport.html b/netbox/templates/dcim/consoleserverport.html index 72dd12a88..41d74e0eb 100644 --- a/netbox/templates/dcim/consoleserverport.html +++ b/netbox/templates/dcim/consoleserverport.html @@ -53,7 +53,6 @@

{% trans "Connection" %}

-
{% if object.mark_connected %}
diff --git a/netbox/templates/dcim/device.html b/netbox/templates/dcim/device.html index 8f27a5cc1..5bd731535 100644 --- a/netbox/templates/dcim/device.html +++ b/netbox/templates/dcim/device.html @@ -26,6 +26,12 @@ {% trans "Location" %} {% nested_tree object.location %} + {% if object.virtual_chassis %} + + {% trans "Virtual Chassis" %} + {{ object.virtual_chassis|linkify }} + + {% endif %} {% trans "Rack" %} diff --git a/netbox/tenancy/graphql/filters.py b/netbox/tenancy/graphql/filters.py index f215fd8ab..fb37359ef 100644 --- a/netbox/tenancy/graphql/filters.py +++ b/netbox/tenancy/graphql/filters.py @@ -56,7 +56,7 @@ __all__ = ( ) -@strawberry_django.filter(models.Tenant, lookups=True) +@strawberry_django.filter_type(models.Tenant, lookups=True) class TenantFilter(PrimaryModelFilterMixin, ContactFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() slug: FilterLookup[str] | None = strawberry_django.filter_field() @@ -135,7 +135,7 @@ class TenantFilter(PrimaryModelFilterMixin, ContactFilterMixin): ) -@strawberry_django.filter(models.TenantGroup, lookups=True) +@strawberry_django.filter_type(models.TenantGroup, lookups=True) class TenantGroupFilter(OrganizationalModelFilterMixin): parent: Annotated['TenantGroupFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -149,7 +149,7 @@ class TenantGroupFilter(OrganizationalModelFilterMixin): ) -@strawberry_django.filter(models.Contact, lookups=True) +@strawberry_django.filter_type(models.Contact, lookups=True) class ContactFilter(PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() title: FilterLookup[str] | None = strawberry_django.filter_field() @@ -165,19 +165,19 @@ class ContactFilter(PrimaryModelFilterMixin): ) -@strawberry_django.filter(models.ContactRole, lookups=True) +@strawberry_django.filter_type(models.ContactRole, lookups=True) class ContactRoleFilter(OrganizationalModelFilterMixin): pass -@strawberry_django.filter(models.ContactGroup, lookups=True) +@strawberry_django.filter_type(models.ContactGroup, lookups=True) class ContactGroupFilter(NestedGroupModelFilterMixin): parent: Annotated['ContactGroupFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( strawberry_django.filter_field() ) -@strawberry_django.filter(models.ContactAssignment, lookups=True) +@strawberry_django.filter_type(models.ContactAssignment, lookups=True) class ContactAssignmentFilter(CustomFieldsFilterMixin, TagsFilterMixin, ChangeLogFilterMixin): object_type: Annotated['ContentTypeFilter', strawberry.lazy('core.graphql.filters')] | None = ( strawberry_django.filter_field() diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index cf8b89645..c5348913d 100644 --- a/netbox/translations/en/LC_MESSAGES/django.po +++ b/netbox/translations/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-13 05:01+0000\n" +"POT-Creation-Date: 2025-05-16 05:02+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -436,7 +436,7 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:379 #: netbox/circuits/forms/model_forms.py:343 #: netbox/circuits/forms/model_forms.py:358 -#: netbox/circuits/tables/virtual_circuits.py:88 +#: netbox/circuits/tables/virtual_circuits.py:87 #: netbox/templates/circuits/virtualcircuit.html:20 #: netbox/templates/circuits/virtualcircuittermination.html:38 msgid "Virtual circuit" @@ -482,7 +482,7 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:1194 netbox/dcim/forms/bulk_edit.py:1239 #: netbox/dcim/forms/bulk_edit.py:1266 netbox/dcim/forms/bulk_edit.py:1284 #: netbox/dcim/forms/bulk_edit.py:1302 netbox/dcim/forms/bulk_edit.py:1320 -#: netbox/dcim/forms/bulk_edit.py:1793 netbox/dcim/forms/bulk_edit.py:1834 +#: netbox/dcim/forms/bulk_edit.py:1800 netbox/dcim/forms/bulk_edit.py:1841 #: netbox/extras/forms/bulk_edit.py:40 netbox/extras/forms/bulk_edit.py:150 #: netbox/extras/forms/bulk_edit.py:183 netbox/extras/forms/bulk_edit.py:211 #: netbox/extras/forms/bulk_edit.py:241 netbox/extras/forms/bulk_edit.py:289 @@ -511,7 +511,8 @@ msgstr "" #: netbox/templates/core/plugin.html:80 netbox/templates/dcim/cable.html:36 #: netbox/templates/dcim/consoleport.html:44 #: netbox/templates/dcim/consoleserverport.html:44 -#: netbox/templates/dcim/device.html:94 netbox/templates/dcim/devicebay.html:32 +#: netbox/templates/dcim/device.html:100 +#: netbox/templates/dcim/devicebay.html:32 #: netbox/templates/dcim/devicerole.html:30 #: netbox/templates/dcim/devicetype.html:33 #: netbox/templates/dcim/frontport.html:58 @@ -627,7 +628,7 @@ msgstr "" #: netbox/circuits/tables/providers.py:70 #: netbox/circuits/tables/providers.py:101 #: netbox/circuits/tables/virtual_circuits.py:46 -#: netbox/circuits/tables/virtual_circuits.py:93 +#: netbox/circuits/tables/virtual_circuits.py:92 #: netbox/templates/circuits/circuit.html:18 #: netbox/templates/circuits/circuitgroupassignment.html:26 #: netbox/templates/circuits/circuittermination.html:25 @@ -653,7 +654,7 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:321 netbox/dcim/forms/bulk_edit.py:216 #: netbox/dcim/forms/bulk_edit.py:656 netbox/dcim/forms/bulk_edit.py:866 #: netbox/dcim/forms/bulk_edit.py:1235 netbox/dcim/forms/bulk_edit.py:1262 -#: netbox/dcim/forms/bulk_edit.py:1789 netbox/dcim/forms/filtersets.py:1132 +#: netbox/dcim/forms/bulk_edit.py:1796 netbox/dcim/forms/filtersets.py:1132 #: netbox/dcim/forms/filtersets.py:1390 netbox/dcim/forms/filtersets.py:1543 #: netbox/dcim/forms/filtersets.py:1567 netbox/dcim/tables/devices.py:744 #: netbox/dcim/tables/devices.py:800 netbox/dcim/tables/devices.py:1041 @@ -758,7 +759,7 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:366 netbox/dcim/forms/bulk_edit.py:753 #: netbox/dcim/forms/bulk_edit.py:818 netbox/dcim/forms/bulk_edit.py:850 #: netbox/dcim/forms/bulk_edit.py:977 netbox/dcim/forms/bulk_edit.py:1770 -#: netbox/dcim/forms/bulk_edit.py:1812 netbox/dcim/forms/bulk_import.py:91 +#: netbox/dcim/forms/bulk_edit.py:1819 netbox/dcim/forms/bulk_import.py:91 #: netbox/dcim/forms/bulk_import.py:150 netbox/dcim/forms/bulk_import.py:254 #: netbox/dcim/forms/bulk_import.py:563 netbox/dcim/forms/bulk_import.py:717 #: netbox/dcim/forms/bulk_import.py:1168 netbox/dcim/forms/bulk_import.py:1375 @@ -770,7 +771,7 @@ msgstr "" #: netbox/dcim/forms/filtersets.py:1394 netbox/dcim/forms/filtersets.py:1645 #: netbox/dcim/tables/devices.py:150 netbox/dcim/tables/devices.py:524 #: netbox/dcim/tables/devices.py:855 netbox/dcim/tables/devices.py:989 -#: netbox/dcim/tables/devices.py:1101 netbox/dcim/tables/modules.py:104 +#: netbox/dcim/tables/devices.py:1100 netbox/dcim/tables/modules.py:104 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:129 #: netbox/dcim/tables/sites.py:88 netbox/dcim/tables/sites.py:143 #: netbox/ipam/forms/bulk_edit.py:240 netbox/ipam/forms/bulk_edit.py:290 @@ -787,7 +788,7 @@ msgstr "" #: netbox/templates/circuits/virtualcircuit.html:43 #: netbox/templates/core/datasource.html:46 netbox/templates/core/job.html:48 #: netbox/templates/core/rq_task.html:81 netbox/templates/core/system.html:18 -#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:178 +#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:184 #: netbox/templates/dcim/inventoryitem.html:36 #: netbox/templates/dcim/location.html:45 netbox/templates/dcim/module.html:69 #: netbox/templates/dcim/powerfeed.html:36 @@ -836,7 +837,7 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:332 netbox/dcim/forms/bulk_edit.py:131 #: netbox/dcim/forms/bulk_edit.py:196 netbox/dcim/forms/bulk_edit.py:361 #: netbox/dcim/forms/bulk_edit.py:484 netbox/dcim/forms/bulk_edit.py:743 -#: netbox/dcim/forms/bulk_edit.py:856 netbox/dcim/forms/bulk_edit.py:1817 +#: netbox/dcim/forms/bulk_edit.py:856 netbox/dcim/forms/bulk_edit.py:1824 #: netbox/dcim/forms/bulk_import.py:110 netbox/dcim/forms/bulk_import.py:155 #: netbox/dcim/forms/bulk_import.py:247 netbox/dcim/forms/bulk_import.py:362 #: netbox/dcim/forms/bulk_import.py:537 netbox/dcim/forms/bulk_import.py:1387 @@ -866,7 +867,7 @@ msgstr "" #: netbox/ipam/tables/vlans.py:207 netbox/templates/circuits/circuit.html:48 #: netbox/templates/circuits/circuitgroup.html:36 #: netbox/templates/circuits/virtualcircuit.html:47 -#: netbox/templates/dcim/cable.html:23 netbox/templates/dcim/device.html:79 +#: netbox/templates/dcim/cable.html:23 netbox/templates/dcim/device.html:85 #: netbox/templates/dcim/location.html:49 #: netbox/templates/dcim/powerfeed.html:44 netbox/templates/dcim/rack.html:32 #: netbox/templates/dcim/rackreservation.html:49 @@ -1059,7 +1060,7 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:305 #: netbox/circuits/tables/circuits.py:206 netbox/dcim/forms/model_forms.py:656 #: netbox/templates/circuits/circuitgroupassignment.html:34 -#: netbox/templates/dcim/device.html:133 +#: netbox/templates/dcim/device.html:139 #: netbox/templates/dcim/virtualchassis.html:68 #: netbox/templates/dcim/virtualchassis_edit.html:60 #: netbox/templates/ipam/inc/panels/fhrp_groups.html:26 @@ -1075,7 +1076,7 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:392 #: netbox/circuits/forms/model_forms.py:325 #: netbox/circuits/tables/virtual_circuits.py:51 -#: netbox/circuits/tables/virtual_circuits.py:99 +#: netbox/circuits/tables/virtual_circuits.py:98 msgid "Provider network" msgstr "" @@ -1103,7 +1104,7 @@ msgstr "" #: netbox/ipam/tables/ip.py:269 netbox/ipam/tables/ip.py:325 #: netbox/ipam/tables/vlans.py:101 netbox/ipam/tables/vlans.py:213 #: netbox/templates/circuits/virtualcircuittermination.html:42 -#: netbox/templates/dcim/device.html:182 +#: netbox/templates/dcim/device.html:188 #: netbox/templates/dcim/inc/panels/inventory_items.html:20 #: netbox/templates/dcim/interface.html:178 #: netbox/templates/dcim/interface.html:280 @@ -1207,11 +1208,11 @@ msgstr "" #: netbox/circuits/forms/bulk_import.py:259 #: netbox/circuits/forms/model_forms.py:368 -#: netbox/circuits/tables/virtual_circuits.py:112 +#: netbox/circuits/tables/virtual_circuits.py:111 #: netbox/dcim/forms/bulk_import.py:1268 netbox/dcim/forms/model_forms.py:1289 #: netbox/dcim/forms/model_forms.py:1558 netbox/dcim/forms/model_forms.py:1725 #: netbox/dcim/forms/model_forms.py:1760 netbox/dcim/forms/model_forms.py:1890 -#: netbox/dcim/tables/connections.py:65 netbox/dcim/tables/devices.py:1147 +#: netbox/dcim/tables/connections.py:65 netbox/dcim/tables/devices.py:1146 #: netbox/ipam/forms/bulk_import.py:324 netbox/ipam/forms/model_forms.py:290 #: netbox/ipam/forms/model_forms.py:299 netbox/ipam/tables/fhrp.py:64 #: netbox/ipam/tables/ip.py:330 netbox/ipam/tables/vlans.py:147 @@ -1350,7 +1351,7 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:82 netbox/circuits/tables/circuits.py:62 #: netbox/circuits/tables/providers.py:64 #: netbox/circuits/tables/virtual_circuits.py:55 -#: netbox/circuits/tables/virtual_circuits.py:103 +#: netbox/circuits/tables/virtual_circuits.py:102 #: netbox/templates/circuits/circuit.html:22 #: netbox/templates/circuits/provideraccount.html:24 msgid "Account" @@ -1508,7 +1509,7 @@ msgid "member ID" msgstr "" #: netbox/circuits/models/circuits.py:201 netbox/ipam/models/fhrp.py:96 -#: netbox/tenancy/models/contacts.py:133 +#: netbox/tenancy/models/contacts.py:119 msgid "priority" msgstr "" @@ -1606,7 +1607,7 @@ msgstr "" #: netbox/ipam/models/vlans.py:206 netbox/ipam/models/vlans.py:352 #: netbox/ipam/models/vrfs.py:20 netbox/ipam/models/vrfs.py:75 #: netbox/netbox/models/__init__.py:142 netbox/netbox/models/__init__.py:190 -#: netbox/tenancy/models/contacts.py:59 netbox/tenancy/models/tenants.py:19 +#: netbox/tenancy/models/contacts.py:57 netbox/tenancy/models/tenants.py:19 #: netbox/tenancy/models/tenants.py:42 netbox/users/models/permissions.py:19 #: netbox/users/models/users.py:28 netbox/virtualization/models/clusters.py:52 #: netbox/virtualization/models/virtualmachines.py:71 @@ -1856,7 +1857,7 @@ msgstr "" #: netbox/circuits/tables/circuits.py:83 netbox/circuits/tables/providers.py:46 #: netbox/circuits/tables/providers.py:80 #: netbox/circuits/tables/providers.py:105 -#: netbox/circuits/tables/virtual_circuits.py:68 +#: netbox/circuits/tables/virtual_circuits.py:67 #: netbox/dcim/tables/devices.py:1074 netbox/dcim/tables/devicetypes.py:97 #: netbox/dcim/tables/modules.py:27 netbox/dcim/tables/modules.py:68 #: netbox/dcim/tables/modules.py:107 netbox/dcim/tables/power.py:39 @@ -1929,7 +1930,7 @@ msgstr "" msgid "ASN Count" msgstr "" -#: netbox/circuits/tables/virtual_circuits.py:65 +#: netbox/circuits/tables/virtual_circuits.py:64 #: netbox/netbox/navigation/menu.py:235 #: netbox/templates/circuits/virtualcircuit.html:87 #: netbox/templates/vpn/l2vpn.html:60 netbox/templates/vpn/tunnel.html:72 @@ -1937,9 +1938,9 @@ msgstr "" msgid "Terminations" msgstr "" -#: netbox/circuits/tables/virtual_circuits.py:109 +#: netbox/circuits/tables/virtual_circuits.py:108 #: netbox/dcim/forms/bulk_edit.py:789 netbox/dcim/forms/bulk_edit.py:1343 -#: netbox/dcim/forms/bulk_edit.py:1755 netbox/dcim/forms/bulk_edit.py:1807 +#: netbox/dcim/forms/bulk_edit.py:1755 netbox/dcim/forms/bulk_edit.py:1814 #: netbox/dcim/forms/bulk_import.py:699 netbox/dcim/forms/bulk_import.py:761 #: netbox/dcim/forms/bulk_import.py:787 netbox/dcim/forms/bulk_import.py:813 #: netbox/dcim/forms/bulk_import.py:833 netbox/dcim/forms/bulk_import.py:889 @@ -1972,7 +1973,7 @@ msgstr "" #: netbox/templates/circuits/virtualcircuittermination.html:56 #: netbox/templates/dcim/consoleport.html:20 #: netbox/templates/dcim/consoleserverport.html:20 -#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:130 +#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:136 #: netbox/templates/dcim/device_edit.html:12 #: netbox/templates/dcim/devicebay.html:20 #: netbox/templates/dcim/devicebay.html:48 @@ -3047,7 +3048,7 @@ msgstr "" msgid "Reserved" msgstr "" -#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:259 +#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:265 msgid "Available" msgstr "" @@ -3088,7 +3089,7 @@ msgstr "" #: netbox/dcim/forms/model_forms.py:517 netbox/dcim/forms/model_forms.py:1207 #: netbox/dcim/forms/model_forms.py:1676 netbox/dcim/forms/object_import.py:177 #: netbox/dcim/tables/devices.py:696 netbox/dcim/tables/devices.py:906 -#: netbox/dcim/tables/devices.py:993 netbox/dcim/tables/devices.py:1153 +#: netbox/dcim/tables/devices.py:993 netbox/dcim/tables/devices.py:1152 #: netbox/extras/tables/tables.py:237 netbox/ipam/forms/bulk_import.py:568 #: netbox/ipam/forms/model_forms.py:768 netbox/ipam/tables/fhrp.py:59 #: netbox/ipam/tables/ip.py:336 netbox/ipam/tables/services.py:44 @@ -3120,14 +3121,14 @@ msgstr "" msgid "Child" msgstr "" -#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:349 +#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:355 #: netbox/templates/dcim/rack.html:133 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "" -#: netbox/dcim/choices.py:168 netbox/templates/dcim/device.html:355 +#: netbox/dcim/choices.py:168 netbox/templates/dcim/device.html:361 #: netbox/templates/dcim/rack.html:139 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 @@ -3729,7 +3730,7 @@ msgstr "" #: netbox/dcim/filtersets.py:1591 netbox/dcim/forms/filtersets.py:111 #: netbox/dcim/tables/devices.py:216 netbox/netbox/navigation/menu.py:79 -#: netbox/templates/dcim/device.html:120 +#: netbox/templates/dcim/device.html:31 netbox/templates/dcim/device.html:126 #: netbox/templates/dcim/device_edit.html:95 #: netbox/templates/dcim/virtualchassis.html:20 #: netbox/templates/dcim/virtualchassis_add.html:12 @@ -3884,7 +3885,7 @@ msgid "LAG interface (ID)" msgstr "" #: netbox/dcim/filtersets.py:1923 netbox/dcim/tables/devices.py:612 -#: netbox/dcim/tables/devices.py:1142 netbox/templates/dcim/interface.html:131 +#: netbox/dcim/tables/devices.py:1141 netbox/templates/dcim/interface.html:131 #: netbox/templates/dcim/macaddress.html:11 #: netbox/templates/dcim/macaddress.html:14 #: netbox/templates/virtualization/vminterface.html:79 @@ -3981,7 +3982,7 @@ msgstr "" #: netbox/dcim/forms/object_create.py:208 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:175 #: netbox/dcim/tables/devices.py:747 netbox/dcim/tables/devicetypes.py:253 -#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 +#: netbox/templates/dcim/device.html:49 netbox/templates/dcim/device.html:137 #: netbox/templates/dcim/modulebay.html:38 #: netbox/templates/dcim/virtualchassis.html:66 #: netbox/templates/dcim/virtualchassis_edit.html:59 @@ -4104,7 +4105,7 @@ msgstr "" #: netbox/extras/forms/bulk_import.py:238 netbox/extras/forms/filtersets.py:66 #: netbox/extras/forms/filtersets.py:160 netbox/extras/forms/filtersets.py:254 #: netbox/extras/forms/filtersets.py:284 netbox/extras/forms/model_forms.py:572 -#: netbox/ipam/forms/bulk_edit.py:193 netbox/templates/dcim/device.html:324 +#: netbox/ipam/forms/bulk_edit.py:193 netbox/templates/dcim/device.html:330 #: netbox/templates/dcim/devicetype.html:49 #: netbox/templates/dcim/moduletype.html:51 netbox/templates/dcim/rack.html:81 #: netbox/templates/dcim/racktype.html:41 @@ -4142,7 +4143,7 @@ msgid "Outer Dimensions" msgstr "" #: netbox/dcim/forms/bulk_edit.py:316 netbox/dcim/forms/model_forms.py:234 -#: netbox/dcim/forms/model_forms.py:315 netbox/templates/dcim/device.html:315 +#: netbox/dcim/forms/model_forms.py:315 netbox/templates/dcim/device.html:321 #: netbox/templates/dcim/inc/panels/racktype_dimensions.html:3 msgid "Dimensions" msgstr "" @@ -4159,7 +4160,7 @@ msgid "Rack type" msgstr "" #: netbox/dcim/forms/bulk_edit.py:384 netbox/dcim/forms/bulk_edit.py:765 -#: netbox/dcim/forms/bulk_edit.py:826 netbox/templates/dcim/device.html:104 +#: netbox/dcim/forms/bulk_edit.py:826 netbox/templates/dcim/device.html:110 #: netbox/templates/dcim/module.html:77 netbox/templates/dcim/modulebay.html:70 #: netbox/templates/dcim/rack.html:57 #: netbox/templates/virtualization/virtualmachine.html:35 @@ -4177,7 +4178,7 @@ msgstr "" #: netbox/dcim/forms/bulk_import.py:295 netbox/dcim/forms/bulk_import.py:453 #: netbox/dcim/forms/bulk_import.py:638 netbox/dcim/forms/filtersets.py:282 #: netbox/dcim/forms/filtersets.py:513 netbox/dcim/forms/filtersets.py:684 -#: netbox/dcim/forms/filtersets.py:824 netbox/templates/dcim/device.html:98 +#: netbox/dcim/forms/filtersets.py:824 netbox/templates/dcim/device.html:104 #: netbox/templates/dcim/devicetype.html:65 #: netbox/templates/dcim/moduletype.html:47 netbox/templates/dcim/rack.html:65 #: netbox/templates/dcim/racktype.html:28 @@ -4196,7 +4197,7 @@ msgstr "" #: netbox/dcim/forms/model_forms.py:583 netbox/dcim/forms/model_forms.py:861 #: netbox/dcim/forms/object_create.py:404 netbox/dcim/tables/devices.py:171 #: netbox/dcim/tables/power.py:70 netbox/dcim/tables/racks.py:225 -#: netbox/ipam/forms/filtersets.py:467 netbox/templates/dcim/device.html:30 +#: netbox/ipam/forms/filtersets.py:467 netbox/templates/dcim/device.html:36 #: netbox/templates/dcim/inc/cable_termination.html:16 #: netbox/templates/dcim/powerfeed.html:28 netbox/templates/dcim/rack.html:13 #: netbox/templates/dcim/rack/base.html:4 @@ -4239,7 +4240,7 @@ msgstr "" #: netbox/dcim/forms/model_forms.py:1083 netbox/dcim/forms/model_forms.py:1111 #: netbox/dcim/forms/model_forms.py:1142 netbox/dcim/forms/model_forms.py:1161 #: netbox/dcim/forms/model_forms.py:1179 netbox/dcim/forms/object_create.py:123 -#: netbox/dcim/tables/devicetypes.py:82 netbox/templates/dcim/device.html:88 +#: netbox/dcim/tables/devicetypes.py:82 netbox/templates/dcim/device.html:94 #: netbox/templates/dcim/devicebay.html:52 netbox/templates/dcim/module.html:61 msgid "Device Type" msgstr "" @@ -4310,7 +4311,7 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:748 netbox/dcim/forms/bulk_import.py:556 #: netbox/dcim/forms/filtersets.py:816 netbox/dcim/forms/model_forms.py:555 #: netbox/dcim/forms/model_forms.py:618 netbox/dcim/tables/devices.py:192 -#: netbox/extras/filtersets.py:656 netbox/templates/dcim/device.html:186 +#: netbox/extras/filtersets.py:656 netbox/templates/dcim/device.html:192 #: netbox/templates/dcim/platform.html:26 #: netbox/templates/virtualization/virtualmachine.html:27 #: netbox/virtualization/forms/bulk_edit.py:142 @@ -4326,7 +4327,7 @@ msgstr "" #: netbox/dcim/forms/model_forms.py:627 netbox/dcim/tables/devices.py:212 #: netbox/extras/filtersets.py:689 netbox/extras/forms/filtersets.py:364 #: netbox/ipam/forms/filtersets.py:439 netbox/ipam/forms/filtersets.py:472 -#: netbox/templates/dcim/device.html:239 +#: netbox/templates/dcim/device.html:245 #: netbox/templates/virtualization/cluster.html:10 #: netbox/templates/virtualization/virtualmachine.html:92 #: netbox/templates/virtualization/virtualmachine.html:101 @@ -5085,7 +5086,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "" #: netbox/dcim/forms/bulk_import.py:1461 netbox/dcim/forms/model_forms.py:891 -#: netbox/dcim/tables/devices.py:1065 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1065 netbox/templates/dcim/device.html:138 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -5116,7 +5117,7 @@ msgid "Single or three-phase" msgstr "" #: netbox/dcim/forms/bulk_import.py:1607 netbox/dcim/forms/model_forms.py:1847 -#: netbox/templates/dcim/device.html:190 +#: netbox/templates/dcim/device.html:196 #: netbox/templates/dcim/virtualdevicecontext.html:30 #: netbox/templates/virtualization/virtualmachine.html:52 msgid "Primary IPv4" @@ -5127,7 +5128,7 @@ msgid "IPv4 address with mask, e.g. 1.2.3.4/24" msgstr "" #: netbox/dcim/forms/bulk_import.py:1614 netbox/dcim/forms/model_forms.py:1856 -#: netbox/templates/dcim/device.html:206 +#: netbox/templates/dcim/device.html:212 #: netbox/templates/dcim/virtualdevicecontext.html:41 #: netbox/templates/virtualization/virtualmachine.html:68 msgid "Primary IPv6" @@ -5341,12 +5342,12 @@ msgstr "" msgid "A virtual chassis member already exists in position {vc_position}." msgstr "" -#: netbox/dcim/forms/mixins.py:27 netbox/dcim/forms/mixins.py:75 +#: netbox/dcim/forms/mixins.py:27 netbox/dcim/forms/mixins.py:79 #: netbox/ipam/forms/bulk_edit.py:425 netbox/ipam/forms/model_forms.py:617 msgid "Scope type" msgstr "" -#: netbox/dcim/forms/mixins.py:30 netbox/dcim/forms/mixins.py:78 +#: netbox/dcim/forms/mixins.py:30 netbox/dcim/forms/mixins.py:82 #: netbox/ipam/forms/bulk_edit.py:270 netbox/ipam/forms/bulk_edit.py:428 #: netbox/ipam/forms/bulk_edit.py:447 netbox/ipam/forms/filtersets.py:181 #: netbox/ipam/forms/model_forms.py:231 netbox/ipam/forms/model_forms.py:620 @@ -5365,7 +5366,7 @@ msgstr "" msgid "Scope" msgstr "" -#: netbox/dcim/forms/mixins.py:104 netbox/ipam/forms/bulk_import.py:452 +#: netbox/dcim/forms/mixins.py:108 netbox/ipam/forms/bulk_import.py:452 msgid "Scope type (app & model)" msgstr "" @@ -5474,7 +5475,7 @@ msgstr "" #: netbox/dcim/forms/model_forms.py:1290 netbox/dcim/forms/model_forms.py:1761 #: netbox/dcim/tables/connections.py:27 #: netbox/templates/dcim/consoleport.html:17 -#: netbox/templates/dcim/consoleserverport.html:74 +#: netbox/templates/dcim/consoleserverport.html:73 #: netbox/templates/dcim/frontport.html:112 msgid "Console Port" msgstr "" @@ -5489,7 +5490,7 @@ msgstr "" #: netbox/dcim/forms/model_forms.py:1292 netbox/dcim/forms/model_forms.py:1763 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:76 -#: netbox/templates/dcim/consoleserverport.html:77 +#: netbox/templates/dcim/consoleserverport.html:76 #: netbox/templates/dcim/frontport.html:17 #: netbox/templates/dcim/frontport.html:115 #: netbox/templates/dcim/interface.html:244 @@ -5501,7 +5502,7 @@ msgstr "" #: netbox/dcim/tables/devices.py:750 #: netbox/templates/circuits/inc/circuit_termination_fields.html:54 #: netbox/templates/dcim/consoleport.html:79 -#: netbox/templates/dcim/consoleserverport.html:80 +#: netbox/templates/dcim/consoleserverport.html:79 #: netbox/templates/dcim/frontport.html:50 #: netbox/templates/dcim/frontport.html:118 #: netbox/templates/dcim/interface.html:247 @@ -7233,7 +7234,7 @@ msgid "VMs" msgstr "" #: netbox/dcim/tables/devices.py:111 netbox/dcim/tables/devices.py:226 -#: netbox/extras/forms/model_forms.py:712 netbox/templates/dcim/device.html:112 +#: netbox/extras/forms/model_forms.py:712 netbox/templates/dcim/device.html:118 #: netbox/templates/dcim/devicerole.html:48 #: netbox/templates/dcim/platform.html:41 #: netbox/templates/extras/configtemplate.html:10 @@ -7244,7 +7245,7 @@ msgstr "" msgid "Config Template" msgstr "" -#: netbox/dcim/tables/devices.py:197 netbox/dcim/tables/devices.py:1106 +#: netbox/dcim/tables/devices.py:197 netbox/dcim/tables/devices.py:1105 #: netbox/ipam/forms/bulk_import.py:587 netbox/ipam/forms/model_forms.py:316 #: netbox/ipam/forms/model_forms.py:329 netbox/ipam/tables/ip.py:314 #: netbox/ipam/tables/ip.py:381 netbox/ipam/tables/ip.py:391 @@ -7253,12 +7254,12 @@ msgstr "" msgid "IP Address" msgstr "" -#: netbox/dcim/tables/devices.py:201 netbox/dcim/tables/devices.py:1110 +#: netbox/dcim/tables/devices.py:201 netbox/dcim/tables/devices.py:1109 #: netbox/virtualization/tables/virtualmachines.py:56 msgid "IPv4 Address" msgstr "" -#: netbox/dcim/tables/devices.py:205 netbox/dcim/tables/devices.py:1114 +#: netbox/dcim/tables/devices.py:205 netbox/dcim/tables/devices.py:1113 #: netbox/virtualization/tables/virtualmachines.py:60 msgid "IPv6 Address" msgstr "" @@ -7296,7 +7297,7 @@ msgstr "" msgid "Power outlets" msgstr "" -#: netbox/dcim/tables/devices.py:256 netbox/dcim/tables/devices.py:1119 +#: netbox/dcim/tables/devices.py:256 netbox/dcim/tables/devices.py:1118 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173 #: netbox/dcim/views.py:1473 netbox/dcim/views.py:2226 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259 @@ -7576,7 +7577,7 @@ msgid "Racks" msgstr "" #: netbox/dcim/tables/racks.py:63 netbox/dcim/tables/racks.py:145 -#: netbox/templates/dcim/device.html:318 +#: netbox/templates/dcim/device.html:324 #: netbox/templates/dcim/inc/panels/racktype_dimensions.html:14 msgid "Height" msgstr "" @@ -10645,7 +10646,7 @@ msgstr "" msgid "Defined range exceeds maximum supported size ({max_size})" msgstr "" -#: netbox/ipam/models/ip.py:721 netbox/tenancy/models/contacts.py:78 +#: netbox/ipam/models/ip.py:721 netbox/tenancy/models/contacts.py:76 msgid "address" msgstr "" @@ -10887,7 +10888,7 @@ msgstr "" #: netbox/ipam/tables/ip.py:78 netbox/ipam/tables/ip.py:222 #: netbox/ipam/tables/ip.py:281 netbox/ipam/tables/vlans.py:55 -#: netbox/templates/dcim/device.html:260 +#: netbox/templates/dcim/device.html:266 #: netbox/templates/ipam/aggregate.html:24 #: netbox/templates/ipam/iprange.html:37 netbox/templates/ipam/prefix.html:102 msgid "Utilization" @@ -11170,7 +11171,7 @@ msgstr "" msgid "Tab" msgstr "" -#: netbox/netbox/choices.py:193 netbox/templates/dcim/device.html:327 +#: netbox/netbox/choices.py:193 netbox/templates/dcim/device.html:333 #: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "" @@ -11179,7 +11180,7 @@ msgstr "" msgid "Grams" msgstr "" -#: netbox/netbox/choices.py:195 netbox/templates/dcim/device.html:328 +#: netbox/netbox/choices.py:195 netbox/templates/dcim/device.html:334 #: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "" @@ -11527,7 +11528,7 @@ msgstr "" msgid "Modules" msgstr "" -#: netbox/netbox/navigation/menu.py:80 netbox/templates/dcim/device.html:160 +#: netbox/netbox/navigation/menu.py:80 netbox/templates/dcim/device.html:166 #: netbox/templates/dcim/virtualdevicecontext.html:8 msgid "Virtual Device Contexts" msgstr "" @@ -11605,7 +11606,7 @@ msgstr "" msgid "Service Templates" msgstr "" -#: netbox/netbox/navigation/menu.py:213 netbox/templates/dcim/device.html:302 +#: netbox/netbox/navigation/menu.py:213 netbox/templates/dcim/device.html:308 #: netbox/templates/ipam/ipaddress.html:118 #: netbox/templates/virtualization/virtualmachine.html:154 msgid "Services" @@ -12043,6 +12044,7 @@ msgid "Toggle all" msgstr "" #: netbox/netbox/tables/columns.py:307 +#: netbox/templates/inc/table_controls_htmx.html:35 msgid "Toggle Dropdown" msgstr "" @@ -12507,7 +12509,7 @@ msgstr "" #: netbox/templates/circuits/inc/circuit_termination_fields.html:20 #: netbox/templates/dcim/consoleport.html:59 -#: netbox/templates/dcim/consoleserverport.html:60 +#: netbox/templates/dcim/consoleserverport.html:59 #: netbox/templates/dcim/powerfeed.html:114 msgid "Marked as connected" msgstr "" @@ -12551,7 +12553,7 @@ msgstr "" #: netbox/templates/circuits/inc/circuit_termination_fields.html:49 #: netbox/templates/dcim/consoleport.html:69 -#: netbox/templates/dcim/consoleserverport.html:70 +#: netbox/templates/dcim/consoleserverport.html:69 #: netbox/templates/dcim/frontport.html:102 #: netbox/templates/dcim/interface.html:237 #: netbox/templates/dcim/interface.html:257 @@ -13070,7 +13072,7 @@ msgid "Rename Selected" msgstr "" #: netbox/templates/dcim/consoleport.html:65 -#: netbox/templates/dcim/consoleserverport.html:66 +#: netbox/templates/dcim/consoleserverport.html:65 #: netbox/templates/dcim/frontport.html:98 #: netbox/templates/dcim/interface.html:233 #: netbox/templates/dcim/poweroutlet.html:83 @@ -13078,86 +13080,86 @@ msgstr "" msgid "Not Connected" msgstr "" -#: netbox/templates/dcim/device.html:34 +#: netbox/templates/dcim/device.html:40 msgid "Highlight device in rack" msgstr "" -#: netbox/templates/dcim/device.html:55 +#: netbox/templates/dcim/device.html:61 msgid "Not racked" msgstr "" -#: netbox/templates/dcim/device.html:62 netbox/templates/dcim/site.html:94 +#: netbox/templates/dcim/device.html:68 netbox/templates/dcim/site.html:94 msgid "GPS Coordinates" msgstr "" -#: netbox/templates/dcim/device.html:68 netbox/templates/dcim/site.html:81 +#: netbox/templates/dcim/device.html:74 netbox/templates/dcim/site.html:81 #: netbox/templates/dcim/site.html:100 msgid "Map" msgstr "" -#: netbox/templates/dcim/device.html:108 +#: netbox/templates/dcim/device.html:114 #: netbox/templates/dcim/inventoryitem.html:60 #: netbox/templates/dcim/module.html:81 netbox/templates/dcim/modulebay.html:74 #: netbox/templates/dcim/rack.html:61 msgid "Asset Tag" msgstr "" -#: netbox/templates/dcim/device.html:123 +#: netbox/templates/dcim/device.html:129 msgid "View Virtual Chassis" msgstr "" -#: netbox/templates/dcim/device.html:164 +#: netbox/templates/dcim/device.html:170 msgid "Create VDC" msgstr "" -#: netbox/templates/dcim/device.html:175 +#: netbox/templates/dcim/device.html:181 #: netbox/templates/dcim/device_edit.html:66 #: netbox/virtualization/forms/model_forms.py:230 msgid "Management" msgstr "" -#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211 -#: netbox/templates/dcim/device.html:227 +#: netbox/templates/dcim/device.html:201 netbox/templates/dcim/device.html:217 +#: netbox/templates/dcim/device.html:233 #: netbox/templates/virtualization/virtualmachine.html:57 #: netbox/templates/virtualization/virtualmachine.html:73 msgid "NAT for" msgstr "" -#: netbox/templates/dcim/device.html:197 netbox/templates/dcim/device.html:213 -#: netbox/templates/dcim/device.html:229 +#: netbox/templates/dcim/device.html:203 netbox/templates/dcim/device.html:219 +#: netbox/templates/dcim/device.html:235 #: netbox/templates/virtualization/virtualmachine.html:59 #: netbox/templates/virtualization/virtualmachine.html:75 msgid "NAT" msgstr "" -#: netbox/templates/dcim/device.html:252 netbox/templates/dcim/rack.html:73 +#: netbox/templates/dcim/device.html:258 netbox/templates/dcim/rack.html:73 msgid "Power Utilization" msgstr "" -#: netbox/templates/dcim/device.html:256 +#: netbox/templates/dcim/device.html:262 msgid "Input" msgstr "" -#: netbox/templates/dcim/device.html:257 +#: netbox/templates/dcim/device.html:263 msgid "Outlets" msgstr "" -#: netbox/templates/dcim/device.html:258 +#: netbox/templates/dcim/device.html:264 msgid "Allocated" msgstr "" -#: netbox/templates/dcim/device.html:268 netbox/templates/dcim/device.html:270 -#: netbox/templates/dcim/device.html:286 +#: netbox/templates/dcim/device.html:274 netbox/templates/dcim/device.html:276 +#: netbox/templates/dcim/device.html:292 #: netbox/templates/dcim/powerfeed.html:67 msgid "VA" msgstr "" -#: netbox/templates/dcim/device.html:280 +#: netbox/templates/dcim/device.html:286 msgctxt "Leg of a power feed" msgid "Leg" msgstr "" -#: netbox/templates/dcim/device.html:306 +#: netbox/templates/dcim/device.html:312 #: netbox/templates/virtualization/virtualmachine.html:158 msgid "Add a service" msgstr "" @@ -15189,63 +15191,55 @@ msgstr "" msgid "Assigned contact" msgstr "" -#: netbox/tenancy/models/contacts.py:33 +#: netbox/tenancy/models/contacts.py:32 msgid "contact group" msgstr "" -#: netbox/tenancy/models/contacts.py:34 +#: netbox/tenancy/models/contacts.py:33 msgid "contact groups" msgstr "" -#: netbox/tenancy/models/contacts.py:43 +#: netbox/tenancy/models/contacts.py:42 msgid "contact role" msgstr "" -#: netbox/tenancy/models/contacts.py:44 +#: netbox/tenancy/models/contacts.py:43 msgid "contact roles" msgstr "" -#: netbox/tenancy/models/contacts.py:64 +#: netbox/tenancy/models/contacts.py:62 msgid "title" msgstr "" -#: netbox/tenancy/models/contacts.py:69 +#: netbox/tenancy/models/contacts.py:67 msgid "phone" msgstr "" -#: netbox/tenancy/models/contacts.py:74 +#: netbox/tenancy/models/contacts.py:72 msgid "email" msgstr "" -#: netbox/tenancy/models/contacts.py:83 +#: netbox/tenancy/models/contacts.py:81 msgid "link" msgstr "" -#: netbox/tenancy/models/contacts.py:93 +#: netbox/tenancy/models/contacts.py:91 msgid "contact" msgstr "" -#: netbox/tenancy/models/contacts.py:94 +#: netbox/tenancy/models/contacts.py:92 msgid "contacts" msgstr "" -#: netbox/tenancy/models/contacts.py:108 -msgid "contact group membership" -msgstr "" - -#: netbox/tenancy/models/contacts.py:109 -msgid "contact group memberships" -msgstr "" - -#: netbox/tenancy/models/contacts.py:153 +#: netbox/tenancy/models/contacts.py:139 msgid "contact assignment" msgstr "" -#: netbox/tenancy/models/contacts.py:154 +#: netbox/tenancy/models/contacts.py:140 msgid "contact assignments" msgstr "" -#: netbox/tenancy/models/contacts.py:170 +#: netbox/tenancy/models/contacts.py:156 #, python-brace-format msgid "Contacts cannot be assigned to this object type ({type})." msgstr "" diff --git a/netbox/users/graphql/filters.py b/netbox/users/graphql/filters.py index 8f8a8f946..60a80181b 100644 --- a/netbox/users/graphql/filters.py +++ b/netbox/users/graphql/filters.py @@ -14,13 +14,13 @@ __all__ = ( ) -@strawberry_django.filter(models.Group, lookups=True) +@strawberry_django.filter_type(models.Group, lookups=True) class GroupFilter(BaseObjectTypeFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() description: FilterLookup[str] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.User, lookups=True) +@strawberry_django.filter_type(models.User, lookups=True) class UserFilter(BaseObjectTypeFilterMixin): username: FilterLookup[str] | None = strawberry_django.filter_field() first_name: FilterLookup[str] | None = strawberry_django.filter_field() diff --git a/netbox/virtualization/graphql/filters.py b/netbox/virtualization/graphql/filters.py index 2a09e86d1..a10ade5a2 100644 --- a/netbox/virtualization/graphql/filters.py +++ b/netbox/virtualization/graphql/filters.py @@ -39,7 +39,7 @@ __all__ = ( ) -@strawberry_django.filter(models.Cluster, lookups=True) +@strawberry_django.filter_type(models.Cluster, lookups=True) class ClusterFilter(ContactFilterMixin, ScopedFilterMixin, TenancyFilterMixin, PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() type: Annotated['ClusterTypeFilter', strawberry.lazy('virtualization.graphql.filters')] | None = ( @@ -58,19 +58,19 @@ class ClusterFilter(ContactFilterMixin, ScopedFilterMixin, TenancyFilterMixin, P ) -@strawberry_django.filter(models.ClusterGroup, lookups=True) +@strawberry_django.filter_type(models.ClusterGroup, lookups=True) class ClusterGroupFilter(ContactFilterMixin, OrganizationalModelFilterMixin): vlan_groups: Annotated['VLANGroupFilter', strawberry.lazy('ipam.graphql.filters')] | None = ( strawberry_django.filter_field() ) -@strawberry_django.filter(models.ClusterType, lookups=True) +@strawberry_django.filter_type(models.ClusterType, lookups=True) class ClusterTypeFilter(OrganizationalModelFilterMixin): pass -@strawberry_django.filter(models.VirtualMachine, lookups=True) +@strawberry_django.filter_type(models.VirtualMachine, lookups=True) class VirtualMachineFilter( ContactFilterMixin, ImageAttachmentFilterMixin, @@ -130,7 +130,7 @@ class VirtualMachineFilter( ) -@strawberry_django.filter(models.VMInterface, lookups=True) +@strawberry_django.filter_type(models.VMInterface, lookups=True) class VMInterfaceFilter(VMComponentFilterMixin, InterfaceBaseFilterMixin): ip_addresses: Annotated['IPAddressFilter', strawberry.lazy('ipam.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -155,7 +155,7 @@ class VMInterfaceFilter(VMComponentFilterMixin, InterfaceBaseFilterMixin): ) -@strawberry_django.filter(models.VirtualDisk, lookups=True) +@strawberry_django.filter_type(models.VirtualDisk, lookups=True) class VirtualDiskFilter(VMComponentFilterMixin): size: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = ( strawberry_django.filter_field() diff --git a/netbox/vpn/graphql/filters.py b/netbox/vpn/graphql/filters.py index f3ee290fe..21adcd100 100644 --- a/netbox/vpn/graphql/filters.py +++ b/netbox/vpn/graphql/filters.py @@ -31,12 +31,12 @@ __all__ = ( ) -@strawberry_django.filter(models.TunnelGroup, lookups=True) +@strawberry_django.filter_type(models.TunnelGroup, lookups=True) class TunnelGroupFilter(OrganizationalModelFilterMixin): pass -@strawberry_django.filter(models.TunnelTermination, lookups=True) +@strawberry_django.filter_type(models.TunnelTermination, lookups=True) class TunnelTerminationFilter( BaseObjectTypeFilterMixin, CustomFieldsFilterMixin, TagsFilterMixin, ChangeLogFilterMixin ): @@ -56,7 +56,7 @@ class TunnelTerminationFilter( outside_ip_id: ID | None = strawberry_django.filter_field() -@strawberry_django.filter(models.Tunnel, lookups=True) +@strawberry_django.filter_type(models.Tunnel, lookups=True) class TunnelFilter(TenancyFilterMixin, PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() status: Annotated['TunnelStatusEnum', strawberry.lazy('vpn.graphql.enums')] | None = ( @@ -80,7 +80,7 @@ class TunnelFilter(TenancyFilterMixin, PrimaryModelFilterMixin): ) -@strawberry_django.filter(models.IKEProposal, lookups=True) +@strawberry_django.filter_type(models.IKEProposal, lookups=True) class IKEProposalFilter(PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() authentication_method: Annotated['AuthenticationMethodEnum', strawberry.lazy('vpn.graphql.enums')] | None = ( @@ -101,7 +101,7 @@ class IKEProposalFilter(PrimaryModelFilterMixin): ) -@strawberry_django.filter(models.IKEPolicy, lookups=True) +@strawberry_django.filter_type(models.IKEPolicy, lookups=True) class IKEPolicyFilter(PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() version: Annotated['IKEVersionEnum', strawberry.lazy('vpn.graphql.enums')] | None = strawberry_django.filter_field() @@ -112,7 +112,7 @@ class IKEPolicyFilter(PrimaryModelFilterMixin): preshared_key: FilterLookup[str] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.IPSecProposal, lookups=True) +@strawberry_django.filter_type(models.IPSecProposal, lookups=True) class IPSecProposalFilter(PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() encryption_algorithm: Annotated['EncryptionAlgorithmEnum', strawberry.lazy('vpn.graphql.enums')] | None = ( @@ -132,7 +132,7 @@ class IPSecProposalFilter(PrimaryModelFilterMixin): ) -@strawberry_django.filter(models.IPSecPolicy, lookups=True) +@strawberry_django.filter_type(models.IPSecPolicy, lookups=True) class IPSecPolicyFilter(PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() proposals: Annotated['IPSecProposalFilter', strawberry.lazy('vpn.graphql.filters')] | None = ( @@ -141,7 +141,7 @@ class IPSecPolicyFilter(PrimaryModelFilterMixin): pfs_group: Annotated['DHGroupEnum', strawberry.lazy('vpn.graphql.enums')] | None = strawberry_django.filter_field() -@strawberry_django.filter(models.IPSecProfile, lookups=True) +@strawberry_django.filter_type(models.IPSecProfile, lookups=True) class IPSecProfileFilter(PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() mode: Annotated['IPSecModeEnum', strawberry.lazy('vpn.graphql.enums')] | None = strawberry_django.filter_field() @@ -155,7 +155,7 @@ class IPSecProfileFilter(PrimaryModelFilterMixin): ipsec_policy_id: ID | None = strawberry_django.filter_field() -@strawberry_django.filter(models.L2VPN, lookups=True) +@strawberry_django.filter_type(models.L2VPN, lookups=True) class L2VPNFilter(ContactFilterMixin, TenancyFilterMixin, PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() slug: FilterLookup[str] | None = strawberry_django.filter_field() @@ -174,7 +174,7 @@ class L2VPNFilter(ContactFilterMixin, TenancyFilterMixin, PrimaryModelFilterMixi ) -@strawberry_django.filter(models.L2VPNTermination, lookups=True) +@strawberry_django.filter_type(models.L2VPNTermination, lookups=True) class L2VPNTerminationFilter(NetBoxModelFilterMixin): l2vpn: Annotated['L2VPNFilter', strawberry.lazy('vpn.graphql.filters')] | None = strawberry_django.filter_field() l2vpn_id: ID | None = strawberry_django.filter_field() diff --git a/netbox/wireless/graphql/filters.py b/netbox/wireless/graphql/filters.py index d71af7ae2..5bd22afab 100644 --- a/netbox/wireless/graphql/filters.py +++ b/netbox/wireless/graphql/filters.py @@ -23,12 +23,12 @@ __all__ = ( ) -@strawberry_django.filter(models.WirelessLANGroup, lookups=True) +@strawberry_django.filter_type(models.WirelessLANGroup, lookups=True) class WirelessLANGroupFilter(NestedGroupModelFilterMixin): pass -@strawberry_django.filter(models.WirelessLAN, lookups=True) +@strawberry_django.filter_type(models.WirelessLAN, lookups=True) class WirelessLANFilter( WirelessAuthenticationBaseFilterMixin, ScopedFilterMixin, @@ -47,7 +47,7 @@ class WirelessLANFilter( vlan_id: ID | None = strawberry_django.filter_field() -@strawberry_django.filter(models.WirelessLink, lookups=True) +@strawberry_django.filter_type(models.WirelessLink, lookups=True) class WirelessLinkFilter( WirelessAuthenticationBaseFilterMixin, DistanceFilterMixin,