|
@@ -1847,6 +1847,14 @@ class InterfaceView(generic.ObjectView):
|
|
|
orderable=False
|
|
orderable=False
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
|
|
+ # Get child interfaces
|
|
|
|
|
+ child_interfaces = Interface.objects.restrict(request.user, 'view').filter(parent=instance)
|
|
|
|
|
+ child_interfaces_tables = tables.InterfaceTable(
|
|
|
|
|
+ child_interfaces,
|
|
|
|
|
+ orderable=False
|
|
|
|
|
+ )
|
|
|
|
|
+ child_interfaces_tables.columns.hide('device')
|
|
|
|
|
+
|
|
|
# Get assigned VLANs and annotate whether each is tagged or untagged
|
|
# Get assigned VLANs and annotate whether each is tagged or untagged
|
|
|
vlans = []
|
|
vlans = []
|
|
|
if instance.untagged_vlan is not None:
|
|
if instance.untagged_vlan is not None:
|
|
@@ -1863,6 +1871,7 @@ class InterfaceView(generic.ObjectView):
|
|
|
|
|
|
|
|
return {
|
|
return {
|
|
|
'ipaddress_table': ipaddress_table,
|
|
'ipaddress_table': ipaddress_table,
|
|
|
|
|
+ 'child_interfaces_table': child_interfaces_tables,
|
|
|
'vlan_table': vlan_table,
|
|
'vlan_table': vlan_table,
|
|
|
'breadcrumb_url': 'dcim:device_interfaces'
|
|
'breadcrumb_url': 'dcim:device_interfaces'
|
|
|
}
|
|
}
|