Fixes #19266: Fix copy-to-clipboard button for IP addresses

This commit is contained in:
Jeremy Stretch 2025-04-22 14:44:26 -04:00
parent cbcd91bf6b
commit e31b42d132
2 changed files with 12 additions and 7 deletions

View File

@ -309,8 +309,8 @@ class IPRangeTable(TenancyColumnsMixin, NetBoxTable):
# #
class IPAddressTable(TenancyColumnsMixin, NetBoxTable): class IPAddressTable(TenancyColumnsMixin, NetBoxTable):
address = tables.Column( address = tables.TemplateColumn(
linkify=True, template_code=IPADDRESS_LINK,
verbose_name=_('IP Address') verbose_name=_('IP Address')
) )
vrf = tables.TemplateColumn( vrf = tables.TemplateColumn(

View File

@ -25,18 +25,23 @@ PREFIX_LINK_WITH_DEPTH = """
{% endif %} {% endif %}
""" + PREFIX_LINK """ + PREFIX_LINK
# Annotate the ID of each IP address for copy-to-clipboard functionality
IPADDRESS_LINK = """ IPADDRESS_LINK = """
{% if record.address or record.start_address %} {% if record.address %}
<a href="{{ record.get_absolute_url }}">{{ record }}</a> <a href="{{ record.get_absolute_url }}" id="ipaddress_{{ record.pk}}">{{ record }}</a>
{% elif record.start_address %}
<a href="{{ record.get_absolute_url }}">{{ record }}</a>
{% elif perms.ipam.add_ipaddress %} {% elif perms.ipam.add_ipaddress %}
<a href="{% url 'ipam:ipaddress_add' %}?address={{ record.first_ip }}{% if object.vrf %}&vrf={{ object.vrf.pk }}{% endif %}{% if object.tenant %}&tenant={{ object.tenant.pk }}{% endif %}&return_url={% url 'ipam:prefix_ipaddresses' pk=object.pk %}" class="btn btn-sm btn-success">{{ record.title }}</a> <a href="{% url 'ipam:ipaddress_add' %}?address={{ record.first_ip }}{% if object.vrf %}&vrf={{ object.vrf.pk }}{% endif %}{% if object.tenant %}&tenant={{ object.tenant.pk }}{% endif %}&return_url={% url 'ipam:prefix_ipaddresses' pk=object.pk %}" class="btn btn-sm btn-success">{{ record.title }}</a>
{% else %} {% else %}
{{ record.title }} {{ record.title }}
{% endif %} {% endif %}
""" """
IPADDRESS_COPY_BUTTON = """ IPADDRESS_COPY_BUTTON = """
{% copy_content record.pk prefix="ipaddress_" %} {% if record.address %}
{% copy_content record.pk prefix="ipaddress_" %}
{% endif %}
""" """
IPADDRESS_ASSIGN_LINK = """ IPADDRESS_ASSIGN_LINK = """