From 779837389bd738f7d9b0ad0e4229784576e656a7 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 2 Apr 2021 16:59:53 -0400 Subject: [PATCH] Convert all LinkColumns to Column(linkify=True) --- netbox/circuits/tables.py | 11 ++++++--- netbox/dcim/tables/cables.py | 6 +++-- netbox/dcim/tables/devices.py | 18 ++++++--------- netbox/dcim/tables/devicetypes.py | 4 +++- netbox/dcim/tables/power.py | 8 +++++-- netbox/dcim/tables/sites.py | 4 ++-- netbox/extras/tables.py | 4 +++- netbox/ipam/tables.py | 37 +++++++++++++++++++++---------- netbox/secrets/tables.py | 4 +++- netbox/tenancy/tables.py | 6 +++-- netbox/virtualization/tables.py | 20 ++++++++++++----- 11 files changed, 80 insertions(+), 42 deletions(-) diff --git a/netbox/circuits/tables.py b/netbox/circuits/tables.py index 326897415..ba599757a 100644 --- a/netbox/circuits/tables.py +++ b/netbox/circuits/tables.py @@ -12,7 +12,9 @@ from .models import * class ProviderTable(BaseTable): pk = ToggleColumn() - name = tables.LinkColumn() + name = tables.Column( + linkify=True + ) circuit_count = tables.Column( accessor=Accessor('count_circuits'), verbose_name='Circuits' @@ -57,7 +59,9 @@ class ProviderNetworkTable(BaseTable): class CircuitTypeTable(BaseTable): pk = ToggleColumn() - name = tables.LinkColumn() + name = tables.Column( + linkify=True + ) circuit_count = tables.Column( verbose_name='Circuits' ) @@ -75,7 +79,8 @@ class CircuitTypeTable(BaseTable): class CircuitTable(BaseTable): pk = ToggleColumn() - cid = tables.LinkColumn( + cid = tables.Column( + linkify=True, verbose_name='ID' ) provider = tables.Column( diff --git a/netbox/dcim/tables/cables.py b/netbox/dcim/tables/cables.py index cdb79f4e1..9509ec2bc 100644 --- a/netbox/dcim/tables/cables.py +++ b/netbox/dcim/tables/cables.py @@ -26,9 +26,10 @@ class CableTable(BaseTable): orderable=False, verbose_name='Side A' ) - termination_a = tables.LinkColumn( + termination_a = tables.Column( accessor=Accessor('termination_a'), orderable=False, + linkify=True, verbose_name='Termination A' ) termination_b_parent = tables.TemplateColumn( @@ -37,9 +38,10 @@ class CableTable(BaseTable): orderable=False, verbose_name='Side B' ) - termination_b = tables.LinkColumn( + termination_b = tables.Column( accessor=Accessor('termination_b'), orderable=False, + linkify=True, verbose_name='Termination B' ) status = ChoiceFieldColumn() diff --git a/netbox/dcim/tables/devices.py b/netbox/dcim/tables/devices.py index 4aac227e9..6d678172a 100644 --- a/netbox/dcim/tables/devices.py +++ b/netbox/dcim/tables/devices.py @@ -137,11 +137,9 @@ class DeviceTable(BaseTable): device_role = ColoredLabelColumn( verbose_name='Role' ) - device_type = tables.LinkColumn( - viewname='dcim:devicetype', - args=[Accessor('device_type__pk')], - verbose_name='Type', - text=lambda record: record.device_type.display_name + device_type = tables.Column( + linkify=True, + verbose_name='Type' ) if settings.PREFER_IPV4: primary_ip = tables.Column( @@ -163,13 +161,11 @@ class DeviceTable(BaseTable): linkify=True, verbose_name='IPv6 Address' ) - cluster = tables.LinkColumn( - viewname='virtualization:cluster', - args=[Accessor('cluster__pk')] + cluster = tables.Column( + linkify=True ) - virtual_chassis = tables.LinkColumn( - viewname='dcim:virtualchassis', - args=[Accessor('virtual_chassis__pk')] + virtual_chassis = tables.Column( + linkify=True ) vc_position = tables.Column( verbose_name='VC Position' diff --git a/netbox/dcim/tables/devicetypes.py b/netbox/dcim/tables/devicetypes.py index c5b8bb70d..0a445171d 100644 --- a/netbox/dcim/tables/devicetypes.py +++ b/netbox/dcim/tables/devicetypes.py @@ -26,7 +26,9 @@ __all__ = ( class ManufacturerTable(BaseTable): pk = ToggleColumn() - name = tables.LinkColumn() + name = tables.Column( + linkify=True + ) devicetype_count = tables.Column( verbose_name='Device Types' ) diff --git a/netbox/dcim/tables/power.py b/netbox/dcim/tables/power.py index 9f71e24fc..1c4d6e921 100644 --- a/netbox/dcim/tables/power.py +++ b/netbox/dcim/tables/power.py @@ -16,7 +16,9 @@ __all__ = ( class PowerPanelTable(BaseTable): pk = ToggleColumn() - name = tables.LinkColumn() + name = tables.Column( + linkify=True + ) site = tables.Column( linkify=True ) @@ -43,7 +45,9 @@ class PowerPanelTable(BaseTable): # cannot traverse pass-through ports. class PowerFeedTable(CableTerminationTable): pk = ToggleColumn() - name = tables.LinkColumn() + name = tables.Column( + linkify=True + ) power_panel = tables.Column( linkify=True ) diff --git a/netbox/dcim/tables/sites.py b/netbox/dcim/tables/sites.py index b8d06beb6..2cee436d7 100644 --- a/netbox/dcim/tables/sites.py +++ b/netbox/dcim/tables/sites.py @@ -57,8 +57,8 @@ class SiteGroupTable(BaseTable): class SiteTable(BaseTable): pk = ToggleColumn() - name = tables.LinkColumn( - order_by=('_name',) + name = tables.Column( + linkify=True ) status = ChoiceFieldColumn() region = tables.Column( diff --git a/netbox/extras/tables.py b/netbox/extras/tables.py index 70b5c5f70..a8efd8005 100644 --- a/netbox/extras/tables.py +++ b/netbox/extras/tables.py @@ -58,7 +58,9 @@ class TaggedItemTable(BaseTable): class ConfigContextTable(BaseTable): pk = ToggleColumn() - name = tables.LinkColumn() + name = tables.Column( + linkify=True + ) is_active = BooleanColumn( verbose_name='Active' ) diff --git a/netbox/ipam/tables.py b/netbox/ipam/tables.py index f41c7cfff..374161011 100644 --- a/netbox/ipam/tables.py +++ b/netbox/ipam/tables.py @@ -112,7 +112,9 @@ VLAN_MEMBER_TAGGED = """ class VRFTable(BaseTable): pk = ToggleColumn() - name = tables.LinkColumn() + name = tables.Column( + linkify=True + ) rd = tables.Column( verbose_name='RD' ) @@ -146,7 +148,9 @@ class VRFTable(BaseTable): class RouteTargetTable(BaseTable): pk = ToggleColumn() - name = tables.LinkColumn() + name = tables.Column( + linkify=True + ) tenant = TenantColumn() tags = TagColumn( url_name='ipam:vrf_list' @@ -164,7 +168,9 @@ class RouteTargetTable(BaseTable): class RIRTable(BaseTable): pk = ToggleColumn() - name = tables.LinkColumn() + name = tables.Column( + linkify=True + ) is_private = BooleanColumn( verbose_name='Private' ) @@ -187,7 +193,8 @@ class RIRTable(BaseTable): class AggregateTable(BaseTable): pk = ToggleColumn() - prefix = tables.LinkColumn( + prefix = tables.Column( + linkify=True, verbose_name='Aggregate' ) tenant = TenantColumn() @@ -395,7 +402,8 @@ class InterfaceIPAddressTable(BaseTable): """ List IP addresses assigned to a specific Interface. """ - address = tables.LinkColumn( + address = tables.Column( + linkify=True, verbose_name='IP Address' ) vrf = tables.TemplateColumn( @@ -492,7 +500,8 @@ class VLANMembersTable(BaseTable): """ Base table for Interface and VMInterface assignments """ - name = tables.LinkColumn( + name = tables.Column( + linkify=True, verbose_name='Interface' ) tagged = tables.TemplateColumn( @@ -502,7 +511,9 @@ class VLANMembersTable(BaseTable): class VLANDevicesTable(VLANMembersTable): - device = tables.LinkColumn() + device = tables.Column( + linkify=True + ) actions = ButtonsColumn(Interface, buttons=['edit']) class Meta(BaseTable.Meta): @@ -511,7 +522,9 @@ class VLANDevicesTable(VLANMembersTable): class VLANVirtualMachinesTable(VLANMembersTable): - virtual_machine = tables.LinkColumn() + virtual_machine = tables.Column( + linkify=True + ) actions = ButtonsColumn(VMInterface, buttons=['edit']) class Meta(BaseTable.Meta): @@ -523,9 +536,8 @@ class InterfaceVLANTable(BaseTable): """ List VLANs assigned to a specific Interface. """ - vid = tables.LinkColumn( - viewname='ipam:vlan', - args=[Accessor('pk')], + vid = tables.Column( + linkify=True, verbose_name='ID' ) tagged = BooleanColumn() @@ -560,7 +572,8 @@ class ServiceTable(BaseTable): name = tables.Column( linkify=True ) - parent = tables.LinkColumn( + parent = tables.Column( + linkify=True, order_by=('device', 'virtual_machine') ) ports = tables.TemplateColumn( diff --git a/netbox/secrets/tables.py b/netbox/secrets/tables.py index dd91985ec..b2f8fcc8c 100644 --- a/netbox/secrets/tables.py +++ b/netbox/secrets/tables.py @@ -10,7 +10,9 @@ from .models import SecretRole, Secret class SecretRoleTable(BaseTable): pk = ToggleColumn() - name = tables.LinkColumn() + name = tables.Column( + linkify=True + ) secret_count = LinkedCountColumn( viewname='secrets:secret_list', url_params={'role': 'slug'}, diff --git a/netbox/tenancy/tables.py b/netbox/tenancy/tables.py index a826fe5a0..e0637ff3a 100644 --- a/netbox/tenancy/tables.py +++ b/netbox/tenancy/tables.py @@ -10,7 +10,7 @@ from .models import Tenant, TenantGroup class TenantColumn(tables.TemplateColumn): """ - Render a colored label (e.g. for DeviceRoles). + Include the tenant description. """ template_code = """ {% if record.tenant %} @@ -57,7 +57,9 @@ class TenantGroupTable(BaseTable): class TenantTable(BaseTable): pk = ToggleColumn() - name = tables.LinkColumn() + name = tables.Column( + linkify=True + ) tags = TagColumn( url_name='tenancy:tenant_list' ) diff --git a/netbox/virtualization/tables.py b/netbox/virtualization/tables.py index 80e957505..c30f14165 100644 --- a/netbox/virtualization/tables.py +++ b/netbox/virtualization/tables.py @@ -32,7 +32,9 @@ VMINTERFACE_BUTTONS = """ class ClusterTypeTable(BaseTable): pk = ToggleColumn() - name = tables.LinkColumn() + name = tables.Column( + linkify=True + ) cluster_count = tables.Column( verbose_name='Clusters' ) @@ -50,7 +52,9 @@ class ClusterTypeTable(BaseTable): class ClusterGroupTable(BaseTable): pk = ToggleColumn() - name = tables.LinkColumn() + name = tables.Column( + linkify=True + ) cluster_count = tables.Column( verbose_name='Clusters' ) @@ -68,7 +72,9 @@ class ClusterGroupTable(BaseTable): class ClusterTable(BaseTable): pk = ToggleColumn() - name = tables.LinkColumn() + name = tables.Column( + linkify=True + ) tenant = tables.Column( linkify=True ) @@ -101,7 +107,9 @@ class ClusterTable(BaseTable): class VirtualMachineTable(BaseTable): pk = ToggleColumn() - name = tables.LinkColumn() + name = tables.Column( + linkify=True + ) status = ChoiceFieldColumn() cluster = tables.Column( linkify=True @@ -156,7 +164,9 @@ class VirtualMachineDetailTable(VirtualMachineTable): class VMInterfaceTable(BaseInterfaceTable): pk = ToggleColumn() - virtual_machine = tables.LinkColumn() + virtual_machine = tables.Column( + linkify=True + ) name = tables.Column( linkify=True )