Implement layout declaration under view

This commit is contained in:
Jeremy Stretch
2025-10-31 13:48:24 -04:00
parent eef9db5e5a
commit 3fd4664a76
17 changed files with 113 additions and 40 deletions

View File

@@ -17,7 +17,7 @@ from extras.views import ObjectConfigContextView, ObjectRenderConfigView
from ipam.models import ASN, IPAddress, Prefix, VLANGroup, VLAN
from ipam.tables import InterfaceVLANTable, VLANTranslationRuleTable
from netbox.object_actions import *
from netbox.ui.components import NestedGroupObjectPanel
from netbox.ui import layout
from netbox.views import generic
from utilities.forms import ConfirmationForm
from utilities.paginator import EnhancedPaginator, get_paginate_count
@@ -228,7 +228,7 @@ class RegionView(GetRelatedModelsMixin, generic.ObjectView):
regions = instance.get_descendants(include_self=True)
return {
'region_panel': NestedGroupObjectPanel(instance, _('Region')),
'region_panel': panels.NestedGroupObjectPanel(instance, _('Region')),
'related_models': self.get_related_models(
request,
regions,
@@ -340,7 +340,7 @@ class SiteGroupView(GetRelatedModelsMixin, generic.ObjectView):
groups = instance.get_descendants(include_self=True)
return {
'sitegroup_panel': NestedGroupObjectPanel(instance, _('Site Group')),
'sitegroup_panel': panels.NestedGroupObjectPanel(instance, _('Site Group')),
'related_models': self.get_related_models(
request,
groups,
@@ -465,10 +465,17 @@ class SiteListView(generic.ObjectListView):
@register_model_view(Site)
class SiteView(GetRelatedModelsMixin, generic.ObjectView):
queryset = Site.objects.prefetch_related('tenant__group')
layout = layout.Layout(
layout.Row(
layout.Column(
panels.SitePanel(_('Site'))
),
)
)
def get_extra_context(self, request, instance):
return {
'site_panel': panels.SitePanel(instance, _('Site')),
# 'site_panel': panels.SitePanel(instance, _('Site')),
'related_models': self.get_related_models(
request,
instance,