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 GUI components are entirely AI generated. Plumbing also with AI assist but code verified.
This commit is contained in:
1 parent
69781e2b08
commit
a3f53767e4
14 files changed
+209
-63
No files matched your search
+33
-15
@@ -4,34 +4,52 @@ from django.utils.decorators import method_decorator
|
||||
from django.views import View
|
||||
|
||||
import netbox_dns.models
|
||||
from netbox.views.generic import ObjectListView
|
||||
from netbox.views.generic import ObjectEditView, ObjectListView
|
||||
|
||||
from .filtersets import ZoneFilterSet
|
||||
from .forms import CatalogZoneFilterForm
|
||||
from .filtersets import CatalogZoneFilterSet, ZoneFilterSet
|
||||
from .forms import (
|
||||
CatalogZoneFilterForm,
|
||||
CatalogZoneForm,
|
||||
CatalogZoneMemberFilterForm,
|
||||
)
|
||||
from .models import CatalogZone, SeenTransferClients
|
||||
from .tables import CatalogZoneTable
|
||||
from .tables import CatalogZoneMemberTable, CatalogZoneTable
|
||||
|
||||
|
||||
@method_decorator(
|
||||
user_passes_test(lambda u: u.is_superuser), name="dispatch"
|
||||
)
|
||||
class CatzOverviewView(ObjectListView):
|
||||
class CatalogZoneListView(ObjectListView):
|
||||
queryset = CatalogZone.objects.select_related("view").order_by("view__name")
|
||||
table = CatalogZoneTable
|
||||
filterset = CatalogZoneFilterSet
|
||||
filterset_form = CatalogZoneFilterForm
|
||||
template_name = "netbox_dns_bridge/catalog_zone_list.html"
|
||||
actions = ("edit", "export")
|
||||
|
||||
|
||||
@method_decorator(
|
||||
user_passes_test(lambda u: u.is_superuser), name="dispatch"
|
||||
)
|
||||
class CatalogZoneEditView(ObjectEditView):
|
||||
queryset = CatalogZone.objects.select_related("view")
|
||||
form = CatalogZoneForm
|
||||
template_name = "netbox_dns_bridge/catalog_zone_edit.html"
|
||||
|
||||
|
||||
@method_decorator(
|
||||
user_passes_test(lambda u: u.is_superuser), name="dispatch"
|
||||
)
|
||||
class CatalogZoneMembersView(ObjectListView):
|
||||
queryset = netbox_dns.models.Zone.objects.select_related(
|
||||
"view", "catz_identifier"
|
||||
).order_by("view__name", "name")
|
||||
table = CatalogZoneTable
|
||||
table = CatalogZoneMemberTable
|
||||
filterset = ZoneFilterSet
|
||||
filterset_form = CatalogZoneFilterForm
|
||||
template_name = "netbox_dns_bridge/catz_overview.html"
|
||||
filterset_form = CatalogZoneMemberFilterForm
|
||||
template_name = "netbox_dns_bridge/catalog_zone_members.html"
|
||||
actions = ()
|
||||
|
||||
def get_extra_context(self, request):
|
||||
context = super().get_extra_context(request)
|
||||
context["catalog_zones"] = CatalogZone.objects.select_related(
|
||||
"view"
|
||||
).order_by("view__name")
|
||||
return context
|
||||
|
||||
|
||||
@method_decorator(
|
||||
user_passes_test(lambda u: u.is_superuser), name="dispatch"
|
||||
|
||||
Reference in new issue
Block a user