Upgrade models to full NetboxModel to allow UI/API interaction:
modified: netbox_dns_bridge/models.py deleted: netbox_dns_bridge/migrations/0003_catalogzone_and_per_zone_identifier.py new file: netbox_dns_bridge/migrations/0003_full_netbox_models.py This assumes the migration starts at v1.5.8. Adjust model access and function calls to match new models: modified: netbox_dns_bridge/signals/netbox_dns_zones.py modified: netbox_dns_bridge/management/commands/dns_transfer_endpoint/catalog_zone_manager.py modified: netbox_dns_bridge/management/commands/dns_transfer_endpoint/request_handler.py Update UI elements and permission interactions: modified: netbox_dns_bridge/filtersets.py modified: netbox_dns_bridge/forms.py modified: netbox_dns_bridge/jobs/notify.py modified: netbox_dns_bridge/navigation.py modified: netbox_dns_bridge/tables.py deleted: netbox_dns_bridge/templates/netbox_dns_bridge/catalog_zone_members.html new file: netbox_dns_bridge/templates/netbox_dns_bridge/catalogzone.html new file: netbox_dns_bridge/templates/netbox_dns_bridge/catalogzonemember.html deleted: netbox_dns_bridge/templates/netbox_dns_bridge/notify_overview.html new file: netbox_dns_bridge/templates/netbox_dns_bridge/seentransferclient.html modified: netbox_dns_bridge/urls.py modified: netbox_dns_bridge/views.py
This commit is contained in:
1 parent
a3f53767e4
commit
a3bc64df62
18 files changed
+596
-352
No files matched your search
+60
-51
@@ -1,67 +1,76 @@
|
||||
from django.contrib.auth.decorators import user_passes_test
|
||||
from django.shortcuts import render
|
||||
from django.utils.decorators import method_decorator
|
||||
from django.views import View
|
||||
from netbox.object_actions import EditObject
|
||||
from netbox.views import generic
|
||||
from utilities.views import register_model_view
|
||||
|
||||
import netbox_dns.models
|
||||
from netbox.views.generic import ObjectEditView, ObjectListView
|
||||
|
||||
from .filtersets import CatalogZoneFilterSet, ZoneFilterSet
|
||||
from .filtersets import (
|
||||
CatalogZoneFilterSet,
|
||||
CatalogZoneMemberFilterSet,
|
||||
SeenTransferClientFilterSet,
|
||||
)
|
||||
from .forms import (
|
||||
CatalogZoneFilterForm,
|
||||
CatalogZoneForm,
|
||||
CatalogZoneMemberFilterForm,
|
||||
SeenTransferClientFilterForm,
|
||||
)
|
||||
from .models import CatalogZone, CatalogZoneMember, SeenTransferClient
|
||||
from .tables import (
|
||||
CatalogZoneMemberTable,
|
||||
CatalogZoneTable,
|
||||
SeenTransferClientTable,
|
||||
)
|
||||
from .models import CatalogZone, SeenTransferClients
|
||||
from .tables import CatalogZoneMemberTable, CatalogZoneTable
|
||||
|
||||
|
||||
@method_decorator(
|
||||
user_passes_test(lambda u: u.is_superuser), name="dispatch"
|
||||
)
|
||||
class CatalogZoneListView(ObjectListView):
|
||||
@register_model_view(CatalogZone, "list", path="", detail=False)
|
||||
class CatalogZoneListView(generic.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 = CatalogZoneMemberTable
|
||||
filterset = ZoneFilterSet
|
||||
filterset_form = CatalogZoneMemberFilterForm
|
||||
template_name = "netbox_dns_bridge/catalog_zone_members.html"
|
||||
actions = ()
|
||||
|
||||
|
||||
@method_decorator(
|
||||
user_passes_test(lambda u: u.is_superuser), name="dispatch"
|
||||
)
|
||||
class NotifyOverviewView(View):
|
||||
template_name = "netbox_dns_bridge/notify_overview.html"
|
||||
@register_model_view(CatalogZone)
|
||||
class CatalogZoneView(generic.ObjectView):
|
||||
queryset = CatalogZone.objects.select_related("view")
|
||||
actions = (EditObject,)
|
||||
|
||||
def get(self, request):
|
||||
seen_clients = (
|
||||
SeenTransferClients.objects.select_related("view")
|
||||
.all()
|
||||
.order_by("source_ip")
|
||||
)
|
||||
context = {"seen_clients": seen_clients}
|
||||
return render(request, self.template_name, context)
|
||||
|
||||
@register_model_view(CatalogZone, "edit")
|
||||
class CatalogZoneEditView(generic.ObjectEditView):
|
||||
queryset = CatalogZone.objects.select_related("view")
|
||||
form = CatalogZoneForm
|
||||
|
||||
|
||||
@register_model_view(CatalogZoneMember, "list", path="", detail=False)
|
||||
class CatalogZoneMemberListView(generic.ObjectListView):
|
||||
queryset = CatalogZoneMember.objects.select_related(
|
||||
"zone", "catalog_zone__view"
|
||||
).order_by("catalog_zone__view__name", "name")
|
||||
table = CatalogZoneMemberTable
|
||||
filterset = CatalogZoneMemberFilterSet
|
||||
filterset_form = CatalogZoneMemberFilterForm
|
||||
actions = ()
|
||||
|
||||
|
||||
@register_model_view(CatalogZoneMember)
|
||||
class CatalogZoneMemberView(generic.ObjectView):
|
||||
queryset = CatalogZoneMember.objects.select_related(
|
||||
"zone", "catalog_zone__view"
|
||||
)
|
||||
actions = ()
|
||||
|
||||
|
||||
@register_model_view(SeenTransferClient, "list", path="", detail=False)
|
||||
class SeenTransferClientListView(generic.ObjectListView):
|
||||
queryset = SeenTransferClient.objects.select_related("view").order_by("source_ip")
|
||||
table = SeenTransferClientTable
|
||||
filterset = SeenTransferClientFilterSet
|
||||
filterset_form = SeenTransferClientFilterForm
|
||||
actions = ()
|
||||
|
||||
|
||||
@register_model_view(SeenTransferClient)
|
||||
class SeenTransferClientView(generic.ObjectView):
|
||||
queryset = SeenTransferClient.objects.select_related("view")
|
||||
actions = ()
|
||||
Reference in new issue
Block a user