From 46553725855e5790a302d034b7f4162b6d587a91 Mon Sep 17 00:00:00 2001 From: Brian Tiemann Date: Thu, 14 Nov 2024 18:10:32 -0500 Subject: [PATCH] HTML cleanup and add copy-to-clipboard button --- netbox/dcim/tables/devices.py | 19 ++++++++++-- netbox/dcim/views.py | 9 ------ netbox/templates/dcim/interface.html | 2 +- netbox/templates/dcim/macaddress.html | 11 +++++-- .../templates/dcim/macaddress_bulk_add.html | 30 ------------------- 5 files changed, 25 insertions(+), 46 deletions(-) delete mode 100644 netbox/templates/dcim/macaddress_bulk_add.html diff --git a/netbox/dcim/tables/devices.py b/netbox/dcim/tables/devices.py index 398b2e5a6..85e43d156 100644 --- a/netbox/dcim/tables/devices.py +++ b/netbox/dcim/tables/devices.py @@ -43,6 +43,16 @@ MODULEBAY_STATUS = """ {% badge record.installed_module.get_status_display bg_color=record.installed_module.get_status_color %} """ +MACADDRESS_LINK = """ +{% if record.pk %} + {{ record.mac_address }} +{% endif %} +""" + +MACADDRESS_COPY_BUTTON = """ +{% copy_content record.pk prefix="macaddress_" %} +""" + # # Device roles @@ -599,9 +609,9 @@ class BaseInterfaceTable(NetBoxTable): class MACAddressTable(NetBoxTable): - mac_address = tables.Column( - verbose_name=_('MAC Address'), - linkify=True + mac_address = tables.TemplateColumn( + template_code=MACADDRESS_LINK, + verbose_name=_('MAC Address') ) assigned_object = tables.Column( linkify=True, @@ -625,6 +635,9 @@ class MACAddressTable(NetBoxTable): tags = columns.TagColumn( url_name='dcim:macaddress_list' ) + actions = columns.ActionsColumn( + extra_buttons=MACADDRESS_COPY_BUTTON + ) class Meta(DeviceComponentTable.Meta): model = models.MACAddress diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index 94f848077..cc2425b68 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -2548,7 +2548,6 @@ class MACAddressListView(generic.ObjectListView): filterset = filtersets.MACAddressFilterSet filterset_form = forms.MACAddressFilterForm table = tables.MACAddressTable - template_name = 'dcim/component_list.html' @register_model_view(MACAddress) @@ -2632,13 +2631,6 @@ class InterfaceView(generic.ObjectView): orderable=False ) - # Get MAC addresses - mac_addresses_table = tables.MACAddressTable( - data=instance.mac_addresses, - exclude=('assigned_object',), - orderable=False - ) - # Get assigned VLANs and annotate whether each is tagged or untagged vlans = [] if instance.untagged_vlan is not None: @@ -2665,7 +2657,6 @@ class InterfaceView(generic.ObjectView): 'vdc_table': vdc_table, 'bridge_interfaces_table': bridge_interfaces_table, 'child_interfaces_table': child_interfaces_table, - 'mac_addresses_table': mac_addresses_table, 'vlan_table': vlan_table, 'vlan_translation_table': vlan_translation_table, } diff --git a/netbox/templates/dcim/interface.html b/netbox/templates/dcim/interface.html index 98fb3f487..476ee7ee7 100644 --- a/netbox/templates/dcim/interface.html +++ b/netbox/templates/dcim/interface.html @@ -358,7 +358,7 @@

{% trans "MAC Addresses" %} - {% if perms.ipam.add_macaddress %} + {% if perms.dcim.add_macaddress %}
{% trans "Add MAC Address" %} diff --git a/netbox/templates/dcim/macaddress.html b/netbox/templates/dcim/macaddress.html index 5b8c0b478..12b332121 100644 --- a/netbox/templates/dcim/macaddress.html +++ b/netbox/templates/dcim/macaddress.html @@ -10,6 +10,13 @@

{% trans "MAC Address" %}

+ + + + @@ -18,9 +25,7 @@
{% trans "MAC Address" %} + {{ object.mac_address|placeholder }} + {% copy_content object.pk prefix="macaddress_" %} +
{% trans "Description" %} {{ object.description|placeholder }}{% trans "Assignment" %} {% if object.assigned_object %} - {% if object.assigned_object.parent_object %} - {{ object.assigned_object.parent_object|linkify }} / - {% endif %} + {{ object.assigned_object.parent_object|linkify }} / {{ object.assigned_object|linkify }} {% else %} {{ ''|placeholder }} diff --git a/netbox/templates/dcim/macaddress_bulk_add.html b/netbox/templates/dcim/macaddress_bulk_add.html deleted file mode 100644 index d29c6e718..000000000 --- a/netbox/templates/dcim/macaddress_bulk_add.html +++ /dev/null @@ -1,30 +0,0 @@ -{% extends 'generic/object_edit.html' %} -{% load static %} -{% load form_helpers %} -{% load i18n %} - -{% block title %}{% trans "Bulk Add MAC Addresses" %}{% endblock %} - -{% block tabs %} - {% include 'ipam/inc/ipaddress_edit_header.html' with active_tab='bulk_add' %} -{% endblock %} - -{% block form %} -
-
-

{% trans "MAC Addresses" %}

-
- {% render_field form.pattern %} - {% render_field model_form.description %} - {% render_field model_form.tags %} -
- - {% if model_form.custom_fields %} -
-
-

{% trans "Custom Fields" %}

-
- {% render_custom_fields model_form %} -
- {% endif %} -{% endblock %}