From c28736e1d666288bd672ac57cd211fe42366a6a5 Mon Sep 17 00:00:00 2001 From: Martin Hauser Date: Wed, 15 Apr 2026 21:29:17 +0200 Subject: [PATCH] Fixes #21913: Restore plugin template extension support on declarative-layout detail views (#21928) --- netbox/core/views.py | 18 ++++++++++++++++++ netbox/ipam/views.py | 15 +++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/netbox/core/views.py b/netbox/core/views.py index 9fcfdf728..c51ade1ab 100644 --- a/netbox/core/views.py +++ b/netbox/core/views.py @@ -192,6 +192,12 @@ class DataFileView(generic.ObjectView): layout.Column( panels.DataFilePanel(), panels.DataFileContentPanel(), + PluginContentPanel('left_page'), + ), + ), + layout.Row( + layout.Column( + PluginContentPanel('full_width_page'), ), ), ) @@ -253,6 +259,12 @@ class JobLogView(generic.ObjectView): layout.Row( layout.Column( ContextTablePanel('table', title=_('Log Entries')), + PluginContentPanel('left_page'), + ), + ), + layout.Row( + layout.Column( + PluginContentPanel('full_width_page'), ), ), ) @@ -393,6 +405,12 @@ class ConfigRevisionView(generic.ObjectView): layout.Column( TemplatePanel('core/panels/configrevision_data.html'), TemplatePanel('core/panels/configrevision_comment.html'), + PluginContentPanel('left_page'), + ), + ), + layout.Row( + layout.Column( + PluginContentPanel('full_width_page'), ), ), ) diff --git a/netbox/ipam/views.py b/netbox/ipam/views.py index 44cba22b2..0c784f8ac 100644 --- a/netbox/ipam/views.py +++ b/netbox/ipam/views.py @@ -16,6 +16,7 @@ from netbox.ui.panels import ( CommentsPanel, ContextTablePanel, ObjectsTablePanel, + PluginContentPanel, RelatedObjectsPanel, TemplatePanel, ) @@ -55,11 +56,13 @@ class VRFView(GetRelatedModelsMixin, generic.ObjectView): layout.Column( panels.VRFPanel(), TagsPanel(), + PluginContentPanel('left_page'), ), layout.Column( RelatedObjectsPanel(), CustomFieldsPanel(), CommentsPanel(), + PluginContentPanel('right_page'), ), ), layout.Row( @@ -70,6 +73,11 @@ class VRFView(GetRelatedModelsMixin, generic.ObjectView): ContextTablePanel('export_targets_table', title=_('Export route targets')), ), ), + layout.Row( + layout.Column( + PluginContentPanel('full_width_page'), + ), + ), ) def get_extra_context(self, request, instance): @@ -169,10 +177,12 @@ class RouteTargetView(generic.ObjectView): layout.Column( panels.RouteTargetPanel(), TagsPanel(), + PluginContentPanel('left_page'), ), layout.Column( CustomFieldsPanel(), CommentsPanel(), + PluginContentPanel('right_page'), ), ), layout.Row( @@ -207,6 +217,11 @@ class RouteTargetView(generic.ObjectView): ), ), ), + layout.Row( + layout.Column( + PluginContentPanel('full_width_page'), + ), + ), )