1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Fixes #8138: Fix alignment of tags panel within IP address view

This commit is contained in:
jeremystretch
2021-12-21 14:04:15 -05:00
parent f1350a1022
commit d4b6fe14c3

View File

@ -13,143 +13,135 @@
{% block content %} {% block content %}
<div class="row"> <div class="row">
<div class="col col-md-4"> <div class="col col-md-4">
<div class="card"> <div class="card">
<h5 class="card-header"> <h5 class="card-header">
IP Address IP Address
</h5> </h5>
<div class="card-body"> <div class="card-body">
<table class="table table-hover attr-table"> <table class="table table-hover attr-table">
<tr> <tr>
<th scope="row">Family</th> <th scope="row">Family</th>
<td>IPv{{ object.family }}</td> <td>IPv{{ object.family }}</td>
</tr> </tr>
<tr> <tr>
<th scope="row">VRF</th> <th scope="row">VRF</th>
<td> <td>
{% if object.vrf %} {% if object.vrf %}
<a href="{% url 'ipam:vrf' pk=object.vrf.pk %}">{{ object.vrf }}</a> <a href="{% url 'ipam:vrf' pk=object.vrf.pk %}">{{ object.vrf }}</a>
{% else %}
<span>Global</span>
{% endif %}
</td>
</tr>
<tr>
<th scope="row">Tenant</th>
<td>
{% if object.tenant %}
{% if object.tenant.group %}
<a href="{{ object.tenant.group.get_absolute_url }}">{{ object.tenant.group }}</a> /
{% endif %}
<a href="{{ object.tenant.get_absolute_url }}">{{ object.tenant }}</a>
{% else %}
<span class="text-muted">None</span>
{% endif %}
</td>
</tr>
<tr>
<th scope="row">Status</th>
<td>
<span class="badge bg-{{ object.get_status_class }}">{{ object.get_status_display }}</span>
</td>
</tr>
<tr>
<th scope="row">Role</th>
<td>
{% if object.role %}
<a href="{% url 'ipam:ipaddress_list' %}?role={{ object.role }}">{{ object.get_role_display }}</a>
{% else %}
<span class="text-muted">None</span>
{% endif %}
</td>
</tr>
<tr>
<th scope="row">DNS Name</th>
<td>{{ object.dns_name|placeholder }}</td>
</tr>
<tr>
<th scope="row">Description</th>
<td>{{ object.description|placeholder }}</td>
</tr>
<tr>
<th scope="row">Assignment</th>
<td>
{% if object.assigned_object %}
{% if object.assigned_object.parent_object %}
<a href="{{ object.assigned_object.parent_object.get_absolute_url }}">{{ object.assigned_object.parent_object }}</a> /
{% endif %}
<a href="{{ object.assigned_object.get_absolute_url }}">{{ object.assigned_object }}
{% else %} {% else %}
<span class="text-muted">&mdash;</span> <span>Global</span>
{% endif %} {% endif %}
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row">NAT (inside)</th> <th scope="row">Tenant</th>
<td> <td>
{% if object.nat_inside %} {% if object.tenant %}
<a href="{{ object.nat_inside.get_absolute_url }}">{{ object.nat_inside }}</a> {% if object.tenant.group %}
{% if object.nat_inside.assigned_object %} <a href="{{ object.tenant.group.get_absolute_url }}">{{ object.tenant.group }}</a> /
(<a href="{{ object.nat_inside.assigned_object.parent_object.get_absolute_url }}">{{ object.nat_inside.assigned_object.parent_object }}</a>) {% endif %}
{% endif %} <a href="{{ object.tenant.get_absolute_url }}">{{ object.tenant }}</a>
{% else %} {% else %}
<span class="text-muted">None</span> <span class="text-muted">None</span>
{% endif %} {% endif %}
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row">NAT (outside)</th> <th scope="row">Status</th>
<td> <td>
{% if object.nat_outside %} <span class="badge bg-{{ object.get_status_class }}">{{ object.get_status_display }}</span>
<a href="{{ object.nat_outside.get_absolute_url }}">{{ object.nat_outside }}</a> </td>
{% else %} </tr>
<span class="text-muted">None</span> <tr>
{% endif %} <th scope="row">Role</th>
</td> <td>
</tr> {% if object.role %}
</table> <a href="{% url 'ipam:ipaddress_list' %}?role={{ object.role }}">{{ object.get_role_display }}</a>
</div> {% else %}
</div> <span class="text-muted">None</span>
{% include 'inc/panels/custom_fields.html' %} {% endif %}
</td>
{% plugin_left_page object %} </tr>
</div> <tr>
<th scope="row">DNS Name</th>
<div class="col col-md-8"> <td>{{ object.dns_name|placeholder }}</td>
{% include 'inc/panel_table.html' with table=parent_prefixes_table heading='Parent Prefixes' %} </tr>
{% if duplicate_ips_table.rows %} <tr>
{# Custom version of panel_table.html #} <th scope="row">Description</th>
<div class="card border-danger"> <td>{{ object.description|placeholder }}</td>
<h5 class="card-header"> </tr>
<span class="text-danger">Duplicate IP Addresses</span> <tr>
{% if more_duplicate_ips %} <th scope="row">Assignment</th>
<div class="float-end"> <td>
<a type="button" class="btn btn-primary btn-sm" {% if object.assigned_object %}
{% if object.vrf %} {% if object.assigned_object.parent_object %}
href="{% url 'ipam:ipaddress_list' %}?address={{ object.address.ip }}&vrf_id={{ object.vrf.pk }}" <a href="{{ object.assigned_object.parent_object.get_absolute_url }}">{{ object.assigned_object.parent_object }}</a> /
{% endif %}
<a href="{{ object.assigned_object.get_absolute_url }}">{{ object.assigned_object }}
{% else %} {% else %}
href="{% url 'ipam:ipaddress_list' %}?address={{ object.address.ip }}&vrf_id=null" <span class="text-muted">&mdash;</span>
{% endif %} {% endif %}
>Show all</a> </td>
</div> </tr>
{% endif %} <tr>
</h5> <th scope="row">NAT (inside)</th>
<div class="card-body table-responsive"> <td>
{% render_table duplicate_ips_table 'inc/table.html' %} {% if object.nat_inside %}
</div> <a href="{{ object.nat_inside.get_absolute_url }}">{{ object.nat_inside }}</a>
</div> {% if object.nat_inside.assigned_object %}
{% endif %} (<a href="{{ object.nat_inside.assigned_object.parent_object.get_absolute_url }}">{{ object.nat_inside.assigned_object.parent_object }}</a>)
<div class="my-3"> {% endif %}
{% include 'inc/panel_table.html' with table=related_ips_table heading='Related IP Addresses' %} {% else %}
</div> <span class="text-muted">None</span>
{% plugin_right_page object %} {% endif %}
</td>
</tr>
<tr>
<th scope="row">NAT (outside)</th>
<td>
{% if object.nat_outside %}
<a href="{{ object.nat_outside.get_absolute_url }}">{{ object.nat_outside }}</a>
{% else %}
<span class="text-muted">None</span>
{% endif %}
</td>
</tr>
</table>
</div>
</div>
{% include 'inc/panels/tags.html' %}
{% include 'inc/panels/custom_fields.html' %}
{% plugin_left_page object %}
</div> </div>
</div> <div class="col col-md-8">
{% include 'inc/panel_table.html' with table=parent_prefixes_table heading='Parent Prefixes' %}
<div class="row my-3"> {% if duplicate_ips_table.rows %}
<div class="col col-md-4"> {# Custom version of panel_table.html #}
{% include 'inc/panels/tags.html' %} <div class="card border-danger">
<h5 class="card-header">
<span class="text-danger">Duplicate IP Addresses</span>
{% if more_duplicate_ips %}
<div class="float-end">
<a type="button" class="btn btn-primary btn-sm"
{% if object.vrf %}
href="{% url 'ipam:ipaddress_list' %}?address={{ object.address.ip }}&vrf_id={{ object.vrf.pk }}"
{% else %}
href="{% url 'ipam:ipaddress_list' %}?address={{ object.address.ip }}&vrf_id=null"
{% endif %}
>Show all</a>
</div>
{% endif %}
</h5>
<div class="card-body table-responsive">
{% render_table duplicate_ips_table 'inc/table.html' %}
</div>
</div>
{% endif %}
<div class="my-3">
{% include 'inc/panel_table.html' with table=related_ips_table heading='Related IP Addresses' %}
</div> </div>
{% plugin_right_page object %}
</div>
</div> </div>
<div class="row"> <div class="row">