mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
83 lines
2.1 KiB
Python
83 lines
2.1 KiB
Python
from django.utils.translation import gettext_lazy as _
|
|
import django_tables2 as tables
|
|
|
|
from ipam.models import *
|
|
from netbox.tables import NetBoxTable, columns
|
|
from tenancy.tables import TenancyColumnsMixin
|
|
|
|
__all__ = (
|
|
'RouteTargetTable',
|
|
'VRFTable',
|
|
)
|
|
|
|
VRF_TARGETS = """
|
|
{% for rt in value.all %}
|
|
<a href="{{ rt.get_absolute_url }}">{{ rt }}</a>{% if not forloop.last %}<br />{% endif %}
|
|
{% endfor %}
|
|
"""
|
|
|
|
|
|
#
|
|
# VRFs
|
|
#
|
|
|
|
class VRFTable(TenancyColumnsMixin, NetBoxTable):
|
|
name = tables.Column(
|
|
verbose_name=_('Name'),
|
|
linkify=True
|
|
)
|
|
rd = tables.Column(
|
|
verbose_name=_('RD')
|
|
)
|
|
enforce_unique = columns.BooleanColumn(
|
|
verbose_name=_('Unique')
|
|
)
|
|
import_targets = columns.TemplateColumn(
|
|
verbose_name=_('Import Targets'),
|
|
template_code=VRF_TARGETS,
|
|
orderable=False
|
|
)
|
|
export_targets = columns.TemplateColumn(
|
|
verbose_name=_('Export Targets'),
|
|
template_code=VRF_TARGETS,
|
|
orderable=False
|
|
)
|
|
comments = columns.MarkdownColumn(
|
|
verbose_name=_('Comments'),
|
|
)
|
|
tags = columns.TagColumn(
|
|
url_name='ipam:vrf_list'
|
|
)
|
|
|
|
class Meta(NetBoxTable.Meta):
|
|
model = VRF
|
|
fields = (
|
|
'pk', 'id', 'name', 'rd', 'tenant', 'tenant_group', 'enforce_unique', 'import_targets', 'export_targets',
|
|
'description', 'comments', 'tags', 'created', 'last_updated',
|
|
)
|
|
default_columns = ('pk', 'name', 'rd', 'tenant', 'description')
|
|
|
|
|
|
#
|
|
# Route targets
|
|
#
|
|
|
|
class RouteTargetTable(TenancyColumnsMixin, NetBoxTable):
|
|
name = tables.Column(
|
|
verbose_name=_('Name'),
|
|
linkify=True
|
|
)
|
|
comments = columns.MarkdownColumn(
|
|
verbose_name=_('Comments'),
|
|
)
|
|
tags = columns.TagColumn(
|
|
url_name='ipam:routetarget_list'
|
|
)
|
|
|
|
class Meta(NetBoxTable.Meta):
|
|
model = RouteTarget
|
|
fields = (
|
|
'pk', 'id', 'name', 'tenant', 'tenant_group', 'description', 'comments', 'tags', 'created', 'last_updated',
|
|
)
|
|
default_columns = ('pk', 'name', 'tenant', 'description')
|