| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- import django_tables2 as tables
- from django.utils.translation import gettext_lazy as _
- from circuits.models import *
- from netbox.tables import NetBoxTable, columns
- from tenancy.tables import ContactsColumnMixin, TenancyColumnsMixin
- __all__ = (
- 'VirtualCircuitTable',
- 'VirtualCircuitTerminationTable',
- 'VirtualCircuitTypeTable',
- )
- class VirtualCircuitTypeTable(NetBoxTable):
- name = tables.Column(
- linkify=True,
- verbose_name=_('Name'),
- )
- color = columns.ColorColumn()
- tags = columns.TagColumn(
- url_name='circuits:virtualcircuittype_list'
- )
- virtual_circuit_count = columns.LinkedCountColumn(
- viewname='circuits:virtualcircuit_list',
- url_params={'type_id': 'pk'},
- verbose_name=_('Circuits')
- )
- class Meta(NetBoxTable.Meta):
- model = VirtualCircuitType
- fields = (
- 'pk', 'id', 'name', 'virtual_circuit_count', 'color', 'description', 'slug', 'tags', 'created',
- 'last_updated', 'actions',
- )
- default_columns = ('pk', 'name', 'virtual_circuit_count', 'color', 'description')
- class VirtualCircuitTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable):
- cid = tables.Column(
- linkify=True,
- verbose_name=_('Circuit ID')
- )
- provider = tables.Column(
- accessor=tables.A('provider_network__provider'),
- verbose_name=_('Provider'),
- linkify=True
- )
- provider_network = tables.Column(
- linkify=True,
- verbose_name=_('Provider network')
- )
- provider_account = tables.Column(
- linkify=True,
- verbose_name=_('Account')
- )
- type = tables.Column(
- verbose_name=_('Type'),
- linkify=True
- )
- status = columns.ChoiceFieldColumn()
- termination_count = columns.LinkedCountColumn(
- viewname='circuits:virtualcircuittermination_list',
- url_params={'virtual_circuit_id': 'pk'},
- verbose_name=_('Terminations')
- )
- comments = columns.MarkdownColumn(
- verbose_name=_('Comments')
- )
- tags = columns.TagColumn(
- url_name='circuits:virtualcircuit_list'
- )
- class Meta(NetBoxTable.Meta):
- model = VirtualCircuit
- fields = (
- 'pk', 'id', 'cid', 'provider', 'provider_account', 'provider_network', 'type', 'status', 'tenant',
- 'tenant_group', 'description', 'comments', 'tags', 'created', 'last_updated',
- )
- default_columns = (
- 'pk', 'cid', 'provider', 'provider_account', 'provider_network', 'type', 'status', 'tenant',
- 'termination_count', 'description',
- )
- class VirtualCircuitTerminationTable(NetBoxTable):
- virtual_circuit = tables.Column(
- verbose_name=_('Virtual circuit'),
- linkify=True
- )
- provider = tables.Column(
- accessor=tables.A('virtual_circuit__provider_network__provider'),
- verbose_name=_('Provider'),
- linkify=True
- )
- provider_network = tables.Column(
- accessor=tables.A('virtual_circuit__provider_network'),
- linkify=True,
- verbose_name=_('Provider network')
- )
- provider_account = tables.Column(
- linkify=True,
- verbose_name=_('Account')
- )
- role = columns.ChoiceFieldColumn()
- device = tables.Column(
- accessor=tables.A('interface__device'),
- linkify=True,
- verbose_name=_('Device')
- )
- interface = tables.Column(
- verbose_name=_('Interface'),
- linkify=True
- )
- class Meta(NetBoxTable.Meta):
- model = VirtualCircuitTermination
- fields = (
- 'pk', 'id', 'virtual_circuit', 'provider', 'provider_network', 'provider_account', 'role', 'interfaces',
- 'description', 'created', 'last_updated', 'actions',
- )
- default_columns = (
- 'pk', 'id', 'virtual_circuit', 'role', 'device', 'interface', 'description',
- )
|