mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-14 01:41:22 -06:00
Fixes #12184: Fix filtered bulk deletion for various models
This commit is contained in:
parent
63a0ec7a79
commit
085cfc58f4
@ -14,6 +14,7 @@
|
|||||||
* [#12084](https://github.com/netbox-community/netbox/issues/12084) - Fix exception when attempting to create a saved filter for applied filters
|
* [#12084](https://github.com/netbox-community/netbox/issues/12084) - Fix exception when attempting to create a saved filter for applied filters
|
||||||
* [#12087](https://github.com/netbox-community/netbox/issues/12087) - Fix bulk editing of many-to-many relationships
|
* [#12087](https://github.com/netbox-community/netbox/issues/12087) - Fix bulk editing of many-to-many relationships
|
||||||
* [#12117](https://github.com/netbox-community/netbox/issues/12117) - Hide clone button for objects with no clonable attributes
|
* [#12117](https://github.com/netbox-community/netbox/issues/12117) - Hide clone button for objects with no clonable attributes
|
||||||
|
* [#12184](https://github.com/netbox-community/netbox/issues/12184) - Fix filtered bulk deletion for various models
|
||||||
* [#12190](https://github.com/netbox-community/netbox/issues/12190) - Fix form layout for plugin textarea fields
|
* [#12190](https://github.com/netbox-community/netbox/issues/12190) - Fix form layout for plugin textarea fields
|
||||||
|
|
||||||
---
|
---
|
||||||
|
@ -196,6 +196,7 @@ class CircuitTypeBulkDeleteView(generic.BulkDeleteView):
|
|||||||
queryset = CircuitType.objects.annotate(
|
queryset = CircuitType.objects.annotate(
|
||||||
circuit_count=count_related(Circuit, 'type')
|
circuit_count=count_related(Circuit, 'type')
|
||||||
)
|
)
|
||||||
|
filterset = filtersets.CircuitTypeFilterSet
|
||||||
table = tables.CircuitTypeTable
|
table = tables.CircuitTypeTable
|
||||||
|
|
||||||
|
|
||||||
|
@ -628,6 +628,7 @@ class RackRoleBulkDeleteView(generic.BulkDeleteView):
|
|||||||
queryset = RackRole.objects.annotate(
|
queryset = RackRole.objects.annotate(
|
||||||
rack_count=count_related(Rack, 'role')
|
rack_count=count_related(Rack, 'role')
|
||||||
)
|
)
|
||||||
|
filterset = filtersets.RackRoleFilterSet
|
||||||
table = tables.RackRoleTable
|
table = tables.RackRoleTable
|
||||||
|
|
||||||
|
|
||||||
@ -909,6 +910,7 @@ class ManufacturerBulkDeleteView(generic.BulkDeleteView):
|
|||||||
queryset = Manufacturer.objects.annotate(
|
queryset = Manufacturer.objects.annotate(
|
||||||
devicetype_count=count_related(DeviceType, 'manufacturer')
|
devicetype_count=count_related(DeviceType, 'manufacturer')
|
||||||
)
|
)
|
||||||
|
filterset = filtersets.ManufacturerFilterSet
|
||||||
table = tables.ManufacturerTable
|
table = tables.ManufacturerTable
|
||||||
|
|
||||||
|
|
||||||
@ -1808,6 +1810,7 @@ class DeviceRoleBulkDeleteView(generic.BulkDeleteView):
|
|||||||
device_count=count_related(Device, 'device_role'),
|
device_count=count_related(Device, 'device_role'),
|
||||||
vm_count=count_related(VirtualMachine, 'role')
|
vm_count=count_related(VirtualMachine, 'role')
|
||||||
)
|
)
|
||||||
|
filterset = filtersets.DeviceRoleFilterSet
|
||||||
table = tables.DeviceRoleTable
|
table = tables.DeviceRoleTable
|
||||||
|
|
||||||
|
|
||||||
@ -1868,6 +1871,7 @@ class PlatformBulkEditView(generic.BulkEditView):
|
|||||||
|
|
||||||
class PlatformBulkDeleteView(generic.BulkDeleteView):
|
class PlatformBulkDeleteView(generic.BulkDeleteView):
|
||||||
queryset = Platform.objects.all()
|
queryset = Platform.objects.all()
|
||||||
|
filterset = filtersets.PlatformFilterSet
|
||||||
table = tables.PlatformTable
|
table = tables.PlatformTable
|
||||||
|
|
||||||
|
|
||||||
@ -2981,6 +2985,7 @@ class InventoryItemBulkRenameView(generic.BulkRenameView):
|
|||||||
|
|
||||||
class InventoryItemBulkDeleteView(generic.BulkDeleteView):
|
class InventoryItemBulkDeleteView(generic.BulkDeleteView):
|
||||||
queryset = InventoryItem.objects.all()
|
queryset = InventoryItem.objects.all()
|
||||||
|
filterset = filtersets.InventoryItemFilterSet
|
||||||
table = tables.InventoryItemTable
|
table = tables.InventoryItemTable
|
||||||
template_name = 'dcim/inventoryitem_bulk_delete.html'
|
template_name = 'dcim/inventoryitem_bulk_delete.html'
|
||||||
|
|
||||||
@ -3038,6 +3043,7 @@ class InventoryItemRoleBulkDeleteView(generic.BulkDeleteView):
|
|||||||
queryset = InventoryItemRole.objects.annotate(
|
queryset = InventoryItemRole.objects.annotate(
|
||||||
inventoryitem_count=count_related(InventoryItem, 'role'),
|
inventoryitem_count=count_related(InventoryItem, 'role'),
|
||||||
)
|
)
|
||||||
|
filterset = filtersets.InventoryItemRoleFilterSet
|
||||||
table = tables.InventoryItemRoleTable
|
table = tables.InventoryItemRoleTable
|
||||||
|
|
||||||
|
|
||||||
|
@ -414,6 +414,7 @@ class ConfigContextDeleteView(generic.ObjectDeleteView):
|
|||||||
|
|
||||||
class ConfigContextBulkDeleteView(generic.BulkDeleteView):
|
class ConfigContextBulkDeleteView(generic.BulkDeleteView):
|
||||||
queryset = ConfigContext.objects.all()
|
queryset = ConfigContext.objects.all()
|
||||||
|
filterset = filtersets.ConfigContextFilterSet
|
||||||
table = tables.ConfigContextTable
|
table = tables.ConfigContextTable
|
||||||
|
|
||||||
|
|
||||||
|
@ -431,6 +431,7 @@ class RoleBulkEditView(generic.BulkEditView):
|
|||||||
|
|
||||||
class RoleBulkDeleteView(generic.BulkDeleteView):
|
class RoleBulkDeleteView(generic.BulkDeleteView):
|
||||||
queryset = Role.objects.all()
|
queryset = Role.objects.all()
|
||||||
|
filterset = filtersets.RoleFilterSet
|
||||||
table = tables.RoleTable
|
table = tables.RoleTable
|
||||||
|
|
||||||
|
|
||||||
|
@ -16,7 +16,6 @@ from django_tables2.export import TableExport
|
|||||||
|
|
||||||
from extras.models import ExportTemplate
|
from extras.models import ExportTemplate
|
||||||
from extras.signals import clear_webhooks
|
from extras.signals import clear_webhooks
|
||||||
from utilities.choices import ImportFormatChoices
|
|
||||||
from utilities.error_handlers import handle_protectederror
|
from utilities.error_handlers import handle_protectederror
|
||||||
from utilities.exceptions import AbortRequest, AbortTransaction, PermissionsViolation
|
from utilities.exceptions import AbortRequest, AbortTransaction, PermissionsViolation
|
||||||
from utilities.forms import BulkRenameForm, ConfirmationForm, ImportForm, restrict_form_fields
|
from utilities.forms import BulkRenameForm, ConfirmationForm, ImportForm, restrict_form_fields
|
||||||
|
@ -84,6 +84,7 @@ class TenantGroupBulkDeleteView(generic.BulkDeleteView):
|
|||||||
'tenant_count',
|
'tenant_count',
|
||||||
cumulative=True
|
cumulative=True
|
||||||
)
|
)
|
||||||
|
filterset = filtersets.TenantGroupFilterSet
|
||||||
table = tables.TenantGroupTable
|
table = tables.TenantGroupTable
|
||||||
|
|
||||||
|
|
||||||
@ -247,6 +248,7 @@ class ContactGroupBulkDeleteView(generic.BulkDeleteView):
|
|||||||
'contact_count',
|
'contact_count',
|
||||||
cumulative=True
|
cumulative=True
|
||||||
)
|
)
|
||||||
|
filterset = filtersets.ContactGroupFilterSet
|
||||||
table = tables.ContactGroupTable
|
table = tables.ContactGroupTable
|
||||||
|
|
||||||
|
|
||||||
@ -305,6 +307,7 @@ class ContactRoleBulkEditView(generic.BulkEditView):
|
|||||||
|
|
||||||
class ContactRoleBulkDeleteView(generic.BulkDeleteView):
|
class ContactRoleBulkDeleteView(generic.BulkDeleteView):
|
||||||
queryset = ContactRole.objects.all()
|
queryset = ContactRole.objects.all()
|
||||||
|
filterset = filtersets.ContactRoleFilterSet
|
||||||
table = tables.ContactRoleTable
|
table = tables.ContactRoleTable
|
||||||
|
|
||||||
|
|
||||||
|
@ -80,6 +80,7 @@ class ClusterTypeBulkDeleteView(generic.BulkDeleteView):
|
|||||||
queryset = ClusterType.objects.annotate(
|
queryset = ClusterType.objects.annotate(
|
||||||
cluster_count=count_related(Cluster, 'type')
|
cluster_count=count_related(Cluster, 'type')
|
||||||
)
|
)
|
||||||
|
filterset = filtersets.ClusterTypeFilterSet
|
||||||
table = tables.ClusterTypeTable
|
table = tables.ClusterTypeTable
|
||||||
|
|
||||||
|
|
||||||
@ -147,6 +148,7 @@ class ClusterGroupBulkDeleteView(generic.BulkDeleteView):
|
|||||||
queryset = ClusterGroup.objects.annotate(
|
queryset = ClusterGroup.objects.annotate(
|
||||||
cluster_count=count_related(Cluster, 'group')
|
cluster_count=count_related(Cluster, 'group')
|
||||||
)
|
)
|
||||||
|
filterset = filtersets.ClusterGroupFilterSet
|
||||||
table = tables.ClusterGroupTable
|
table = tables.ClusterGroupTable
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user