| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- import django_tables2 as tables
- from django_tables2.utils import Accessor
- from tenancy.tables import COL_TENANT
- from utilities.tables import BaseTable, ButtonsColumn, ChoiceFieldColumn, TagColumn, ToggleColumn
- from .models import Circuit, CircuitType, Provider
- #
- # Providers
- #
- class ProviderTable(BaseTable):
- pk = ToggleColumn()
- name = tables.LinkColumn()
- circuit_count = tables.Column(
- accessor=Accessor('count_circuits'),
- verbose_name='Circuits'
- )
- tags = TagColumn(
- url_name='circuits:provider_list'
- )
- class Meta(BaseTable.Meta):
- model = Provider
- fields = (
- 'pk', 'name', 'asn', 'account', 'portal_url', 'noc_contact', 'admin_contact', 'circuit_count', 'tags',
- )
- default_columns = ('pk', 'name', 'asn', 'account', 'circuit_count')
- #
- # Circuit types
- #
- class CircuitTypeTable(BaseTable):
- pk = ToggleColumn()
- name = tables.LinkColumn()
- circuit_count = tables.Column(
- verbose_name='Circuits'
- )
- actions = ButtonsColumn(CircuitType, pk_field='slug')
- class Meta(BaseTable.Meta):
- model = CircuitType
- fields = ('pk', 'name', 'circuit_count', 'description', 'slug', 'actions')
- default_columns = ('pk', 'name', 'circuit_count', 'description', 'slug', 'actions')
- #
- # Circuits
- #
- class CircuitTable(BaseTable):
- pk = ToggleColumn()
- cid = tables.LinkColumn(
- verbose_name='ID'
- )
- provider = tables.LinkColumn(
- viewname='circuits:provider',
- args=[Accessor('provider__slug')]
- )
- status = ChoiceFieldColumn()
- tenant = tables.TemplateColumn(
- template_code=COL_TENANT
- )
- a_side = tables.Column(
- verbose_name='A Side'
- )
- z_side = tables.Column(
- verbose_name='Z Side'
- )
- tags = TagColumn(
- url_name='circuits:circuit_list'
- )
- class Meta(BaseTable.Meta):
- model = Circuit
- fields = (
- 'pk', 'cid', 'provider', 'type', 'status', 'tenant', 'a_side', 'z_side', 'install_date', 'commit_rate',
- 'description', 'tags',
- )
- default_columns = ('pk', 'cid', 'provider', 'type', 'status', 'tenant', 'a_side', 'z_side', 'description')
|