From 614440905891d8575dd0f9b711895b78313059a8 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 29 Jul 2024 12:57:26 -0400 Subject: [PATCH] Clean up tables & templates --- netbox/dcim/forms/model_forms.py | 4 ++-- netbox/dcim/tables/devices.py | 25 ++++++++++++++++------ netbox/templates/dcim/module.html | 3 +++ netbox/templates/dcim/modulebay.html | 8 +++---- netbox/templates/dcim/moduletype.html | 6 ++---- netbox/templates/dcim/moduletype/base.html | 3 +++ 6 files changed, 33 insertions(+), 16 deletions(-) diff --git a/netbox/dcim/forms/model_forms.py b/netbox/dcim/forms/model_forms.py index ce79088d0..f9498c4a8 100644 --- a/netbox/dcim/forms/model_forms.py +++ b/netbox/dcim/forms/model_forms.py @@ -1032,7 +1032,7 @@ class RearPortTemplateForm(ModularComponentTemplateForm): ] -class ModuleBayTemplateForm(ComponentTemplateForm): +class ModuleBayTemplateForm(ModularComponentTemplateForm): fieldsets = ( FieldSet('device_type', 'module_type', 'name', 'label', 'position', 'description'), ) @@ -1452,7 +1452,7 @@ class RearPortForm(ModularDeviceComponentForm): ] -class ModuleBayForm(DeviceComponentForm): +class ModuleBayForm(ModularDeviceComponentForm): fieldsets = ( FieldSet('device', 'module', 'name', 'label', 'position', 'description', 'tags',), ) diff --git a/netbox/dcim/tables/devices.py b/netbox/dcim/tables/devices.py index 29c39daec..d00e25d8f 100644 --- a/netbox/dcim/tables/devices.py +++ b/netbox/dcim/tables/devices.py @@ -852,6 +852,11 @@ class ModuleBayTable(ModularDeviceComponentTable): 'args': [Accessor('device_id')], } ) + parent_bay = tables.Column( + accessor=tables.A('module__module_bay'), + linkify=True, + verbose_name=_('Parent Bay') + ) installed_module = tables.Column( linkify=True, verbose_name=_('Installed Module') @@ -876,10 +881,18 @@ class ModuleBayTable(ModularDeviceComponentTable): class Meta(DeviceComponentTable.Meta): model = models.ModuleBay fields = ( - 'pk', 'id', 'name', 'device', 'label', 'position', 'installed_module', 'module_status', 'module_serial', - 'module_asset_tag', 'description', 'tags', + 'pk', 'id', 'name', 'device', 'parent_bay', 'label', 'position', 'installed_module', 'module_status', + 'module_serial', 'module_asset_tag', 'description', 'tags', ) - default_columns = ('pk', 'name', 'device', 'label', 'installed_module', 'module_status', 'description') + default_columns = ( + 'pk', 'name', 'device', 'parent_bay', 'label', 'installed_module', 'module_status', 'description', + ) + + def render_parent_bay(self, value): + return value.name if value else '' + + def render_installed_module(self, value): + return value.module_type if value else '' class DeviceModuleBayTable(ModuleBayTable): @@ -890,10 +903,10 @@ class DeviceModuleBayTable(ModuleBayTable): class Meta(DeviceComponentTable.Meta): model = models.ModuleBay fields = ( - 'pk', 'id', 'name', 'label', 'position', 'installed_module', 'module_status', 'module_serial', 'module_asset_tag', - 'description', 'tags', 'actions', + 'pk', 'id', 'parent_bay', 'name', 'label', 'position', 'installed_module', 'module_status', 'module_serial', + 'module_asset_tag', 'description', 'tags', 'actions', ) - default_columns = ('pk', 'name', 'label', 'installed_module', 'module_status', 'description') + default_columns = ('pk', 'parent_bay', 'name', 'label', 'installed_module', 'module_status', 'description') class InventoryItemTable(DeviceComponentTable): diff --git a/netbox/templates/dcim/module.html b/netbox/templates/dcim/module.html index 2180a83a3..dcd08bd4e 100644 --- a/netbox/templates/dcim/module.html +++ b/netbox/templates/dcim/module.html @@ -39,6 +39,9 @@ {% if perms.dcim.add_rearport %}
  • {% trans "Rear Ports" %}
  • {% endif %} + {% if perms.dcim.add_modulebay %} +
  • {% trans "Module Bays" %}
  • + {% endif %} {% endif %} diff --git a/netbox/templates/dcim/modulebay.html b/netbox/templates/dcim/modulebay.html index 0a5dc25ce..456b12ce9 100644 --- a/netbox/templates/dcim/modulebay.html +++ b/netbox/templates/dcim/modulebay.html @@ -23,8 +23,8 @@ - {% trans "Module" %} - {{ object.module|linkify|placeholder }} + {% trans "Module" %} + {{ object.module|linkify|placeholder }} {% trans "Name" %} @@ -35,8 +35,8 @@ {{ object.label|placeholder }} - {% trans "Position" %} - {{ object.position|placeholder }} + {% trans "Position" %} + {{ object.position|placeholder }} {% trans "Description" %} diff --git a/netbox/templates/dcim/moduletype.html b/netbox/templates/dcim/moduletype.html index 3ddeea89e..285eacdf2 100644 --- a/netbox/templates/dcim/moduletype.html +++ b/netbox/templates/dcim/moduletype.html @@ -27,10 +27,8 @@ {{ object.description|placeholder }} - {% trans "Airflow" %} - - {{ object.get_airflow_display|placeholder }} - + {% trans "Airflow" %} + {{ object.get_airflow_display|placeholder }} {% trans "Weight" %} diff --git a/netbox/templates/dcim/moduletype/base.html b/netbox/templates/dcim/moduletype/base.html index 1aaaa427f..b7d9026d5 100644 --- a/netbox/templates/dcim/moduletype/base.html +++ b/netbox/templates/dcim/moduletype/base.html @@ -39,6 +39,9 @@ {% if perms.dcim.add_rearporttemplate %}
  • {% trans "Rear Ports" %}
  • {% endif %} + {% if perms.dcim.add_modulebaytemplate %} +
  • {% trans "Module Bays" %}
  • + {% endif %} {% endif %}