mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
75 lines
1.6 KiB
Python
75 lines
1.6 KiB
Python
|
import django_tables2 as tables
|
||
|
|
||
|
from tenancy.tables import TenantColumn
|
||
|
from utilities.tables import BaseTable, BooleanColumn, TagColumn, ToggleColumn
|
||
|
from ipam.models import *
|
||
|
|
||
|
__all__ = (
|
||
|
'RouteTargetTable',
|
||
|
'VRFTable',
|
||
|
)
|
||
|
|
||
|
VRF_TARGETS = """
|
||
|
{% for rt in value.all %}
|
||
|
<a href="{{ rt.get_absolute_url }}">{{ rt }}</a>{% if not forloop.last %}<br />{% endif %}
|
||
|
{% empty %}
|
||
|
—
|
||
|
{% endfor %}
|
||
|
"""
|
||
|
|
||
|
|
||
|
#
|
||
|
# VRFs
|
||
|
#
|
||
|
|
||
|
class VRFTable(BaseTable):
|
||
|
pk = ToggleColumn()
|
||
|
name = tables.Column(
|
||
|
linkify=True
|
||
|
)
|
||
|
rd = tables.Column(
|
||
|
verbose_name='RD'
|
||
|
)
|
||
|
tenant = TenantColumn()
|
||
|
enforce_unique = BooleanColumn(
|
||
|
verbose_name='Unique'
|
||
|
)
|
||
|
import_targets = tables.TemplateColumn(
|
||
|
template_code=VRF_TARGETS,
|
||
|
orderable=False
|
||
|
)
|
||
|
export_targets = tables.TemplateColumn(
|
||
|
template_code=VRF_TARGETS,
|
||
|
orderable=False
|
||
|
)
|
||
|
tags = TagColumn(
|
||
|
url_name='ipam:vrf_list'
|
||
|
)
|
||
|
|
||
|
class Meta(BaseTable.Meta):
|
||
|
model = VRF
|
||
|
fields = (
|
||
|
'pk', 'name', 'rd', 'tenant', 'enforce_unique', 'description', 'import_targets', 'export_targets', 'tags',
|
||
|
)
|
||
|
default_columns = ('pk', 'name', 'rd', 'tenant', 'description')
|
||
|
|
||
|
|
||
|
#
|
||
|
# Route targets
|
||
|
#
|
||
|
|
||
|
class RouteTargetTable(BaseTable):
|
||
|
pk = ToggleColumn()
|
||
|
name = tables.Column(
|
||
|
linkify=True
|
||
|
)
|
||
|
tenant = TenantColumn()
|
||
|
tags = TagColumn(
|
||
|
url_name='ipam:vrf_list'
|
||
|
)
|
||
|
|
||
|
class Meta(BaseTable.Meta):
|
||
|
model = RouteTarget
|
||
|
fields = ('pk', 'name', 'tenant', 'description', 'tags')
|
||
|
default_columns = ('pk', 'name', 'tenant', 'description')
|