General UI cleanup

This commit is contained in:
jeremystretch 2021-07-21 11:20:35 -04:00
parent d42138384f
commit 19eafef41e
28 changed files with 677 additions and 648 deletions

View File

@ -304,8 +304,8 @@ OTHER_MENU = Menu(
MenuGroup( MenuGroup(
label="Miscellaneous", label="Miscellaneous",
items=( items=(
MenuItem(label="Config Contexts", MenuItem(label="Config Contexts", url="extras:configcontext_list",
url="extras:configcontext_list", add_url=None, import_url=None), add_url="extras:configcontext_add", import_url=None),
MenuItem(label="Reports", url="extras:report_list", MenuItem(label="Reports", url="extras:report_list",
add_url=None, import_url=None), add_url=None, import_url=None),
MenuItem(label="Scripts", url="extras:script_list", MenuItem(label="Scripts", url="extras:script_list",

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@ -3,7 +3,7 @@
@use 'sass:map'; @use 'sass:map';
:root { :root {
--nbx-sidebar-bg: #{$gray-100}; --nbx-sidebar-bg: #{$gray-200};
--nbx-sidebar-link-color: #{$gray-800}; --nbx-sidebar-link-color: #{$gray-800};
--nbx-sidebar-link-hover-bg: #{$blue-100}; --nbx-sidebar-link-hover-bg: #{$blue-100};
--nbx-sidebar-title-color: #{$text-muted}; --nbx-sidebar-title-color: #{$text-muted};
@ -23,7 +23,7 @@
--nbx-color-mode-toggle-color: #{$primary}; --nbx-color-mode-toggle-color: #{$primary};
body[data-netbox-color-mode='dark'] { body[data-netbox-color-mode='dark'] {
--nbx-sidebar-bg: #{$gray-900}; --nbx-sidebar-bg: #{$gray-800};
--nbx-sidebar-link-color: #{$gray-200}; --nbx-sidebar-link-color: #{$gray-200};
--nbx-sidebar-link-hover-bg: #{rgba($blue-300, 0.15)}; --nbx-sidebar-link-hover-bg: #{rgba($blue-300, 0.15)};
--nbx-sidebar-title-color: #{$gray-600}; --nbx-sidebar-title-color: #{$gray-600};
@ -300,6 +300,11 @@ body {
vertical-align: bottom; vertical-align: bottom;
} }
} }
&.attr-table {
th {
width: 25%;
}
}
} }
} }
@ -605,6 +610,7 @@ span.color-label {
height: 1rem; height: 1rem;
display: block; display: block;
box-shadow: $box-shadow-sm; box-shadow: $box-shadow-sm;
border: 1px solid #303030;
border-radius: $border-radius; border-radius: $border-radius;
padding: $badge-padding-y $badge-padding-x; padding: $badge-padding-y $badge-padding-x;
} }

View File

@ -30,6 +30,12 @@
<th scope="row">Type</th> <th scope="row">Type</th>
<td><a href="{{ object.type.get_absolute_url }}">{{ object.type }}</a></td> <td><a href="{{ object.type.get_absolute_url }}">{{ object.type }}</a></td>
</tr> </tr>
<tr>
<th scope="row">Status</th>
<td>
<span class="badge bg-{{ object.get_status_class }}">{{ object.get_status_display }}</span>
</td>
</tr>
<tr> <tr>
<th scope="row">Tenant</th> <th scope="row">Tenant</th>
<td> <td>
@ -43,12 +49,6 @@
{% endif %} {% endif %}
</td> </td>
</tr> </tr>
<tr>
<th scope="row">Status</th>
<td>
<span class="badge bg-{{ object.get_status_class }}">{{ object.get_status_display }}</span>
</td>
</tr>
<tr> <tr>
<th scope="row">Install Date</th> <th scope="row">Install Date</th>
<td>{{ object.install_date|annotated_date|placeholder }}</td> <td>{{ object.install_date|annotated_date|placeholder }}</td>

View File

@ -19,7 +19,7 @@
</tr> </tr>
<tr> <tr>
<th scope="row">Name</th> <th scope="row">Name</th>
<th scope="row">{{ object.name }}</th> <td>{{ object.name }}</td>
</tr> </tr>
<tr> <tr>
<th scope="row">Label</th> <th scope="row">Label</th>

View File

@ -6,10 +6,6 @@
{% load plugins %} {% load plugins %}
{% block content %} {% block content %}
<div class="row">
<div class="col col-md-12">
<div class="tab-content">
<div role="tabpanel" class="tab-pane active" id="details">
<div class="row"> <div class="row">
<div class="col col-md-6"> <div class="col col-md-6">
<div class="card"> <div class="card">
@ -356,8 +352,4 @@
{% plugin_full_width_page object %} {% plugin_full_width_page object %}
</div> </div>
</div> </div>
</div>
</div>
</div>
</div>
{% endblock %} {% endblock %}

View File

@ -21,24 +21,6 @@
</h5> </h5>
<div class="card-body"> <div class="card-body">
<table class="table table-hover"> <table class="table table-hover">
<tr>
<td colspan="2">
{% if object.enabled %}
<span class="badge bg-success">Enabled</span>
{% else %}
<span class="badge bg-danger">Disabled</span>
{% endif %}
</td>
</tr>
<tr>
<td colspan="2">
{% if object.mgmt_only %}
<span class="badge bg-success">Management Only</span>
{% else %}
<span class="badge bg-danger">Not Management Only</span>
{% endif %}
</td>
</tr>
<tr> <tr>
<th scope="row">Device</th> <th scope="row">Device</th>
<td> <td>
@ -57,6 +39,36 @@
<th scope="row">Type</th> <th scope="row">Type</th>
<td>{{ object.get_type_display }}</td> <td>{{ object.get_type_display }}</td>
</tr> </tr>
<tr>
<th scope="row">Enabled</th>
<td>
{% if object.enabled %}
<i class="mdi mdi-check-bold text-success" title="Yes"></i>
{% else %}
<i class="mdi mdi-close-thick text-danger" title="No"></i>
{% endif %}
</td>
</tr>
<tr>
<th scope="row">Management Only</th>
<td>
{% if object.mgmt_only %}
<i class="mdi mdi-check-bold text-success" title="Yes"></i>
{% else %}
<i class="mdi mdi-close-thick text-danger" title="No"></i>
{% endif %}
</td>
</tr>
<tr>
<th scope="row">Parent</th>
<td>
{% if object.parent %}
<a href="{{ object.parent.get_absolute_url }}">{{ object.parent }}</a>
{% else %}
<span class="text-muted">None</span>
{% endif %}
</td>
</tr>
<tr> <tr>
<th scope="row">LAG</th> <th scope="row">LAG</th>
<td> <td>
@ -81,7 +93,7 @@
</tr> </tr>
<tr> <tr>
<th scope="row">802.1Q Mode</th> <th scope="row">802.1Q Mode</th>
<td>{{ object.get_mode_display }}</td> <td>{{ object.get_mode_display|placeholder }}</td>
</tr> </tr>
</table> </table>
</div> </div>

View File

@ -39,7 +39,7 @@
</tr> </tr>
<tr> <tr>
<th scope="row">Feed Leg</th> <th scope="row">Feed Leg</th>
<td>{{ object.get_feed_leg_display }}</td> <td>{{ object.get_feed_leg_display|placeholder }}</td>
</tr> </tr>
</table> </table>
</div> </div>

View File

@ -27,7 +27,7 @@
</tr> </tr>
<tr> <tr>
<th scope="row">Type</th> <th scope="row">Type</th>
<td>{{ object.get_type_display }}</td> <td>{{ object.get_type_display|placeholder }}</td>
</tr> </tr>
<tr> <tr>
<th scope="row">Description</th> <th scope="row">Description</th>

View File

@ -31,8 +31,8 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<div class="row"> <div class="row">
<div class="col col-12 col-xl-6"> <div class="col col-12 col-xl-5">
<div class="card"> <div class="card">
<h5 class="card-header"> <h5 class="card-header">
Rack Rack
@ -60,19 +60,6 @@
<span class="text-muted">None</span> <span class="text-muted">None</span>
{% endif %} {% endif %}
</td> </td>
</tr>
<tr>
<th scope="row">Group</th>
<td>
{% if object.group %}
{% for group in object.group.get_ancestors %}
<a href="{{ group.get_absolute_url }}">{{ group }}</a> /
{% endfor %}
<a href="{{ object.group.get_absolute_url }}">{{ object.group }}</a>
{% else %}
<span class="text-muted">None</span>
{% endif %}
</td>
</tr> </tr>
<tr> <tr>
<th scope="row">Facility ID</th> <th scope="row">Facility ID</th>
@ -109,7 +96,7 @@
</tr> </tr>
<tr> <tr>
<th scope="row">Serial Number</th> <th scope="row">Serial Number</th>
<td><code>{{ object.serial|placeholder }}</code></td> <td>{{ object.serial|placeholder }}</td>
</tr> </tr>
<tr> <tr>
<th scope="row">Asset Tag</th> <th scope="row">Asset Tag</th>
@ -309,7 +296,7 @@
</div> </div>
{% plugin_left_page object %} {% plugin_left_page object %}
</div> </div>
<div class="col col-12 col-xl-6"> <div class="col col-12 col-xl-7">
<div class="row" style="margin-bottom: 20px"> <div class="row" style="margin-bottom: 20px">
<div class="col col-md-6 col-sm-6 col-xs-12 text-center"> <div class="col col-md-6 col-sm-6 col-xs-12 text-center">
<div style="margin-left: 30px"> <div style="margin-left: 30px">
@ -370,10 +357,10 @@
</div> </div>
{% plugin_right_page object %} {% plugin_right_page object %}
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col col-md-12"> <div class="col col-md-12">
{% plugin_full_width_page object %} {% plugin_full_width_page object %}
</div> </div>
</div> </div>
{% endblock %} {% endblock %}

View File

@ -12,7 +12,7 @@
{% block content %} {% block content %}
<div class="row mb-3"> <div class="row mb-3">
<div class="col col-md-6"> <div class="col col-12 col-xl-5">
<div class="card"> <div class="card">
<h5 class="card-header"> <h5 class="card-header">
Rack Rack
@ -30,10 +30,10 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row">Group</th> <th scope="row">Location</th>
<td> <td>
{% if rack.group %} {% if rack.location %}
<a href="{{ rack.group.get_absolute_url }}">{{ rack.group }}</a> <a href="{{ rack.location.get_absolute_url }}">{{ rack.location }}</a>
{% else %} {% else %}
<span class="text-muted">None</span> <span class="text-muted">None</span>
{% endif %} {% endif %}
@ -87,7 +87,7 @@
{% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='dcim:rackreservation_list' %} {% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='dcim:rackreservation_list' %}
{% plugin_left_page object %} {% plugin_left_page object %}
</div> </div>
<div class="col col-md-6"> <div class="col col-12 col-xl-7">
<div class="row" style="margin-bottom: 20px"> <div class="row" style="margin-bottom: 20px">
<div class="col col-md-6 col-sm-6 col-xs-12 text-center"> <div class="col col-md-6 col-sm-6 col-xs-12 text-center">
<div style="margin-left: 30px"> <div style="margin-left: 30px">

View File

@ -27,12 +27,6 @@
</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>
<td colspan="2">
<span class="badge bg-{{ object.get_status_class }}">{{ object.get_status_display }}</span>
</td>
</tr>
<tr> <tr>
<th scope="row">Region</th> <th scope="row">Region</th>
<td> <td>
@ -46,6 +40,25 @@
{% endif %} {% endif %}
</td> </td>
</tr> </tr>
<tr>
<th scope="row">Group</th>
<td>
{% if object.group %}
{% for group in object.group.get_ancestors %}
<a href="{{ group.get_absolute_url }}">{{ group }}</a> /
{% endfor %}
<a href="{{ object.group.get_absolute_url }}">{{ object.group }}</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> <tr>
<th scope="row">Tenant</th> <th scope="row">Tenant</th>
<td> <td>

View File

@ -60,7 +60,7 @@
<td> <td>
<a href="{{ vc_member.get_absolute_url }}">{{ vc_member }}</a> <a href="{{ vc_member.get_absolute_url }}">{{ vc_member }}</a>
</td> </td>
<td><span class="badge badge-default">{{ vc_member.vc_position }}</span></td> <td><span class="badge bg-secondary">{{ vc_member.vc_position }}</span></td>
<td>{% if object.master == vc_member %}<i class="mdi mdi-check-bold text-success"></i>{% endif %}</td> <td>{% if object.master == vc_member %}<i class="mdi mdi-check-bold text-success"></i>{% endif %}</td>
<td>{{ vc_member.vc_priority|placeholder }}</td> <td>{{ vc_member.vc_priority|placeholder }}</td>
</tr> </tr>

View File

@ -4,7 +4,7 @@
{% block content %} {% block content %}
<div class="row mb-3"> <div class="row mb-3">
<div class="col col-md-6"> <div class="col col-md-5">
<div class="card"> <div class="card">
<h5 class="card-header"> <h5 class="card-header">
Custom Link Custom Link
@ -46,7 +46,7 @@
</div> </div>
{% plugin_left_page object %} {% plugin_left_page object %}
</div> </div>
<div class="col col-md-6"> <div class="col col-md-7">
<div class="card"> <div class="card">
<h5 class="card-header"> <h5 class="card-header">
Link Text Link Text

View File

@ -9,7 +9,7 @@
{% block content %} {% block content %}
<div class="row mb-3"> <div class="row mb-3">
<div class="col col-md-6"> <div class="col col-md-5">
<div class="card"> <div class="card">
<h5 class="card-header"> <h5 class="card-header">
Export Template Export Template
@ -51,7 +51,7 @@
</div> </div>
{% plugin_left_page object %} {% plugin_left_page object %}
</div> </div>
<div class="col col-md-6"> <div class="col col-md-7">
<div class="card"> <div class="card">
<h5 class="card-header"> <h5 class="card-header">
Template Template

View File

@ -3,7 +3,7 @@
{% load plugins %} {% load plugins %}
{% block content %} {% block content %}
<div class="row"> <div class="row">
<div class="col col-md-6"> <div class="col col-md-6">
<div class="card"> <div class="card">
<h5 class="card-header"> <h5 class="card-header">
@ -18,15 +18,9 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row">Slug</th> <th scope="row">Description</th>
<td> <td>
{{ object.slug }} {{ object.description|placeholder }}
</td>
</tr>
<tr>
<th scope="row">Tagged Items</th>
<td>
{{ items_count }}
</td> </td>
</tr> </tr>
<tr> <tr>
@ -36,9 +30,9 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row">Description</th> <th scope="row">Tagged Items</th>
<td> <td>
{{ object.description|placeholder }} {{ taggeditem_table.rows|length }}
</td> </td>
</tr> </tr>
</table> </table>
@ -46,9 +40,35 @@
</div> </div>
</div> </div>
<div class="col col-md-6"> <div class="col col-md-6">
{% include 'inc/panel_table.html' with table=items_table heading='Tagged Objects' %} <div class="card">
{% include 'inc/paginator.html' with paginator=items_table.paginator page=items_table.page %} <h5 class="card-header">
Tagged Item Types
</h5>
<div class="card-body">
<table class="table table-hover panel-body attr-table">
{% for object_type in object_types %}
<tr>
<td>{{ object_type.content_type.name|bettertitle }}</td>
<td>
{% with viewname=object_type.content_type.model_class|validated_viewname:"list" %}
{% if viewname %}
<a href="{% url viewname %}?tag={{ object.slug }}">{{ object_type.item_count }}</a>
{% else %}
{{ object_type.item_count }}
{% endif %}
{% endwith %}
</td>
</tr>
{% endfor %}
</table>
</div> </div>
</div> </div>
{% plugin_full_width_page object %} </div>
<div class="row">
<div class="col">
{% include 'inc/panel_table.html' with table=taggeditem_table heading='Tagged Objects' %}
{% include 'inc/paginator.html' with paginator=taggeditem_table.paginator page=items_table.page %}
</div>
</div>
{% plugin_full_width_page object %}
{% endblock %} {% endblock %}

View File

@ -116,9 +116,9 @@
{% include 'inc/panel_table.html' with table=parent_prefixes_table heading='Parent Prefixes' %} {% include 'inc/panel_table.html' with table=parent_prefixes_table heading='Parent Prefixes' %}
{% if duplicate_ips_table.rows %} {% if duplicate_ips_table.rows %}
{# Custom version of panel_table.html #} {# Custom version of panel_table.html #}
<div class="card bg-danger"> <div class="card border-danger">
<h5 class="card-header"> <h5 class="card-header">
Duplicate IP Addresses <span class="text-danger">Duplicate IP Addresses</span>
{% if more_duplicate_ips %} {% if more_duplicate_ips %}
<div class="float-end"> <div class="float-end">
<a type="button" class="btn btn-primary btn-sm" <a type="button" class="btn btn-primary btn-sm"
@ -137,7 +137,7 @@
</div> </div>
{% endif %} {% endif %}
<div class="my-3"> <div class="my-3">
{% include 'utilities/obj_table.html' with table=related_ips_table heading='Related IP Addresses' %} {% include 'inc/panel_table.html' with table=related_ips_table heading='Related IP Addresses' %}
</div> </div>
{% plugin_right_page object %} {% plugin_right_page object %}
</div> </div>

View File

@ -4,7 +4,7 @@
{% block content %} {% block content %}
<div class="row"> <div class="row">
<div class="col col-md-5"> <div class="col col-md-6">
<div class="card"> <div class="card">
<h5 class="card-header"> <h5 class="card-header">
Prefix Prefix
@ -74,6 +74,12 @@
{% endif %} {% endif %}
</td> </td>
</tr> </tr>
<tr>
<th scope="row">Status</th>
<td>
<span class="badge bg-{{ object.get_status_class }}">{{ object.get_status_display }}</span>
</td>
</tr>
<tr> <tr>
<th scope="row">Role</th> <th scope="row">Role</th>
<td> <td>
@ -85,10 +91,8 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row">Status</th> <th scope="row">Description</th>
<td> <td>{{ object.description|placeholder }}</td>
<span class="label label-{{ object.get_status_class }}">{{ object.get_status_display }}</span>
</td>
</tr> </tr>
<tr> <tr>
<th scope="row">Is a pool</th> <th scope="row">Is a pool</th>
@ -100,10 +104,6 @@
{% endif %} {% endif %}
</td> </td>
</tr> </tr>
<tr>
<th scope="row">Description</th>
<td>{{ object.description|placeholder }}</td>
</tr>
<tr> <tr>
<th scope="row">Utilization</th> <th scope="row">Utilization</th>
<td> <td>
@ -118,24 +118,20 @@
</table> </table>
</div> </div>
</div> </div>
{% include 'inc/custom_fields_panel.html' %}
{% plugin_left_page object %} {% plugin_left_page object %}
</div> </div>
<div class="col col-md-7"> <div class="col col-md-6">
{% if duplicate_prefix_table.rows %} {% include 'inc/custom_fields_panel.html' %}
{% include 'inc/panel_table.html' with table=duplicate_prefix_table heading='Duplicate Prefixes' %}
{% endif %}
{% include 'inc/panel_table.html' with table=parent_prefix_table heading='Parent Prefixes' %}
{% plugin_right_page object %}
</div>
</div>
<div class="row my-3">
<div class="col col-md-5">
{% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='ipam:prefix_list' %} {% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='ipam:prefix_list' %}
{% plugin_right_page object %}
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col col-md-12"> <div class="col col-md-12">
{% if duplicate_prefix_table.rows %}
{% include 'inc/panel_table.html' with table=duplicate_prefix_table heading='Duplicate Prefixes' %}
{% endif %}
{% include 'inc/panel_table.html' with table=parent_prefix_table heading='Parent Prefixes' %}
{% plugin_full_width_page object %} {% plugin_full_width_page object %}
</div> </div>
</div> </div>

View File

@ -32,7 +32,8 @@
</table> </table>
</div> </div>
</div> </div>
{% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='ipam:routetarget_list' %}
{% include 'inc/custom_fields_panel.html' %}
{% plugin_left_page object %} {% plugin_left_page object %}
</div> </div>
<div class="col col-md-6"> <div class="col col-md-6">
@ -43,14 +44,6 @@
{% plugin_right_page object %} {% plugin_right_page object %}
</div> </div>
</div> </div>
<div class="row my-3">
<div class="col col-md-6">
{% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='ipam:routetarget_list' %}
</div>
<div class="col col-md-6">
{% include 'inc/custom_fields_panel.html' %}
</div>
</div>
<div class="row"> <div class="row">
<div class="col col-md-12"> <div class="col col-md-12">
{% plugin_full_width_page object %} {% plugin_full_width_page object %}

View File

@ -57,11 +57,11 @@
</table> </table>
</div> </div>
</div> </div>
{% include 'inc/custom_fields_panel.html' %}
{% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='ipam:service_list' %}
{% plugin_left_page object %} {% plugin_left_page object %}
</div> </div>
<div class="col col-md-6"> <div class="col col-md-6">
{% include 'inc/custom_fields_panel.html' %}
{% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='ipam:service_list' %}
{% plugin_right_page object %} {% plugin_right_page object %}
</div> </div>
</div> </div>

View File

@ -4,18 +4,13 @@
{% block content %} {% block content %}
<div class="row"> <div class="row">
<div class="col col-md-4"> <div class="col col-md-6">
<div class="card"> <div class="card">
<h5 class="card-header"> <h5 class="card-header">
VLAN VLAN
</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>
<td colspan="2">
<span class="badge bg-{{ object.get_status_class }}">{{ object.get_status_display }}</span>
</td>
</tr>
<tr> <tr>
<th scope="row">Site</th> <th scope="row">Site</th>
<td> <td>
@ -60,6 +55,12 @@
{% endif %} {% endif %}
</td> </td>
</tr> </tr>
<tr>
<th scope="row">Status</th>
<td>
<span class="badge bg-{{ object.get_status_class }}">{{ object.get_status_display }}</span>
</td>
</tr>
<tr> <tr>
<th scope="row">Role</th> <th scope="row">Role</th>
<td> <td>
@ -77,11 +78,16 @@
</table> </table>
</div> </div>
</div> </div>
{% include 'inc/custom_fields_panel.html' %}
{% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='ipam:vlan_list' %}
{% plugin_left_page object %} {% plugin_left_page object %}
</div> </div>
<div class="col col-md-8"> <div class="col col-md-6">
{% include 'inc/custom_fields_panel.html' %}
{% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='ipam:vlan_list' %}
{% plugin_right_page object %}
</div>
</div>
<div class="row">
<div class="col col-md-12">
<div class="card"> <div class="card">
<h5 class="card-header"> <h5 class="card-header">
Prefixes Prefixes
@ -98,11 +104,6 @@
</div> </div>
{% endif %} {% endif %}
</div> </div>
{% plugin_right_page object %}
</div>
</div>
<div class="row">
<div class="col col-md-12">
{% plugin_full_width_page object %} {% plugin_full_width_page object %}
</div> </div>
</div> </div>

View File

@ -16,7 +16,7 @@
<table class="table table-hover attr-table"> <table class="table table-hover attr-table">
<tr> <tr>
<th scope="row">Route Distinguisher</th> <th scope="row">Route Distinguisher</th>
<td><code>{{ object.rd }}</code></td> <td>{{ object.rd|placeholder }}</td>
</tr> </tr>
<tr> <tr>
<th scope="row">Tenant</th> <th scope="row">Tenant</th>
@ -57,16 +57,22 @@
</table> </table>
</div> </div>
</div> </div>
{% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='ipam:vrf_list' %}
{% include 'inc/custom_fields_panel.html' %}
{% plugin_left_page object %} {% plugin_left_page object %}
</div> </div>
<div class="col col-md-6"> <div class="col col-md-6">
{% include 'inc/panel_table.html' with table=import_targets_table heading="Import Route Targets" %} {% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='ipam:vrf_list' %}
{% include 'inc/panel_table.html' with table=export_targets_table heading="Export Route Targets" %} {% include 'inc/custom_fields_panel.html' %}
{% plugin_right_page object %} {% plugin_right_page object %}
</div> </div>
</div> </div>
<div class="row">
<div class="col col-md-6">
{% include 'inc/panel_table.html' with table=import_targets_table heading="Import Route Targets" %}
</div>
<div class="col col-md-6">
{% include 'inc/panel_table.html' with table=export_targets_table heading="Export Route Targets" %}
</div>
</div>
<div class="row"> <div class="row">
<div class="col col-md-12"> <div class="col col-md-12">
{% plugin_full_width_page object %} {% plugin_full_width_page object %}

View File

@ -4,7 +4,7 @@
{% block content %} {% block content %}
<div class="row"> <div class="row">
<div class="col-sm-3 col-md-2 col-md-offset-1 border-end"> <div class="col-sm-3 col-md-2 border-end">
<nav class="nav nav-pills nav-justified flex-column"> <nav class="nav nav-pills nav-justified flex-column">
<a class="nav-item nav-link text-start{% if active_tab == 'profile' %} active{% endif %}" href="{% url 'user:profile' %}">Profile</a> <a class="nav-item nav-link text-start{% if active_tab == 'profile' %} active{% endif %}" href="{% url 'user:profile' %}">Profile</a>
<a class="nav-link nav-item text-start{% if active_tab == 'preferences' %} active{% endif %}" href="{% url 'user:preferences' %}">Preferences</a> <a class="nav-link nav-item text-start{% if active_tab == 'preferences' %} active{% endif %}" href="{% url 'user:preferences' %}">Preferences</a>
@ -14,7 +14,7 @@
<a class="nav-link nav-item text-start{% if active_tab == 'api-tokens' %} active{% endif %}" href="{% url 'user:token_list' %}">API Tokens</a> <a class="nav-link nav-item text-start{% if active_tab == 'api-tokens' %} active{% endif %}" href="{% url 'user:token_list' %}">API Tokens</a>
</nav> </nav>
</div> </div>
<div class="col-sm-9 col-md-8 px-4"> <div class="col-sm-9 col-md-10 px-4">
{% block usercontent %}{% endblock %} {% block usercontent %}{% endblock %}
</div> </div>
</div> </div>

View File

@ -4,7 +4,7 @@
{% block content %} {% block content %}
<div class="row"> <div class="row">
<div class="col col-md-5"> <div class="col col-md-6">
<div class="card"> <div class="card">
<h5 class="card-header"> <h5 class="card-header">
Cluster Cluster
@ -56,8 +56,6 @@
</table> </table>
</div> </div>
</div> </div>
{% include 'inc/custom_fields_panel.html' %}
{% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='virtualization:cluster_list' %}
<div class="card"> <div class="card">
<h5 class="card-header"> <h5 class="card-header">
Comments Comments
@ -72,6 +70,11 @@
</div> </div>
{% plugin_left_page object %} {% plugin_left_page object %}
</div> </div>
<div class="col col-md-6">
{% include 'inc/custom_fields_panel.html' %}
{% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='virtualization:cluster_list' %}
{% plugin_right_page object %}
</div>
</div> </div>
<div class="row"> <div class="row">
<div class="col col-md-12"> <div class="col col-md-12">

View File

@ -61,7 +61,7 @@
</tr> </tr>
<tr> <tr>
<th scope="row">802.1Q Mode</th> <th scope="row">802.1Q Mode</th>
<td>{{ object.get_mode_display }}</td> <td>{{ object.get_mode_display|placeholder }}</td>
</tr> </tr>
</table> </table>
</div> </div>