diff --git a/netbox/ipam/views.py b/netbox/ipam/views.py index 3a4c36173..0ba9903b8 100644 --- a/netbox/ipam/views.py +++ b/netbox/ipam/views.py @@ -504,8 +504,9 @@ class PrefixPrefixesView(View): ).annotate_depth(limit=0) # Annotate available prefixes - if child_prefixes: - child_prefixes = add_available_prefixes(prefix.prefix, child_prefixes) + if request.GET.get('show_available', None): + if child_prefixes: + child_prefixes = add_available_prefixes(prefix.prefix, child_prefixes) prefix_table = tables.PrefixDetailTable(child_prefixes) if request.user.has_perm('ipam.change_prefix') or request.user.has_perm('ipam.delete_prefix'): @@ -544,7 +545,8 @@ class PrefixIPAddressesView(View): ipaddresses = prefix.get_child_ips().select_related( 'vrf', 'interface__device', 'primary_ip4_for', 'primary_ip6_for' ) - ipaddresses = add_available_ipaddresses(prefix.prefix, ipaddresses, prefix.is_pool) + if request.GET.get('show_available', None): + ipaddresses = add_available_ipaddresses(prefix.prefix, ipaddresses, prefix.is_pool) ip_table = tables.IPAddressTable(ipaddresses) if request.user.has_perm('ipam.change_ipaddress') or request.user.has_perm('ipam.delete_ipaddress'): diff --git a/netbox/templates/ipam/prefix.html b/netbox/templates/ipam/prefix.html index 0e3aff6b0..5f8431d89 100644 --- a/netbox/templates/ipam/prefix.html +++ b/netbox/templates/ipam/prefix.html @@ -52,6 +52,12 @@

{% block title %}{{ prefix }}{% endblock %}

{% include 'inc/created_updated.html' with obj=prefix %} +
+
+ Hide available + Show available +
+