Files
netbox-plugin-dns-bridge/netbox_dns_bridge/tables.py
T
sven 14805ed32b Move from hard-coded CatalogZone SOA values (refresh, retry, expire and minimum)
to DB driven to permit user modification:

modified:   netbox_dns_bridge/models.py
  Add 4 cols for values.

modified:   netbox_dns_bridge/migrations/0003_catalogzone_and_per_zone_identifier.py
  Adjust migration. This expects that the last migration the user has is 0002 (<=v1.5.8)

modified:   netbox_dns_bridge/jobs/notify.py
modified:   netbox_dns_bridge/management/commands/dns_transfer_endpoint/catalog_zone_manager.py
  Update to use new db values for SOA creation.

Change UI to permit editing for SOA values and disable member identifier editing.
modified:   netbox_dns_bridge/forms.py
modified:   netbox_dns_bridge/navigation.py
new file:   netbox_dns_bridge/templates/netbox_dns_bridge/catalog_zone_edit.html
new file:   netbox_dns_bridge/templates/netbox_dns_bridge/catalog_zone_list.html
new file:   netbox_dns_bridge/templates/netbox_dns_bridge/catalog_zone_members.html
deleted:    netbox_dns_bridge/templates/netbox_dns_bridge/catz_overview.html
modified:   netbox_dns_bridge/tables.py
modified:   netbox_dns_bridge/urls.py
modified:   netbox_dns_bridge/views.py
modified:   netbox_dns_bridge/filtersets.py
  AI created/modified: Left the UI update to the LLM.

modified:   netbox_dns_bridge/tests/test_catalog_zone_manager.py
modified:   netbox_dns_bridge/tests/test_models.py
modified:   netbox_dns_bridge/tests/test_notify.py
modified:   netbox_dns_bridge/tests/test_views.py
  AI created/modified: Updating tests
2026-08-17 13:20:17 +02:00

59 lines
1.6 KiB
Python

import django_tables2 as tables
from django.utils.translation import gettext_lazy as _
import netbox_dns.models
from netbox.tables import NetBoxTable
from .models import CatalogZone
class CatalogZoneMemberTable(NetBoxTable):
name = tables.Column(linkify=True)
view = tables.Column(
accessor="view__name",
verbose_name=_("View"),
)
status = tables.Column(verbose_name=_("Status"))
catz_identifier = tables.Column(
accessor="catz_identifier__name",
verbose_name=_("Catalog Zone Identifier"),
default="—",
)
class Meta(NetBoxTable.Meta):
model = netbox_dns.models.Zone
fields = ("name", "view", "status", "catz_identifier")
default_columns = ("name", "view", "status", "catz_identifier")
class CatalogZoneTable(NetBoxTable):
view = tables.Column(
accessor="view__name",
verbose_name=_("View"),
linkify=True,
)
soa_serial = tables.Column(verbose_name=_("SOA Serial"))
soa_refresh = tables.Column(verbose_name=_("Refresh"))
soa_retry = tables.Column(verbose_name=_("Retry"))
soa_expire = tables.Column(verbose_name=_("Expire"))
soa_minimum = tables.Column(verbose_name=_("Minimum"))
class Meta(NetBoxTable.Meta):
model = CatalogZone
fields = (
"view",
"soa_serial",
"soa_refresh",
"soa_retry",
"soa_expire",
"soa_minimum",
)
default_columns = (
"view",
"soa_serial",
"soa_refresh",
"soa_retry",
"soa_expire",
"soa_minimum",
)