mirror of
https://github.com/netbox-community/netbox.git
synced 2025-12-18 02:06:22 +00:00
Works the same as the existing TenantColumn, but displats the Tenant Group of the Tenant. Views should prefetch the Tenants Group for this to be efficient in large tables.
53 lines
1.6 KiB
Python
53 lines
1.6 KiB
Python
import django_tables2 as tables
|
|
|
|
__all__ = (
|
|
'TenantColumn',
|
|
'TenantGroupColumn',
|
|
)
|
|
|
|
|
|
class TenantColumn(tables.TemplateColumn):
|
|
"""
|
|
Include the tenant description.
|
|
"""
|
|
template_code = """
|
|
{% 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 %}
|
|
"""
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
super().__init__(template_code=self.template_code, *args, **kwargs)
|
|
|
|
def value(self, value):
|
|
return str(value) if value else None
|
|
|
|
|
|
class TenantGroupColumn(tables.TemplateColumn):
|
|
"""
|
|
Include the tenant group description.
|
|
"""
|
|
template_code = """
|
|
{% if record.tenant and record.tenant.group %}
|
|
<a href="{{ record.tenant.group.get_absolute_url }}" title="{{ record.tenant.group.description }}">{{ record.tenant.group }}</a>
|
|
{% elif record.vrf.tenant and record.vrf.tenant.group %}
|
|
<a href="{{ record.vrf.tenant.group.get_absolute_url }}" title="{{ record.vrf.tenant.group.description }}">{{ record.vrf.tenant.group }}</a>*
|
|
{% else %}
|
|
—
|
|
{% endif %}
|
|
"""
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
if 'verbose_name' not in kwargs:
|
|
kwargs['verbose_name'] = 'Tenant Group'
|
|
|
|
super().__init__(template_code=self.template_code, *args, **kwargs)
|
|
|
|
def value(self, value):
|
|
return str(value) if value else None
|
|
|