Browse Source

fix(dcim): Fix Virtual Chassis Member add action context

Fix context variable references in VirtualChassMembersPanel add action
to use 'virtual_chassis' instead of 'object'. Add safe checks for
master_id existence to prevent errors when master is not set.

Fixes #21810
Martin Hauser 1 day ago
parent
commit
9492b55f4b
1 changed files with 11 additions and 2 deletions
  1. 11 2
      netbox/dcim/ui/panels.py

+ 11 - 2
netbox/dcim/ui/panels.py

@@ -420,14 +420,23 @@ class VirtualChassisMembersPanel(panels.ObjectPanel):
     """
     A panel which lists all members of a virtual chassis.
     """
+
     template_name = 'dcim/panels/virtual_chassis_members.html'
     title = _('Virtual Chassis Members')
     actions = [
         actions.AddObject(
             'dcim.device',
             url_params={
-                'site': lambda ctx: ctx['object'].master.site_id if ctx['object'].master else '',
-                'rack': lambda ctx: ctx['object'].master.rack_id if ctx['object'].master else '',
+                'site': lambda ctx: (
+                    ctx['virtual_chassis'].master.site_id
+                    if ctx['virtual_chassis'] and ctx['virtual_chassis'].master_id
+                    else ''
+                ),
+                'rack': lambda ctx: (
+                    ctx['virtual_chassis'].master.rack_id
+                    if ctx['virtual_chassis'] and ctx['virtual_chassis'].master_id
+                    else ''
+                ),
             },
         ),
     ]