|
@@ -221,9 +221,7 @@ class AggregateView(ObjectView):
|
|
|
'site', 'role'
|
|
'site', 'role'
|
|
|
).order_by(
|
|
).order_by(
|
|
|
'prefix'
|
|
'prefix'
|
|
|
- ).annotate_depth(
|
|
|
|
|
- limit=0
|
|
|
|
|
- )
|
|
|
|
|
|
|
+ ).annotate_tree()
|
|
|
|
|
|
|
|
# Add available prefixes to the table if requested
|
|
# Add available prefixes to the table if requested
|
|
|
if request.GET.get('show_available', 'true') == 'true':
|
|
if request.GET.get('show_available', 'true') == 'true':
|
|
@@ -326,11 +324,6 @@ class PrefixListView(ObjectListView):
|
|
|
table = tables.PrefixDetailTable
|
|
table = tables.PrefixDetailTable
|
|
|
template_name = 'ipam/prefix_list.html'
|
|
template_name = 'ipam/prefix_list.html'
|
|
|
|
|
|
|
|
- def alter_queryset(self, request):
|
|
|
|
|
- # Show only top-level prefixes by default (unless searching)
|
|
|
|
|
- limit = None if request.GET.get('expand') or request.GET.get('q') else 0
|
|
|
|
|
- return self.queryset.annotate_depth(limit=limit)
|
|
|
|
|
-
|
|
|
|
|
|
|
|
|
|
class PrefixView(ObjectView):
|
|
class PrefixView(ObjectView):
|
|
|
queryset = Prefix.objects.prefetch_related('vrf', 'site__region', 'tenant__group', 'vlan__group', 'role')
|
|
queryset = Prefix.objects.prefetch_related('vrf', 'site__region', 'tenant__group', 'vlan__group', 'role')
|
|
@@ -353,7 +346,7 @@ class PrefixView(ObjectView):
|
|
|
prefix__net_contains=str(prefix.prefix)
|
|
prefix__net_contains=str(prefix.prefix)
|
|
|
).prefetch_related(
|
|
).prefetch_related(
|
|
|
'site', 'role'
|
|
'site', 'role'
|
|
|
- ).annotate_depth()
|
|
|
|
|
|
|
+ ).annotate_tree()
|
|
|
parent_prefix_table = tables.PrefixTable(list(parent_prefixes), orderable=False)
|
|
parent_prefix_table = tables.PrefixTable(list(parent_prefixes), orderable=False)
|
|
|
parent_prefix_table.exclude = ('vrf',)
|
|
parent_prefix_table.exclude = ('vrf',)
|
|
|
|
|
|
|
@@ -386,7 +379,7 @@ class PrefixPrefixesView(ObjectView):
|
|
|
# Child prefixes table
|
|
# Child prefixes table
|
|
|
child_prefixes = prefix.get_child_prefixes().restrict(request.user, 'view').prefetch_related(
|
|
child_prefixes = prefix.get_child_prefixes().restrict(request.user, 'view').prefetch_related(
|
|
|
'site', 'vlan', 'role',
|
|
'site', 'vlan', 'role',
|
|
|
- ).annotate_depth(limit=0)
|
|
|
|
|
|
|
+ ).annotate_tree()
|
|
|
|
|
|
|
|
# Add available prefixes to the table if requested
|
|
# Add available prefixes to the table if requested
|
|
|
if child_prefixes and request.GET.get('show_available', 'true') == 'true':
|
|
if child_prefixes and request.GET.get('show_available', 'true') == 'true':
|