Files
netbox-plugin-services/netbox_services/tables.py
T
2026-08-16 13:10:26 +02:00

40 lines
1.2 KiB
Python

import django_tables2 as tables
from django.utils.translation import gettext_lazy as _
from netbox.tables import NetBoxTable
from netbox.tables.columns import (
ChoiceFieldColumn,
TagColumn,
)
from .models import Service, ServiceTemplate
class ServiceTemplateTable(NetBoxTable):
name = tables.Column(linkify=True)
status = ChoiceFieldColumn()
services_count = tables.Column(
verbose_name=_("Services"),
accessor="services__count",
orderable=False,
)
tags = TagColumn()
class Meta(NetBoxTable.Meta):
model = ServiceTemplate
fields = ("pk", "id", "name", "status", "description", "services_count", "tags")
default_columns = ("pk", "name", "status", "description", "services_count")
class ServiceTable(NetBoxTable):
name = tables.Column(linkify=True)
service_template = tables.Column(linkify=True)
tenant = tables.Column(linkify=True)
status = ChoiceFieldColumn()
tags = TagColumn()
class Meta(NetBoxTable.Meta):
model = Service
fields = ("pk", "id", "name", "service_template", "tenant", "status", "description", "tags")
default_columns = ("pk", "name", "service_template", "tenant", "status", "description")