|
|
@@ -3,7 +3,7 @@ from django.utils.safestring import mark_safe
|
|
|
from django_tables2.utils import Accessor
|
|
|
|
|
|
from dcim.models import Interface
|
|
|
-from tenancy.tables import COL_TENANT
|
|
|
+from tenancy.tables import TenantColumn
|
|
|
from utilities.tables import (
|
|
|
BaseTable, BooleanColumn, ButtonsColumn, ChoiceFieldColumn, LinkedCountColumn, TagColumn, ToggleColumn,
|
|
|
)
|
|
|
@@ -109,16 +109,6 @@ VLAN_MEMBER_TAGGED = """
|
|
|
{% endif %}
|
|
|
"""
|
|
|
|
|
|
-TENANT_LINK = """
|
|
|
-{% if record.tenant %}
|
|
|
- <a href="{{ record.tenant.get_absolute_url }}" title="{{ record.tenant.description }}">{{ record.tenant }}</a>
|
|
|
-{% elif record.vrf.tenant %}
|
|
|
- <a href="{{ record.vrf.tenant.get_absolute_url }}" title="{{ record.vrf.tenant.description }}">{{ record.vrf.tenant }}</a>*
|
|
|
-{% else %}
|
|
|
- —
|
|
|
-{% endif %}
|
|
|
-"""
|
|
|
-
|
|
|
|
|
|
#
|
|
|
# VRFs
|
|
|
@@ -130,9 +120,7 @@ class VRFTable(BaseTable):
|
|
|
rd = tables.Column(
|
|
|
verbose_name='RD'
|
|
|
)
|
|
|
- tenant = tables.TemplateColumn(
|
|
|
- template_code=COL_TENANT
|
|
|
- )
|
|
|
+ tenant = TenantColumn()
|
|
|
enforce_unique = BooleanColumn(
|
|
|
verbose_name='Unique'
|
|
|
)
|
|
|
@@ -163,9 +151,7 @@ class VRFTable(BaseTable):
|
|
|
class RouteTargetTable(BaseTable):
|
|
|
pk = ToggleColumn()
|
|
|
name = tables.LinkColumn()
|
|
|
- tenant = tables.TemplateColumn(
|
|
|
- template_code=COL_TENANT
|
|
|
- )
|
|
|
+ tenant = TenantColumn()
|
|
|
tags = TagColumn(
|
|
|
url_name='ipam:vrf_list'
|
|
|
)
|
|
|
@@ -208,9 +194,7 @@ class AggregateTable(BaseTable):
|
|
|
prefix = tables.LinkColumn(
|
|
|
verbose_name='Aggregate'
|
|
|
)
|
|
|
- tenant = tables.TemplateColumn(
|
|
|
- template_code=TENANT_LINK
|
|
|
- )
|
|
|
+ tenant = TenantColumn()
|
|
|
date_added = tables.DateColumn(
|
|
|
format="Y-m-d",
|
|
|
verbose_name='Added'
|
|
|
@@ -279,9 +263,7 @@ class PrefixTable(BaseTable):
|
|
|
template_code=VRF_LINK,
|
|
|
verbose_name='VRF'
|
|
|
)
|
|
|
- tenant = tables.TemplateColumn(
|
|
|
- template_code=TENANT_LINK
|
|
|
- )
|
|
|
+ tenant = TenantColumn()
|
|
|
site = tables.Column(
|
|
|
linkify=True
|
|
|
)
|
|
|
@@ -312,9 +294,7 @@ class PrefixDetailTable(PrefixTable):
|
|
|
template_code=UTILIZATION_GRAPH,
|
|
|
orderable=False
|
|
|
)
|
|
|
- tenant = tables.TemplateColumn(
|
|
|
- template_code=COL_TENANT
|
|
|
- )
|
|
|
+ tenant = TenantColumn()
|
|
|
tags = TagColumn(
|
|
|
url_name='ipam:prefix_list'
|
|
|
)
|
|
|
@@ -347,9 +327,7 @@ class IPAddressTable(BaseTable):
|
|
|
default=AVAILABLE_LABEL
|
|
|
)
|
|
|
role = ChoiceFieldColumn()
|
|
|
- tenant = tables.TemplateColumn(
|
|
|
- template_code=TENANT_LINK
|
|
|
- )
|
|
|
+ tenant = TenantColumn()
|
|
|
assigned_object = tables.Column(
|
|
|
linkify=True,
|
|
|
orderable=False,
|
|
|
@@ -379,9 +357,7 @@ class IPAddressDetailTable(IPAddressTable):
|
|
|
orderable=False,
|
|
|
verbose_name='NAT (Inside)'
|
|
|
)
|
|
|
- tenant = tables.TemplateColumn(
|
|
|
- template_code=COL_TENANT
|
|
|
- )
|
|
|
+ tenant = TenantColumn()
|
|
|
assigned = BooleanColumn(
|
|
|
accessor='assigned_object_id',
|
|
|
verbose_name='Assigned'
|
|
|
@@ -428,9 +404,7 @@ class InterfaceIPAddressTable(BaseTable):
|
|
|
verbose_name='VRF'
|
|
|
)
|
|
|
status = ChoiceFieldColumn()
|
|
|
- tenant = tables.TemplateColumn(
|
|
|
- template_code=TENANT_LINK
|
|
|
- )
|
|
|
+ tenant = TenantColumn()
|
|
|
|
|
|
class Meta(BaseTable.Meta):
|
|
|
model = IPAddress
|
|
|
@@ -480,9 +454,7 @@ class VLANTable(BaseTable):
|
|
|
viewname='ipam:vlangroup_vlans',
|
|
|
args=[Accessor('group__pk')]
|
|
|
)
|
|
|
- tenant = tables.TemplateColumn(
|
|
|
- template_code=COL_TENANT
|
|
|
- )
|
|
|
+ tenant = TenantColumn()
|
|
|
status = ChoiceFieldColumn(
|
|
|
default=AVAILABLE_LABEL
|
|
|
)
|
|
|
@@ -504,9 +476,7 @@ class VLANDetailTable(VLANTable):
|
|
|
orderable=False,
|
|
|
verbose_name='Prefixes'
|
|
|
)
|
|
|
- tenant = tables.TemplateColumn(
|
|
|
- template_code=COL_TENANT
|
|
|
- )
|
|
|
+ tenant = TenantColumn()
|
|
|
tags = TagColumn(
|
|
|
url_name='ipam:vlan_list'
|
|
|
)
|
|
|
@@ -564,9 +534,7 @@ class InterfaceVLANTable(BaseTable):
|
|
|
accessor=Accessor('group__name'),
|
|
|
verbose_name='Group'
|
|
|
)
|
|
|
- tenant = tables.TemplateColumn(
|
|
|
- template_code=COL_TENANT
|
|
|
- )
|
|
|
+ tenant = TenantColumn()
|
|
|
status = ChoiceFieldColumn()
|
|
|
role = tables.TemplateColumn(
|
|
|
template_code=VLAN_ROLE_LINK
|