feat: support partial-width rack devices

This commit is contained in:
2026-08-12 10:38:54 +02:00
parent 267a78d58d
commit a504341442
11 changed files with 740 additions and 7 deletions
+13 -1
View File
@@ -5,7 +5,7 @@ from netbox.plugins import PluginTemplateExtension
from tenancy.models import Tenant, TenantGroup
from . import __version__
from .models import NavigationPreference
from .models import DeviceRackPlacement, NavigationPreference
from .navigation_helpers import (
SIDEBAR_WIDTH_DEFAULT,
SIDEBAR_WIDTH_MAX,
@@ -99,5 +99,17 @@ class DeviceUtilitiesContent(PluginTemplateExtension):
return ""
return self.render("netbox_utilities/device_bulk_module_button.html")
def right_page(self):
placement = DeviceRackPlacement.objects.filter(device=self.context["object"]).first()
if placement is None:
return ""
return self.render(
"netbox_utilities/device_rack_width_panel.html",
{
"rack_width": f"1/{placement.width}",
"horizontal_position": placement.horizontal_position,
},
)
template_extensions = [UtilitiesGlobalContent, DeviceUtilitiesContent]