Files
netbox-plugin-dns-bridge/netbox_dns_bridge/views.py
T
Sven Luethi 0ac23ff3a0 modified: netbox_dns_bridge/__init__.py
new file:   netbox_dns_bridge/navigation.py
new file:   netbox_dns_bridge/templates/netbox_dns_bridge/info.html
new file:   netbox_dns_bridge/urls.py
new file:   netbox_dns_bridge/views.py
Add information view
2026-08-11 18:30:00 +02:00

44 lines
1.3 KiB
Python

from django.views import View
from django.shortcuts import render
from .models import IntegerKeyValueSetting, SeenTransferClients
class InfoView(View):
template_name = "netbox_dns_bridge/info.html"
def get(self, request):
import netbox_dns.models
settings_rows = IntegerKeyValueSetting.objects.all().order_by("key")
seen_clients = (
SeenTransferClients.objects.select_related("view")
.all()
.order_by("source_ip")
)
zones = []
for z in netbox_dns.models.Zone.objects.select_related(
"view", "catz_identifier"
).order_by("name"):
try:
catz_identifier = z.catz_identifier.name
except netbox_dns.models.Zone.catz_identifier.RelatedObjectDoesNotExist:
catz_identifier = None
zones.append(
{
"name": z.name,
"view": z.view.name if z.view else None,
"active": z.active,
"catz_identifier": catz_identifier,
}
)
context = {
"settings_rows": settings_rows,
"seen_clients": seen_clients,
"zones": zones,
}
return render(request, self.template_name, context)