From c722abe4975b04039875cad8f15fe697cb930fa6 Mon Sep 17 00:00:00 2001 From: Louis Date: Thu, 17 Sep 2026 15:10:33 +0200 Subject: [PATCH] fix: move offline SVG export from buttons() to right_page() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The buttons() plugin-template-extension hook was registered for dcim.rack and rendered without error, but the button HTML never appeared on the rendered rack detail page in production — NetBox's Rack detail template apparently doesn't wire the buttons() slot into its controls row. right_page() is confirmed working for this plugin already (the device rack-width panel uses it), so the export links now render there as a small card instead. Co-Authored-By: Claude Sonnet 5 --- netbox_utilities/__init__.py | 2 +- netbox_utilities/template_content.py | 4 ++-- .../rack_offline_svg_buttons.html | 10 ---------- .../netbox_utilities/rack_offline_svg_panel.html | 15 +++++++++++++++ pyproject.toml | 2 +- 5 files changed, 19 insertions(+), 14 deletions(-) delete mode 100644 netbox_utilities/templates/netbox_utilities/rack_offline_svg_buttons.html create mode 100644 netbox_utilities/templates/netbox_utilities/rack_offline_svg_panel.html diff --git a/netbox_utilities/__init__.py b/netbox_utilities/__init__.py index c6b0eb9..9c952c0 100644 --- a/netbox_utilities/__init__.py +++ b/netbox_utilities/__init__.py @@ -1,6 +1,6 @@ from netbox.plugins import PluginConfig, get_plugin_config -__version__ = "0.11.0" +__version__ = "0.11.1" class NetBoxUtilitiesConfig(PluginConfig): diff --git a/netbox_utilities/template_content.py b/netbox_utilities/template_content.py index 86897ab..ba20d62 100644 --- a/netbox_utilities/template_content.py +++ b/netbox_utilities/template_content.py @@ -155,12 +155,12 @@ class ConnectionVLANContent(PluginTemplateExtension): class RackUtilitiesContent(PluginTemplateExtension): models = ["dcim.rack"] - def buttons(self): + def right_page(self): if not offline_svg_export_enabled(): return "" rack = self.context["object"] return self.render( - "netbox_utilities/rack_offline_svg_buttons.html", + "netbox_utilities/rack_offline_svg_panel.html", {"rack": rack}, ) diff --git a/netbox_utilities/templates/netbox_utilities/rack_offline_svg_buttons.html b/netbox_utilities/templates/netbox_utilities/rack_offline_svg_buttons.html deleted file mode 100644 index 4ae3c48..0000000 --- a/netbox_utilities/templates/netbox_utilities/rack_offline_svg_buttons.html +++ /dev/null @@ -1,10 +0,0 @@ - - - SVG offline (vorne) - - - - SVG offline (hinten) - diff --git a/netbox_utilities/templates/netbox_utilities/rack_offline_svg_panel.html b/netbox_utilities/templates/netbox_utilities/rack_offline_svg_panel.html new file mode 100644 index 0000000..d3a16fe --- /dev/null +++ b/netbox_utilities/templates/netbox_utilities/rack_offline_svg_panel.html @@ -0,0 +1,15 @@ +
+

SVG offline exportieren

+ +
diff --git a/pyproject.toml b/pyproject.toml index 41de44b..f17a7ce 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "netbox-utilities" -version = "0.11.0" +version = "0.11.1" description = "Navigation, tenant utilities, connection VLANs, partial-width racks, and bulk operations for NetBox 4.6/4.7" readme = "README.md" requires-python = ">=3.12"