diff --git a/netbox/dcim/filters.py b/netbox/dcim/filters.py index 54a7af4e2..2ff9dfe47 100644 --- a/netbox/dcim/filters.py +++ b/netbox/dcim/filters.py @@ -10,6 +10,7 @@ from django.db.models import Q from extras.filters import CustomFieldFilterSet from tenancy.models import Tenant from utilities.filters import NullableCharFieldFilter, NullableModelMultipleChoiceFilter, NumericInFilter +from virtualization.models import Cluster from .models import ( ConsolePort, ConsolePortTemplate, ConsoleServerPort, ConsoleServerPortTemplate, Device, DeviceBay, DeviceBayTemplate, DeviceRole, DeviceType, STATUS_CHOICES, IFACE_FF_LAG, Interface, InterfaceConnection, @@ -407,6 +408,10 @@ class DeviceFilter(CustomFieldFilterSet, django_filters.FilterSet): queryset=Rack.objects.all(), label='Rack (ID)', ) + cluster_id = NullableModelMultipleChoiceFilter( + queryset=Cluster.objects.all(), + label='VM cluster (ID)', + ) model = django_filters.ModelMultipleChoiceFilter( name='device_type__slug', queryset=DeviceType.objects.all(), diff --git a/netbox/templates/utilities/obj_bulk_remove.html b/netbox/templates/utilities/obj_bulk_remove.html new file mode 100644 index 000000000..a850cf914 --- /dev/null +++ b/netbox/templates/utilities/obj_bulk_remove.html @@ -0,0 +1,38 @@ +{% extends '_base.html' %} +{% load helpers %} + +{% block title %}Remove {{ table.rows|length }} {{ obj_type_plural|bettertitle }}?{% endblock %} + +{% block content %} +