diff --git a/netbox/ipam/filters.py b/netbox/ipam/filters.py index 23a7bdfa5..b16a9ba90 100644 --- a/netbox/ipam/filters.py +++ b/netbox/ipam/filters.py @@ -183,7 +183,7 @@ class PrefixFilter(CustomFieldFilterSet, django_filters.FilterSet): return queryset try: query = str(IPNetwork(value).cidr) - return queryset.filter(prefix__net_contained_or_equal=query) + return queryset.filter(prefix__net_contained=query) except (AddrFormatError, ValueError): return queryset.none() diff --git a/netbox/ipam/views.py b/netbox/ipam/views.py index 48e7e8478..a6b282469 100644 --- a/netbox/ipam/views.py +++ b/netbox/ipam/views.py @@ -492,6 +492,7 @@ class PrefixView(View): 'site', 'vlan', 'role', ).annotate_depth(limit=0) if child_prefixes: + child_prefix_count = len(child_prefixes) child_prefixes = add_available_prefixes(prefix.prefix, child_prefixes) child_prefix_table = tables.PrefixDetailTable(child_prefixes) if request.user.has_perm('ipam.change_prefix') or request.user.has_perm('ipam.delete_prefix'): @@ -519,6 +520,8 @@ class PrefixView(View): 'duplicate_prefix_table': duplicate_prefix_table, 'permissions': permissions, 'return_url': prefix.get_absolute_url(), + 'bulk_querystring': 'parent={}'.format(prefix.prefix), + 'obj_num': child_prefix_count, }) diff --git a/netbox/templates/utilities/obj_table.html b/netbox/templates/utilities/obj_table.html index 058c7ef07..38fd52d6a 100644 --- a/netbox/templates/utilities/obj_table.html +++ b/netbox/templates/utilities/obj_table.html @@ -9,7 +9,7 @@