diff --git a/netbox/dcim/tables/devices.py b/netbox/dcim/tables/devices.py index 34dbcbf30..fc8a3af73 100644 --- a/netbox/dcim/tables/devices.py +++ b/netbox/dcim/tables/devices.py @@ -69,6 +69,36 @@ def get_interface_state_attribute(record): return "disabled" +def get_interface_virtual_attribute(record): + """ + Get interface virtual state as string to attach to DOM element. + """ + if record.is_virtual: + return "true" + else: + return "false" + + +def get_interface_mark_connected_attribute(record): + """ + Get interface enabled state as string to attach to DOM element. + """ + if record.mark_connected: + return "true" + else: + return "false" + + +def get_interface_cable_status_attribute(record): + """ + Get interface enabled state as string to attach to DOM element. + """ + if record.cable: + return record.cable.status + else: + return "" + + # # Device roles # @@ -673,6 +703,9 @@ class DeviceInterfaceTable(InterfaceTable): 'class': get_interface_row_class, 'data-name': lambda record: record.name, 'data-enabled': get_interface_state_attribute, + 'data-virtual': get_interface_virtual_attribute, + 'data-mark-connected': get_interface_mark_connected_attribute, + 'data-cable-status': get_interface_cable_status_attribute, 'data-type': lambda record: record.type, }