Merge branch 'feature-ui' into 16394-distinguish-product-edition

This commit is contained in:
Jeremy Stretch 2024-07-16 15:26:17 -04:00
commit 9cf624da4c
157 changed files with 425 additions and 366 deletions

Binary file not shown.

Binary file not shown.

View File

@ -22,6 +22,7 @@
"validate:formatting:scripts": "prettier -c src/**/*.ts"
},
"dependencies": {
"@fontsource-variable/plus-jakarta-sans": "^5.0.21",
"@mdi/font": "7.4.47",
"@tabler/core": "1.0.0-beta20",
"bootstrap": "5.3.3",
@ -32,7 +33,6 @@
"query-string": "9.0.0",
"sass": "1.77.6",
"tom-select": "2.3.1",
"typeface-inter": "3.18.1",
"typeface-roboto-mono": "1.1.13"
},
"devDependencies": {

View File

@ -1,7 +1,7 @@
// Global variables
// Set base fonts
$font-family-sans-serif: 'Inter';
$font-family-sans-serif: 'Plus Jakarta Sans Variable', system-ui, sans-serif;
// See https://github.com/tabler/tabler/issues/1812
$font-family-monospace: 'Roboto Mono';

View File

@ -6,3 +6,4 @@
// Fonts
@import url("../node_modules/typeface-inter/inter.css");
@import url("../node_modules/typeface-roboto-mono/index.css");
@import url("../node_modules/@fontsource-variable/plus-jakarta-sans/index.css");

View File

@ -45,8 +45,13 @@ pre {
@include color-mode(dark, true) {
--#{$prefix}alert-color: darken(var(--#{$prefix}warning),10%);
--#{$prefix}link-color: #{$bright-teal};
--#{$prefix}primary-rgb: 0,242,212;
--#{$prefix}link-color-rgb: 0,242,212;
--#{$prefix}link-hover-color-rgb: 0,242,212;
--#{$prefix}secondary: #{$gray-400};
--#{$prefix}primary: #{$bright-teal};
--#{$prefix}primary-fg: #{$rich-black};
--#{$prefix}primary-rgb: 0,242,212;
--#{$prefix}btn-active-color: #{$rich-black};
}
}
@ -67,6 +72,22 @@ pre {
color: $rich-black!important;
}
// Add button focus state
.btn:focus {
border: 1px solid var(--tblr-primary-fg);
outline: 2px solid var(--tblr-primary)!important;
}
// Fix secondary combo button contrast
.btn-outline-secondary {
&.active {
color: var(--tblr-primary-fg);
}
&:hover {
color: var(--tblr-primary-fg);
}
}
// Dark mode overrides
body[data-bs-theme=dark] {
@ -96,6 +117,9 @@ body[data-bs-theme=dark] {
// Adjusting text colors
.text- {
&bg-primary {
color: $rich-black!important;
}
&muted {
color: var(--#{$prefix}secondary-color) !important;
}

View File

@ -16,6 +16,12 @@
background: var(--#{$prefix}bg-surface-tertiary);
}
// Use <h5> font size for card headers
h2.card-header {
@extend h5;
margin-bottom: 0;
}
// Reduce padding
.list-group-item {
padding: 0.5rem 0.75rem;

View File

@ -4,6 +4,13 @@ form.object-edit {
max-width: 800px;
}
// Use <h4> style for field group headings
.field-group {
h2 {
@extend h4;
}
}
// Set bond font & append an asterisk to labels for required fields
.col-form-label.required {
font-weight: bold;

View File

@ -152,3 +152,37 @@ body[data-bs-theme=dark] .navbar-vertical.navbar-expand-lg {
}
}
}
// Dark theme styling
body[data-bs-theme=dark] .navbar-vertical.navbar-expand-lg {
// Background Gradient
background: linear-gradient(180deg, rgba(0, 242, 212, 0.00) 0%, rgba(0, 242, 212, 0.10) 100%), #001423;
// Border color for active dropdown list
.nav-item.dropdown.active:after {
border-color: $bright-teal!important;
}
// Adjust hover color & style for menu items
.dropdown-item {
a {
color: white!important;
}
&.active {
background-color: $navbar-dark-active-bg!important;
a {
color: white!important;
}
}
&:hover {
background-color: $navbar-dark-active-bg!important;
}
.nav-link-title {
color: white!important;
}
}
.text-secondary {
color: $bright-teal!important;
}
}

View File

@ -80,6 +80,11 @@
resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.2.tgz#d8bae93ac8b815b2bd7a98078cf91e2724ef11e5"
integrity sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==
"@fontsource-variable/plus-jakarta-sans@^5.0.21":
version "5.0.21"
resolved "https://registry.yarnpkg.com/@fontsource-variable/plus-jakarta-sans/-/plus-jakarta-sans-5.0.21.tgz#3bb6e0d16add99f0b93981443d4d763ea85ad13b"
integrity sha512-VTQB+MnaYbjLNmfxQJ/Fc2rayLGlqTiZa6nZTpplS0lJF3XKcWPPItilGFMZW4lfwIiroo+FIfBewBOF3MrMPQ==
"@graphiql/plugin-explorer@2.0.0":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@graphiql/plugin-explorer/-/plugin-explorer-2.0.0.tgz#d6869cba019ae6fac006ce61ae3470d8c8a83938"
@ -2774,11 +2779,6 @@ typed-array-length@^1.0.6:
is-typed-array "^1.1.13"
possible-typed-array-names "^1.0.0"
typeface-inter@3.18.1:
version "3.18.1"
resolved "https://registry.yarnpkg.com/typeface-inter/-/typeface-inter-3.18.1.tgz#24cccdf29923f318589783997be20a662cd3ab9c"
integrity sha512-c+TBanYFCvmg3j5vPk+zxK4ocMZbPxMEmjnwG7rPQoV87xvQ6b07VbAOC0Va0XBbbZCGw6cWNeFuLeg1YQru3Q==
typeface-roboto-mono@1.1.13:
version "1.1.13"
resolved "https://registry.yarnpkg.com/typeface-roboto-mono/-/typeface-roboto-mono-1.1.13.tgz#2af8662db8f9119c00efd55d6ed8877d2a69ec94"

View File

@ -14,9 +14,9 @@
<div class="row">
<div class="col col-md-6 offset-md-3">
<div class="card border-danger mt-5">
<h5 class="card-header">
<h2 class="card-header">
<i class="mdi mdi-alert"></i> {% trans "Server Error" %}
</h5>
</h2>
<div class="card-body">
{% block message %}
<p>

View File

@ -2,24 +2,23 @@
{% load i18n %}
{% block tabs %}
<ul class="nav nav-tabs">
<li role="presentation" class="nav-item">
<ul class="nav nav-tabs" role="presentation">
<li class="nav-item">
<a class="nav-link{% if active_tab == 'profile' %} active{% endif %}" href="{% url 'account:profile' %}">{% trans "Profile" %}</a>
</li>
<li role="presentation" class="nav-item">
<li class="nav-item">
<a class="nav-link{% if active_tab == 'bookmarks' %} active{% endif %}" href="{% url 'account:bookmarks' %}">{% trans "Bookmarks" %}</a>
</li>
<li role="presentation" class="nav-item">
<li class="nav-item">
<a class="nav-link{% if active_tab == 'preferences' %} active{% endif %}" href="{% url 'account:preferences' %}">{% trans "Preferences" %}</a>
</li>
{% if not request.user.ldap_username %}
<li role="presentation" class="nav-item">
<li class="nav-item">
<a class="nav-link{% if active_tab == 'password' %} active{% endif %}" href="{% url 'account:change_password' %}">{% trans "Password" %}</a>
</li>
{% endif %}
<li role="presentation" class="nav-item">
<li class="nav-item">
<a class="nav-link{% if active_tab == 'api-tokens' %} active{% endif %}" href="{% url 'account:usertoken_list' %}">{% trans "API Tokens" %}</a>
</li>
</ul>
{% endblock %}

View File

@ -8,7 +8,9 @@
<form action="." method="post" class="object-edit">
{% csrf_token %}
<div class="field-group mb-5">
<h5 class="col-9 offset-3">{% trans "Password" %}</h5>
<div class="row">
<h2 class="col-9 offset-3">{% trans "Password" %}</h2>
</div>
{% render_field form.old_password %}
{% render_field form.new_password1 %}
{% render_field form.new_password2 %}

View File

@ -19,7 +19,7 @@
{% if plugin_fields %}
<div class="field-group my-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Plugins" %}</h5>
<h2 class="col-9 offset-3">{% trans "Plugins" %}</h2>
</div>
{% for name in plugin_fields %}
{% render_field form|getfield:name %}
@ -31,7 +31,7 @@
{# Table configurations #}
<div class="field-group my-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Table Configurations" %}</h5>
<h2 class="col-9 offset-3">{% trans "Table Configurations" %}</h2>
</div>
<div class="row">
{% if request.user.config.data.tables %}

View File

@ -9,7 +9,7 @@
<div class="row mb-3">
<div class="col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Account Details" %}</h5>
<h2 class="card-header">{% trans "Account Details" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Username" %}</th>
@ -50,7 +50,7 @@
</div>
<div class="col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Assigned Groups" %}</h5>
<h2 class="card-header">{% trans "Assigned Groups" %}</h2>
<ul class="list-group list-group-flush">
{% for group in request.user.groups.all %}
<li class="list-group-item">{{ group }}</li>
@ -65,7 +65,7 @@
<div class="row">
<div class="col-md-12">
<div class="card">
<h5 class="card-header text-center">{% trans "Recent Activity" %}</h5>
<h2 class="card-header text-center">{% trans "Recent Activity" %}</h2>
<div class="table-responsive">
{% render_table changelog_table 'inc/table.html' %}
</div>

View File

@ -16,7 +16,7 @@
<div class="row">
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">{% trans "Token" %}</h5>
<h2 class="card-header">{% trans "Token" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Key" %}</th>

View File

@ -7,9 +7,9 @@
<div class="row my-5">
<div class="col-6 offset-3">
<div class="card">
<h5 class="card-header text-danger">
<h2 class="card-header text-danger">
{{ request_path }}
</h5>
</h2>
<div class="card-body">
{% block message %}{% endblock %}
</div>

View File

@ -34,7 +34,7 @@ Blocks:
</button>
{# Logo #}
<h1 class="navbar-brand navbar-brand-autodark">
<h1 class="navbar-brand">
<a href="{% url 'home' %}">
{% if settings.RELEASE.edition != 'Community' %}
<img src="{% static 'logo_netboxlabs_dark_teal.svg' %}" alt="{% trans "NetBox Labs Logo" %}" class="navbar-brand-image-edition hide-theme-dark">

View File

@ -12,7 +12,7 @@
<div class="row">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Circuit" %}</h5>
<h2 class="card-header">{% trans "Circuit" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Provider" %}</th>

View File

@ -16,7 +16,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Circuit Type" %}</h5>
<h2 class="card-header">{% trans "Circuit Type" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Name" %}</th>

View File

@ -2,7 +2,7 @@
{% load i18n %}
<div class="card">
<h5 class="card-header d-flex justify-content-between">
<h2 class="card-header d-flex justify-content-between">
{% blocktrans %}Termination{% endblocktrans %} {{ side }}
<div>
{% if not termination and perms.circuits.add_circuittermination %}
@ -24,7 +24,7 @@
</a>
{% endif %}
</div>
</h5>
</h2>
{% if termination %}
<table class="table table-hover attr-table">
{% include 'circuits/inc/circuit_termination_fields.html' with termination=termination %}

View File

@ -17,7 +17,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Provider" %}</h5>
<h2 class="card-header">{% trans "Provider" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "ASNs" %}</th>
@ -48,13 +48,13 @@
<div class="row mb-3">
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">{% trans "Provider Accounts" %}</h5>
<h2 class="card-header">{% trans "Provider Accounts" %}</h2>
{% htmx_table 'circuits:provideraccount_list' provider_id=object.pk %}
</div>
</div>
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">{% trans "Circuits" %}</h5>
<h2 class="card-header">{% trans "Circuits" %}</h2>
{% htmx_table 'circuits:circuit_list' provider_id=object.pk %}
</div>
{% plugin_full_width_page object %}

View File

@ -14,7 +14,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Provider Account" %}</h5>
<h2 class="card-header">{% trans "Provider Account" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Provider" %}</th>
@ -41,7 +41,7 @@
</div>
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">{% trans "Circuits" %}</h5>
<h2 class="card-header">{% trans "Circuits" %}</h2>
{% htmx_table 'circuits:circuit_list' provider_account_id=object.pk %}
</div>
{% plugin_full_width_page object %}

View File

@ -14,7 +14,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Provider Network" %}</h5>
<h2 class="card-header">{% trans "Provider Network" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Provider" %}</th>
@ -47,7 +47,7 @@
<div class="row mb-3">
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">{% trans "Circuits" %}</h5>
<h2 class="card-header">{% trans "Circuits" %}</h2>
{% htmx_table 'circuits:circuit_list' provider_network_id=object.pk %}
</div>
{% plugin_full_width_page object %}

View File

@ -32,12 +32,12 @@
<div class="row">
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">{% trans "Configuration Data" %}</h5>
<h2 class="card-header">{% trans "Configuration Data" %}</h2>
{% include 'core/inc/config_data.html' with config=object.data %}
</div>
<div class="card">
<h5 class="card-header">{% trans "Comment" %}</h5>
<h2 class="card-header">{% trans "Comment" %}</h2>
<div class="card-body">
{{ object.comment|placeholder }}
</div>

View File

@ -21,7 +21,7 @@
<div class="row mb-3">
<div class="col">
<div class="card">
<h5 class="card-header">{% trans "Data File" %}</h5>
<h2 class="card-header">{% trans "Data File" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Source" %}</th>
@ -52,7 +52,7 @@
</table>
</div>
<div class="card">
<h5 class="card-header">{% trans "Content" %}</h5>
<h2 class="card-header">{% trans "Content" %}</h2>
<div class="card-body">
<pre>{{ object.data_as_string }}</pre>
</div>

View File

@ -28,7 +28,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Data Source" %}</h5>
<h2 class="card-header">{% trans "Data Source" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Name" %}</th>
@ -81,7 +81,7 @@
</div>
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Backend" %}</h5>
<h2 class="card-header">{% trans "Backend" %}</h2>
{% with backend=object.backend_class %}
<table class="table table-hover attr-table">
{% for name, field in backend.parameters.items %}
@ -111,7 +111,7 @@
<div class="row mb-3">
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">{% trans "Files" %}</h5>
<h2 class="card-header">{% trans "Files" %}</h2>
{% htmx_table 'core:datafile_list' source_id=object.pk %}
</div>
{% plugin_full_width_page object %}

View File

@ -14,7 +14,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Job" %}</h5>
<h2 class="card-header">{% trans "Job" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Object Type" %}</th>
@ -45,7 +45,7 @@
</div>
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Scheduling" %}</h5>
<h2 class="card-header">{% trans "Scheduling" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Created" %}</th>
@ -75,7 +75,7 @@
<div class="row">
<div class="col col-12">
<div class="card">
<h5 class="card-header">{% trans "Data" %}</h5>
<h2 class="card-header">{% trans "Data" %}</h2>
<div class="card-body">
<pre>{{ object.data|json }}</pre>
</div>

View File

@ -26,7 +26,7 @@
<div class="row">
<div class="col col-md-5">
<div class="card">
<h5 class="card-header">{% trans "Change" %}</h5>
<h2 class="card-header">{% trans "Change" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Time" %}</th>
@ -75,7 +75,7 @@
</div>
<div class="col col-md-7">
<div class="card">
<h5 class="card-header d-flex justify-content-between">
<h2 class="card-header d-flex justify-content-between">
{% trans "Difference" %}
<div class="btn-group btn-group-sm d-print-none">
<a {% if prev_change %}href="{% url 'core:objectchange' pk=prev_change.pk %}"{% else %}disabled{% endif %} class="btn btn-outline-secondary">
@ -85,7 +85,7 @@
{% trans "Next" %} <i class="mdi mdi-chevron-right" aria-hidden="true"></i>
</a>
</div>
</h5>
</h2>
<div class="card-body">
{% if diff_added == diff_removed %}
<span class="text-muted" style="margin-left: 10px;">
@ -108,7 +108,7 @@
<div class="row">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Pre-Change Data" %}</h5>
<h2 class="card-header">{% trans "Pre-Change Data" %}</h2>
<div class="card-body">
{% if object.prechange_data %}
{% spaceless %}
@ -128,7 +128,7 @@
</div>
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Post-Change Data" %}</h5>
<h2 class="card-header">{% trans "Post-Change Data" %}</h2>
<div class="card-body">
{% if object.postchange_data %}
{% spaceless %}

View File

@ -55,7 +55,7 @@
<div class="row">
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">{% trans "Job" %}</h5>
<h2 class="card-header">{% trans "Job" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Queue" %}</th>

View File

@ -37,7 +37,7 @@
<div class="row">
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">{% trans "Worker" %}</h5>
<h2 class="card-header">{% trans "Worker" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Name" %}</th>

View File

@ -25,7 +25,7 @@
<div class="row mb-3">
<div class="col">
<div class="card">
<h5 class="card-header">{% trans "System Status" %}</h5>
<h2 class="card-header">{% trans "System Status" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "NetBox release" %}</th>
@ -82,7 +82,7 @@
<div class="row mb-3">
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">{% trans "Plugins" %}</h5>
<h2 class="card-header">{% trans "Plugins" %}</h2>
{% render_table plugins_table %}
</div>
</div>
@ -92,7 +92,7 @@
<div class="row mb-3">
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">{% trans "Current Configuration" %}</h5>
<h2 class="card-header">{% trans "Current Configuration" %}</h2>
{% include 'core/inc/config_data.html' with config=config.data %}
</div>

View File

@ -9,7 +9,7 @@
<div class="row">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Cable" %}</h5>
<h2 class="card-header">{% trans "Cable" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Type" %}</th>
@ -65,11 +65,11 @@
</div>
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Termination" %} A</h5>
<h2 class="card-header">{% trans "Termination" %} A</h2>
{% include 'dcim/inc/cable_termination.html' with terminations=object.a_terminations %}
</div>
<div class="card">
<h5 class="card-header">{% trans "Termination" %} B</h5>
<h2 class="card-header">{% trans "Termination" %} B</h2>
{% include 'dcim/inc/cable_termination.html' with terminations=object.b_terminations %}
</div>
{% plugin_right_page object %}

View File

@ -82,7 +82,7 @@
{# Related paths #}
<div class="col col-md-7">
<div class="card">
<h5 class="card-header">{% trans "Related Paths" %}</h5>
<h2 class="card-header">{% trans "Related Paths" %}</h2>
<table class="table table-hover">
<thead>
<tr>

View File

@ -14,7 +14,7 @@
<div class="row">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Console Port" %}</h5>
<h2 class="card-header">{% trans "Console Port" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Device" %}</th>
@ -52,7 +52,7 @@
</div>
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Connection" %}</h5>
<h2 class="card-header">{% trans "Connection" %}</h2>
{% if object.mark_connected %}
<div class="card-body">
<span class="text-success"><i class="mdi mdi-check-bold"></i></span>

View File

@ -14,7 +14,7 @@
<div class="row">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Console Server Port" %}</h5>
<h2 class="card-header">{% trans "Console Server Port" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Device" %}</th>
@ -52,7 +52,7 @@
</div>
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Connection" %}</h5>
<h2 class="card-header">{% trans "Connection" %}</h2>
<div class="card-body">
{% if object.mark_connected %}
<div class="card-body">

View File

@ -12,7 +12,7 @@
<div class="row">
<div class="col col-12 col-xl-6">
<div class="card">
<h5 class="card-header">{% trans "Device" %}</h5>
<h2 class="card-header">{% trans "Device" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Region" %}</th>
@ -116,14 +116,14 @@
</div>
{% if vc_members %}
<div class="card">
<h5 class="card-header">
<h2 class="card-header">
{% trans "Virtual Chassis" %}
<div class="card-actions">
<a href="{{ object.virtual_chassis.get_absolute_url }}" class="btn btn-ghost-primary btn-sm">
<span class="mdi mdi-arrow-right-bold" aria-hidden="true"></span> {% trans "View Virtual Chassis" %}
</a>
</div>
</h5>
</h2>
<table class="table table-hover attr-table">
<tr>
<th>{% trans "Device" %}</th>
@ -154,7 +154,7 @@
{% include 'inc/panels/tags.html' %}
{% include 'inc/panels/comments.html' %}
<div class="card">
<h5 class="card-header">
<h2 class="card-header">
{% trans "Virtual Device Contexts" %}
{% if perms.dcim.add_virtualdevicecontext %}
<div class="card-actions">
@ -163,14 +163,14 @@
</a>
</div>
{% endif %}
</h5>
</h2>
{% htmx_table 'dcim:virtualdevicecontext_list' device_id=object.pk %}
</div>
{% plugin_left_page object %}
</div>
<div class="col col-12 col-xl-6">
<div class="card">
<h5 class="card-header">{% trans "Management" %}</h5>
<h2 class="card-header">{% trans "Management" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Status" %}</th>
@ -242,7 +242,7 @@
</div>
{% if object.powerports.exists and object.poweroutlets.exists %}
<div class="card">
<h5 class="card-header">{% trans "Power Utilization" %}</h5>
<h2 class="card-header">{% trans "Power Utilization" %}</h2>
<table class="table table-hover">
<thead>
<tr>
@ -291,7 +291,7 @@
</div>
{% endif %}
<div class="card">
<h5 class="card-header">
<h2 class="card-header">
{% trans "Services" %}
{% if perms.ipam.add_service %}
<div class="card-actions">
@ -300,12 +300,12 @@
</a>
</div>
{% endif %}
</h5>
</h2>
{% htmx_table 'ipam:service_list' device_id=object.pk %}
</div>
{% include 'inc/panels/image_attachments.html' %}
<div class="card">
<h5 class="card-header">{% trans "Dimensions" %}</h5>
<h2 class="card-header">{% trans "Dimensions" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Height" %}</th>
@ -329,13 +329,13 @@
<div class="row" style="margin-bottom: 20px">
<div class="col col-md-6 col-sm-6 col-xs-12 text-center">
<div style="margin-left: 30px">
<h4>{% trans "Front" %}</h4>
<h2 class="h4">{% trans "Front" %}</h2>
{% include 'dcim/inc/rack_elevation.html' with object=object.rack face='front' extra_params=svg_extra %}
</div>
</div>
<div class="col col-md-6 col-sm-6 col-xs-12 text-center">
<div style="margin-left: 30px">
<h4>{% trans "Rear" %}</h4>
<h2 class="h4">{% trans "Rear" %}</h2>
{% include 'dcim/inc/rack_elevation.html' with object=object.rack face='rear' extra_params=svg_extra %}
</div>
</div>

View File

@ -8,7 +8,7 @@
<div class="row mb-3">
<div class="col-5">
<div class="card">
<h5 class="card-header">{% trans "Config Template" %}</h5>
<h2 class="card-header">{% trans "Config Template" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Config Template" %}</th>
@ -49,12 +49,12 @@
<div class="row">
<div class="col">
<div class="card">
<h5 class="card-header d-flex justify-content-between">
<h2 class="card-header d-flex justify-content-between">
{% trans "Rendered Config" %}
<a href="?export=True" class="btn btn-primary lh-1" role="button">
<i class="mdi mdi-download" aria-hidden="true"></i> {% trans "Download" %}
</a>
</h5>
</h2>
{% if config_template %}
<pre class="card-body">{{ rendered_config }}</pre>
{% else %}

View File

@ -4,30 +4,30 @@
{% block form %}
{% render_errors form %}
<div class="field-group my-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Device" %}</h5>
<h2 class="col-9 offset-3">{% trans "Device" %}</h2>
</div>
{% render_field form.name %}
{% render_field form.role %}
{% render_field form.description %}
{% render_field form.tags %}
</div>
<div class="field-group my-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Hardware" %}</h5>
<h2 class="col-9 offset-3">{% trans "Hardware" %}</h2>
</div>
{% render_field form.device_type %}
{% render_field form.airflow %}
{% render_field form.serial %}
{% render_field form.asset_tag %}
</div>
<div class="field-group my-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Location" %}</h5>
<h2 class="col-9 offset-3">{% trans "Location" %}</h2>
</div>
{% render_field form.site %}
{% render_field form.location %}
@ -58,10 +58,10 @@
{% render_field form.longitude %}
{% endif %}
</div>
<div class="field-group my-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Management" %}</h5>
<h2 class="col-9 offset-3">{% trans "Management" %}</h2>
</div>
{% render_field form.status %}
{% render_field form.platform %}
@ -72,17 +72,17 @@
{% render_field form.oob_ip %}
{% endif %}
</div>
<div class="field-group my-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Virtualization" %}</h5>
<h2 class="col-9 offset-3">{% trans "Virtualization" %}</h2>
</div>
{% render_field form.cluster %}
</div>
<div class="field-group my-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Tenancy" %}</h5>
<h2 class="col-9 offset-3">{% trans "Tenancy" %}</h2>
</div>
{% render_field form.tenant_group %}
{% render_field form.tenant %}
@ -90,7 +90,7 @@
<div class="field-group my-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Virtual Chassis" %}</h5>
<h2 class="col-9 offset-3">{% trans "Virtual Chassis" %}</h2>
</div>
{% render_field form.virtual_chassis %}
{% render_field form.vc_position %}
@ -100,14 +100,14 @@
{% if form.custom_fields %}
<div class="field-group my-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Custom Fields" %}</h5>
<h2 class="col-9 offset-3">{% trans "Custom Fields" %}</h2>
</div>
{% render_custom_fields form %}
</div>
{% endif %}
<div class="field-group my-5">
<h5 class="text-center">{% trans "Local Config Context Data" %}</h5>
<h2 class="text-center">{% trans "Local Config Context Data" %}</h2>
{% render_field form.local_context_data %}
</div>

View File

@ -14,7 +14,7 @@
<div class="row">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Device Bay" %}</h5>
<h2 class="card-header">{% trans "Device Bay" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Device" %}</th>
@ -40,7 +40,7 @@
</div>
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Installed Device" %}</h5>
<h2 class="card-header">{% trans "Installed Device" %}</h2>
{% if object.installed_device %}
{% with device=object.installed_device %}
<table class="table table-hover attr-table">

View File

@ -10,7 +10,7 @@
<div class="row mb-3">
<div class="col col-md-6 offset-md-3">
<div class="card">
<h5 class="card-header">{% block title %}{% trans "Populate" %} {{ device_bay }}{% endblock %}</h5>
<h2 class="card-header">{% block title %}{% trans "Populate" %} {{ device_bay }}{% endblock %}</h2>
<div class="card-body">
<div class="row mb-3">
<label class="col-sm-3 col-form-label text-lg-end">{% trans "Parent Device" %}</label>

View File

@ -20,7 +20,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Device Role" %}</h5>
<h2 class="card-header">{% trans "Device Role" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Name" %}</th>

View File

@ -8,7 +8,7 @@
<div class="row">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Chassis" %}</h5>
<h2 class="card-header">{% trans "Chassis" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Manufacturer" %}</th>

View File

@ -14,7 +14,7 @@
<div class="row">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Front Port" %}</h5>
<h2 class="card-header">{% trans "Front Port" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Device" %}</th>
@ -66,7 +66,7 @@
</div>
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Connection" %}</h5>
<h2 class="card-header">{% trans "Connection" %}</h2>
{% if object.mark_connected %}
<div class="card-body text-muted">
<span class="text-success"><i class="mdi mdi-check-bold"></i></span> {% trans "Marked as Connected" %}

View File

@ -7,7 +7,7 @@
{# A side termination #}
<div class="field-group mb-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "A Side" %}</h5>
<h2 class="col-9 offset-3">{% trans "A Side" %}</h2>
</div>
{% render_field form.a_terminations_type %}
{% if 'termination_a_device' in form.fields %}
@ -27,7 +27,7 @@
{# B side termination #}
<div class="field-group mb-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "B Side" %}</h5>
<h2 class="col-9 offset-3">{% trans "B Side" %}</h2>
</div>
{% render_field form.b_terminations_type %}
{% if 'termination_b_device' in form.fields %}
@ -47,7 +47,7 @@
{# Cable attributes #}
<div class="field-group mb-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Cable" %}</h5>
<h2 class="col-9 offset-3">{% trans "Cable" %}</h2>
</div>
{% render_field form.status %}
{% render_field form.type %}
@ -69,7 +69,7 @@
<div class="field-group mb-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Tenancy" %}</h5>
<h2 class="col-9 offset-3">{% trans "Tenancy" %}</h2>
</div>
{% render_field form.tenant_group %}
{% render_field form.tenant %}
@ -78,7 +78,7 @@
{% if form.custom_fields %}
<div class="field-group mb-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Custom Fields" %}</h5>
<h2 class="col-9 offset-3">{% trans "Custom Fields" %}</h2>
</div>
{% render_custom_fields form %}
</div>
@ -86,7 +86,7 @@
{% if form.comments %}
<div class="field-group mb-5">
<h5 class="text-center">{% trans "Comments" %}</h5>
<h2 class="text-center">{% trans "Comments" %}</h2>
{% render_field form.comments %}
</div>
{% endif %}

View File

@ -2,7 +2,7 @@
{% load i18n %}
<div class="card">
<h5 class="card-header">
<h2 class="card-header">
{% trans "Inventory Items" %}
{% if perms.dcim.add_inventoryitem %}
<div class="card-actions">
@ -11,7 +11,7 @@
</a>
</div>
{% endif %}
</h5>
</h2>
<table class="table table-hover">
<thead>
<tr>

View File

@ -24,7 +24,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Interface" %}</h5>
<h2 class="card-header">{% trans "Interface" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Device" %}</th>
@ -96,7 +96,7 @@
</table>
</div>
<div class="card">
<h5 class="card-header">{% trans "Related Interfaces" %}</h5>
<h2 class="card-header">{% trans "Related Interfaces" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Parent" %}</th>
@ -119,7 +119,7 @@
<div class="col col-md-6">
{% include 'inc/panel_table.html' with table=vdc_table heading="Virtual Device Contexts" %}
<div class="card">
<h5 class="card-header">{% trans "Addressing" %}</h5>
<h2 class="card-header">{% trans "Addressing" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "MAC Address" %}</th>
@ -137,7 +137,7 @@
</div>
{% if not object.is_virtual %}
<div class="card">
<h5 class="card-header">{% trans "Connection" %}</h5>
<h2 class="card-header">{% trans "Connection" %}</h2>
{% if object.mark_connected %}
<div class="card-body">
<span class="text-success"><i class="mdi mdi-check-bold"></i></span>
@ -207,7 +207,7 @@
{% endif %}
{% if object.is_wireless %}
<div class="card">
<h5 class="card-header">{% trans "Wireless" %}</h5>
<h2 class="card-header">{% trans "Wireless" %}</h2>
{% with peer=object.connected_endpoints.0 %}
<table class="table table-hover">
<thead>
@ -277,7 +277,7 @@
{% endwith %}
</div>
<div class="card">
<h5 class="card-header">{% trans "Wireless LANs" %}</h5>
<h2 class="card-header">{% trans "Wireless LANs" %}</h2>
<table class="table table-hover">
<thead>
<tr>
@ -302,7 +302,7 @@
{% endif %}
{% if object.is_lag %}
<div class="card">
<h5 class="card-header">{% trans "LAG Members" %}</h5>
<h2 class="card-header">{% trans "LAG Members" %}</h2>
<table class="table table-hover">
<thead>
<tr>
@ -335,7 +335,7 @@
<div class="row mb-3">
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">
<h2 class="card-header">
{% trans "IP Addresses" %}
{% if perms.ipam.add_ipaddress %}
<div class="card-actions">
@ -344,7 +344,7 @@
</a>
</div>
{% endif %}
</h5>
</h2>
{% htmx_table 'ipam:ipaddress_list' interface_id=object.pk %}
</div>

View File

@ -14,7 +14,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Inventory Item" %}</h5>
<h2 class="card-header">{% trans "Inventory Item" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Device" %}</th>

View File

@ -12,7 +12,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Inventory Item Role" %}</h5>
<h2 class="card-header">{% trans "Inventory Item Role" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Name" %}</th>

View File

@ -23,7 +23,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Location" %}</h5>
<h2 class="card-header">{% trans "Location" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Name" %}</th>
@ -73,7 +73,7 @@
<div class="row mb-3">
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">
<h2 class="card-header">
{% trans "Child Locations" %}
{% if perms.dcim.add_location %}
<div class="card-actions">
@ -82,11 +82,11 @@
</a>
</div>
{% endif %}
</h5>
</h2>
{% htmx_table 'dcim:location_list' parent_id=object.pk %}
</div>
<div class="card">
<h5 class="card-header">
<h2 class="card-header">
{% trans "Non-Racked Devices" %}
{% if perms.dcim.add_device %}
<div class="card-actions">
@ -95,7 +95,7 @@
</a>
</div>
{% endif %}
</h5>
</h2>
{% htmx_table 'dcim:device_list' location_id=object.pk rack_id='null' parent_bay_id='null' %}
</div>
{% plugin_full_width_page object %}

View File

@ -30,7 +30,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Manufacturer" %}</h5>
<h2 class="card-header">{% trans "Manufacturer" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Name" %}</th>

View File

@ -48,7 +48,7 @@
<div class="row">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Module" %}</h5>
<h2 class="card-header">{% trans "Module" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Device" %}</th>

View File

@ -14,7 +14,7 @@
<div class="row">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Module Bay" %}</h5>
<h2 class="card-header">{% trans "Module Bay" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Device" %}</th>
@ -46,7 +46,7 @@
<div class="col col-md-6">
{% include 'inc/panels/custom_fields.html' %}
<div class="card">
<h5 class="card-header">{% trans "Installed Module" %}</h5>
<h2 class="card-header">{% trans "Installed Module" %}</h2>
{% if object.installed_module %}
{% with module=object.installed_module %}
<table class="table table-hover attr-table">

View File

@ -8,7 +8,7 @@
<div class="row">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Module Type" %}</h5>
<h2 class="card-header">{% trans "Module Type" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Manufacturer" %}</th>

View File

@ -35,7 +35,7 @@
</form>
{% else %}
<div class="card">
<h5 class="card-header">{{ title }}</h5>
<h2 class="card-header">{{ title }}</h2>
<div class="htmx-container table-responsive" id="object_list">
{% include 'htmx/table.html' %}
</div>

View File

@ -23,7 +23,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Platform" %}</h5>
<h2 class="card-header">{% trans "Platform" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Name" %}</th>

View File

@ -18,7 +18,7 @@
<div class="row">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Power Feed" %}</h5>
<h2 class="card-header">{% trans "Power Feed" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Power Panel" %}</th>
@ -77,7 +77,7 @@
</table>
</div>
<div class="card">
<h5 class="card-header">{% trans "Electrical Characteristics" %}</h5>
<h2 class="card-header">{% trans "Electrical Characteristics" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Supply" %}</th>
@ -107,7 +107,7 @@
</div>
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Connection" %}</h5>
<h2 class="card-header">{% trans "Connection" %}</h2>
{% if object.mark_connected %}
<div class="card-body">
<span class="text-success"><i class="mdi mdi-check-bold"></i></span>

View File

@ -14,7 +14,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Power Outlet" %}</h5>
<h2 class="card-header">{% trans "Power Outlet" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Device" %}</th>
@ -56,7 +56,7 @@
</div>
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Connection" %}</h5>
<h2 class="card-header">{% trans "Connection" %}</h2>
{% if object.mark_connected %}
<div class="card-body">
<span class="text-success"><i class="mdi mdi-check-bold"></i></span>

View File

@ -16,7 +16,7 @@
<div class="row">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Power Panel" %}</h5>
<h2 class="card-header">{% trans "Power Panel" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Site" %}</th>
@ -48,7 +48,7 @@
<form method="post">
{% csrf_token %}
<div class="card">
<h5 class="card-header">{% trans "Power Feeds" %}</h5>
<h2 class="card-header">{% trans "Power Feeds" %}</h2>
{% htmx_table 'dcim:powerfeed_list' power_panel_id=object.pk %}
<div class="card-footer d-print-none">
{% if perms.dcim.change_powerfeed %}

View File

@ -14,7 +14,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Power Port" %}</h5>
<h2 class="card-header">{% trans "Power Port" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Device" %}</th>
@ -56,7 +56,7 @@
</div>
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Connection" %}</h5>
<h2 class="card-header">{% trans "Connection" %}</h2>
{% if object.mark_connected %}
<div class="card-body">
<span class="text-success"><i class="mdi mdi-check-bold"></i></span>

View File

@ -10,7 +10,7 @@
<div class="row">
<div class="col col-12 col-xl-5">
<div class="card">
<h5 class="card-header">{% trans "Rack" %}</h5>
<h2 class="card-header">{% trans "Rack" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Region" %}</th>
@ -70,7 +70,7 @@
</table>
</div>
<div class="card">
<h5 class="card-header">{% trans "Dimensions" %}</h5>
<h2 class="card-header">{% trans "Dimensions" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Type" %}</th>
@ -172,13 +172,13 @@
<div class="row" style="margin-bottom: 20px">
<div class="col col-md-6 col-sm-6 col-xs-12 text-center">
<div style="margin-left: 30px">
<h4>{% trans "Front" %}</h4>
<h2 class="h4">{% trans "Front" %}</h2>
{% include 'dcim/inc/rack_elevation.html' with face='front' extra_params=svg_extra %}
</div>
</div>
<div class="col col-md-6 col-sm-6 col-xs-12 text-center">
<div style="margin-left: 30px">
<h4>{% trans "Rear" %}</h4>
<h2 class="h4">{% trans "Rear" %}</h2>
{% include 'dcim/inc/rack_elevation.html' with face='rear' extra_params=svg_extra %}
</div>
</div>

View File

@ -16,7 +16,7 @@
<div class="row mb-3">
<div class="col col-12 col-xl-5">
<div class="card">
<h5 class="card-header">{% trans "Rack" %}</h5>
<h2 class="card-header">{% trans "Rack" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Region" %}</th>
@ -39,7 +39,7 @@
</table>
</div>
<div class="card">
<h5 class="card-header">{% trans "Reservation Details" %}</h5>
<h2 class="card-header">{% trans "Reservation Details" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Units" %}</th>
@ -73,13 +73,13 @@
<div class="row" style="margin-bottom: 20px">
<div class="col col-md-6 col-sm-6 col-xs-12 text-center">
<div style="margin-left: 30px">
<h4>{% trans "Front" %}</h4>
<h2 class="h4">{% trans "Front" %}</h2>
{% include 'dcim/inc/rack_elevation.html' with object=object.rack face='front' %}
</div>
</div>
<div class="col col-md-6 col-sm-6 col-xs-12 text-center">
<div style="margin-left: -30px">
<h4>{% trans "Rear" %}</h4>
<h2 class="h4">{% trans "Rear" %}</h2>
{% include 'dcim/inc/rack_elevation.html' with object=object.rack face='rear' %}
</div>
</div>

View File

@ -16,7 +16,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Rack Role" %}</h5>
<h2 class="card-header">{% trans "Rack Role" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Name" %}</th>

View File

@ -14,7 +14,7 @@
<div class="row">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Rear Port" %}</h5>
<h2 class="card-header">{% trans "Rear Port" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Device" %}</th>
@ -62,7 +62,7 @@
</div>
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Connection" %}</h5>
<h2 class="card-header">{% trans "Connection" %}</h2>
{% if object.mark_connected %}
<div class="card-body text-muted">
<span class="text-success"><i class="mdi mdi-check-bold"></i></span> {% trans "Marked as Connected" %}

View File

@ -23,7 +23,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Region" %}</h5>
<h2 class="card-header">{% trans "Region" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Name" %}</th>
@ -51,7 +51,7 @@
<div class="row mb-3">
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">
<h2 class="card-header">
{% trans "Child Regions" %}
{% if perms.dcim.add_region %}
<div class="card-actions">
@ -60,7 +60,7 @@
</a>
</div>
{% endif %}
</h5>
</h2>
{% htmx_table 'dcim:region_list' parent_id=object.pk %}
</div>
{% plugin_full_width_page object %}

View File

@ -25,7 +25,7 @@
<div class="row">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Site" %}</h5>
<h2 class="card-header">{% trans "Site" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Region" %}</th>
@ -123,7 +123,7 @@
<div class="row">
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">
<h2 class="card-header">
{% trans "Locations" %}
{% if perms.dcim.add_location %}
<div class="card-actions">
@ -132,11 +132,11 @@
</a>
</div>
{% endif %}
</h5>
</h2>
{% htmx_table 'dcim:location_list' site_id=object.pk %}
</div>
<div class="card">
<h5 class="card-header">
<h2 class="card-header">
{% trans "Non-Racked Devices" %}
{% if perms.dcim.add_device %}
<div class="card-actions">
@ -145,7 +145,7 @@
</a>
</div>
{% endif %}
</h5>
</h2>
{% htmx_table 'dcim:device_list' site_id=object.pk rack_id='null' parent_bay_id='null' %}
</div>
{% plugin_full_width_page object %}

View File

@ -23,7 +23,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Site Group" %}</h5>
<h2 class="card-header">{% trans "Site Group" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Name" %}</th>
@ -51,7 +51,7 @@
<div class="row mb-3">
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">
<h2 class="card-header">
{% trans "Child Groups" %}
{% if perms.dcim.add_sitegroup %}
<div class="card-actions">
@ -60,7 +60,7 @@
</a>
</div>
{% endif %}
</h5>
</h2>
{% htmx_table 'dcim:sitegroup_list' parent_id=object.pk %}
</div>
{% plugin_full_width_page object %}

View File

@ -17,7 +17,7 @@
<div class="row">
<div class="col col-md-4">
<div class="card">
<h5 class="card-header">{% trans "Virtual Chassis" %}</h5>
<h2 class="card-header">{% trans "Virtual Chassis" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Domain" %}</th>
@ -49,7 +49,7 @@
</div>
<div class="col col-md-8">
<div class="card">
<h5 class="card-header">
<h2 class="card-header">
{% trans "Members" %}
{% if perms.dcim.change_virtualchassis %}
<div class="card-actions">
@ -58,7 +58,7 @@
</a>
</div>
{% endif %}
</h5>
</h2>
<table class="table table-hover object-list">
<thead>
<tr>

View File

@ -5,7 +5,7 @@
{% block form %}
<div class="field-group my-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Virtual Chassis" %}</h5>
<h2 class="col-9 offset-3">{% trans "Virtual Chassis" %}</h2>
</div>
{% render_field form.name %}
{% render_field form.domain %}
@ -15,7 +15,7 @@
<div class="field-group my-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Member Devices" %}</h5>
<h2 class="col-9 offset-3">{% trans "Member Devices" %}</h2>
</div>
{% render_field form.region %}
{% render_field form.site_group %}
@ -28,7 +28,7 @@
{% if form.custom_fields %}
<div class="field-group my-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Custom Fields" %}</h5>
<h2 class="col-9 offset-3">{% trans "Custom Fields" %}</h2>
</div>
{% render_custom_fields form %}
</div>

View File

@ -16,7 +16,7 @@
{% csrf_token %}
<div class="card">
<h5 class="card-header">{% trans "Add New Member" %}</h5>
<h2 class="card-header">{% trans "Add New Member" %}</h2>
<div class="card-body">
{% render_form member_select_form %}
{% render_form membership_form %}

View File

@ -21,7 +21,7 @@
{{ formset.management_form }}
<div class="field-group my-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Virtual Chassis" %}</h5>
<h2 class="col-9 offset-3">{% trans "Virtual Chassis" %}</h2>
</div>
{% render_field vc_form.name %}
{% render_field vc_form.domain %}
@ -37,14 +37,14 @@
{% if vc_form.custom_fields %}
<div class="field-group mb-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Custom Fields" %}</h5>
<h2 class="col-9 offset-3">{% trans "Custom Fields" %}</h2>
</div>
{% render_custom_fields vc_form %}
</div>
{% endif %}
<div class="field-group mb-5">
<h5 class="text-center">{% trans "Members" %}</h5>
<h2 class="text-center">{% trans "Members" %}</h2>
<table class="table">
<thead>
<tr>

View File

@ -12,7 +12,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Virtual Device Context" %}</h5>
<h2 class="card-header">{% trans "Virtual Device Context" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Name" %}</th>
@ -78,7 +78,7 @@
<div class="row mb-3">
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">{% trans "Interfaces" %}</h5>
<h2 class="card-header">{% trans "Interfaces" %}</h2>
{% htmx_table 'dcim:interface_list' vdc_id=object.pk %}
</div>
{% plugin_full_width_page object %}

View File

@ -7,7 +7,7 @@
<div class="row">
<div class="col col-md-5">
<div class="card">
<h5 class="card-header">{% trans "Config Context" %}</h5>
<h2 class="card-header">{% trans "Config Context" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Name" %}</th>
@ -57,7 +57,7 @@
</table>
</div>
<div class="card">
<h5 class="card-header">{% trans "Assignment" %}</h5>
<h2 class="card-header">{% trans "Assignment" %}</h2>
<table class="table table-hover attr-table">
{% for title, objects in assigned_objects %}
<tr>

View File

@ -7,7 +7,7 @@
<div class="row mb-3">
<div class="col col-md-5">
<div class="card">
<h5 class="card-header">{% trans "Config Template" %}</h5>
<h2 class="card-header">{% trans "Config Template" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Name" %}</th>
@ -53,7 +53,7 @@
</div>
<div class="col col-md-7">
<div class="card">
<h5 class="card-header">{% trans "Environment Parameters" %}</h5>
<h2 class="card-header">{% trans "Environment Parameters" %}</h2>
<div class="card-body">
<pre>{{ object.environment_params }}</pre>
</div>
@ -64,7 +64,7 @@
<div class="row">
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">{% trans "Template" %}</h5>
<h2 class="card-header">{% trans "Template" %}</h2>
<div class="card-body">
{% include 'inc/sync_warning.html' %}
<pre>{{ object.template_code }}</pre>

View File

@ -7,7 +7,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Custom Field" %}</h5>
<h2 class="card-header">{% trans "Custom Field" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Name" %}</th>
@ -55,7 +55,7 @@
</table>
</div>
<div class="card">
<h5 class="card-header">{% trans "Behavior" %}</h5>
<h2 class="card-header">{% trans "Behavior" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Search Weight" %}</th>
@ -90,7 +90,7 @@
</div>
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Object Types" %}</h5>
<h2 class="card-header">{% trans "Object Types" %}</h2>
<table class="table table-hover attr-table">
{% for ct in object.object_types.all %}
<tr>
@ -100,7 +100,7 @@
</table>
</div>
<div class="card">
<h5 class="card-header">{% trans "Validation Rules" %}</h5>
<h2 class="card-header">{% trans "Validation Rules" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Minimum Value" %}</th>
@ -127,8 +127,8 @@
</table>
</div>
<div class="card">
<h5 class="card-header">Related Objects</h5>
<ul class="list-group list-group-flush">
<h2 class="card-header">Related Objects</h2>
<ul class="list-group list-group-flush" role="presentation">
{% for qs in related_models %}
<a class="list-group-item list-group-item-action d-flex justify-content-between">
{{ qs.model|meta:"verbose_name_plural"|bettertitle }}

View File

@ -6,7 +6,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">Custom Field Choice Set</h5>
<h2 class="card-header">Custom Field Choice Set</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">Name</th>
@ -44,7 +44,7 @@
</div>
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">Choices ({{ object.choices|length }})</h5>
<h2 class="card-header">Choices ({{ object.choices|length }})</h2>
<table class="table table-hover">
<thead>
<tr>

View File

@ -7,7 +7,7 @@
<div class="row mb-3">
<div class="col col-md-5">
<div class="card">
<h5 class="card-header">{% trans "Custom Link" %}</h5>
<h2 class="card-header">{% trans "Custom Link" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Name" %}</th>
@ -36,7 +36,7 @@
</table>
</div>
<div class="card">
<h5 class="card-header">{% trans "Assigned Models" %}</h5>
<h2 class="card-header">{% trans "Assigned Models" %}</h2>
<table class="table table-hover attr-table">
{% for ct in object.object_types.all %}
<tr>
@ -49,17 +49,13 @@
</div>
<div class="col col-md-7">
<div class="card">
<h5 class="card-header">
{% trans "Link Text" %}
</h5>
<h2 class="card-header">{% trans "Link Text" %}</h2>
<div class="card-body">
<pre>{{ object.link_text }}</pre>
</div>
</div>
<div class="card">
<h5 class="card-header">
{% trans "Link URL" %}
</h5>
<h2 class="card-header">{% trans "Link URL" %}</h2>
<div class="card-body">
<pre>{{ object.link_url }}</pre>
</div>

View File

@ -7,7 +7,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Event Rule" %}</h5>
<h2 class="card-header">{% trans "Event Rule" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Name" %}</th>
@ -24,7 +24,7 @@
</table>
</div>
<div class="card">
<h5 class="card-header">{% trans "Object Types" %}</h5>
<h2 class="card-header">{% trans "Object Types" %}</h2>
<table class="table table-hover attr-table">
{% for object_type in object.object_types.all %}
<tr>
@ -34,7 +34,7 @@
</table>
</div>
<div class="card">
<h5 class="card-header">{% trans "Events" %}</h5>
<h2 class="card-header">{% trans "Events" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Create" %}</th>
@ -62,9 +62,7 @@
</div>
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">
{% trans "Conditions" %}
</h5>
<h2 class="card-header">{% trans "Conditions" %}</h2>
<div class="card-body">
{% if object.conditions %}
<pre>{{ object.conditions|json }}</pre>
@ -74,7 +72,7 @@
</div>
</div>
<div class="card">
<h5 class="card-header">{% trans "Action" %}</h5>
<h2 class="card-header">{% trans "Action" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Type" %}</th>

View File

@ -9,7 +9,7 @@
<div class="row mb-3">
<div class="col col-md-5">
<div class="card">
<h5 class="card-header">{% trans "Export Template" %}</h5>
<h2 class="card-header">{% trans "Export Template" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Name" %}</th>
@ -63,7 +63,7 @@
</table>
</div>
<div class="card">
<h5 class="card-header">{% trans "Assigned Models" %}</h5>
<h2 class="card-header">{% trans "Assigned Models" %}</h2>
<table class="table table-hover attr-table">
{% for object_type in object.object_types.all %}
<tr>
@ -76,7 +76,7 @@
</div>
<div class="col col-md-7">
<div class="card">
<h5 class="card-header">{% trans "Template" %}</h5>
<h2 class="card-header">{% trans "Template" %}</h2>
<div class="card-body">
{% include 'inc/sync_warning.html' %}
<pre>{{ object.template_code }}</pre>

View File

@ -20,7 +20,7 @@
{% if tests %}
{# Summary of test methods #}
<div class="card">
<h5 class="card-header">{% trans "Test Summary" %}</h5>
<h2 class="card-header">{% trans "Test Summary" %}</h2>
<table class="table table-hover">
{% for test, data in tests.items %}
<tr>
@ -40,7 +40,7 @@
{% if table %}
<div class="card">
<div class="table-responsive" id="object_list">
<h5 class="card-header">{% trans "Log" %}</h5>
<h2 class="card-header">{% trans "Log" %}</h2>
{% include 'htmx/table.html' %}
</div>
</div>
@ -49,7 +49,7 @@
{# Script output. Legacy reports will not have this. #}
{% if 'output' in job.data %}
<div class="card mb-3">
<h5 class="card-header">{% trans "Output" %}</h5>
<h2 class="card-header">{% trans "Output" %}</h2>
{% if job.data.output %}
<pre class="card-body font-monospace">{{ job.data.output }}</pre>
{% else %}

View File

@ -2,13 +2,13 @@
{% load i18n %}
{% if title %}
<h5 class="card-header d-flex justify-content-between">
<h2 class="card-header d-flex justify-content-between">
{% trans title %}
<div>
{% if copyid %}{% copy_content copyid %}{% endif %}
{% include 'extras/inc/format_toggle.html' %}
</div>
</h5>
</h2>
{% endif %}
<div class="card-body">
<div class="rendered-context-data mt-1">

View File

@ -12,7 +12,7 @@
<div class="row mb-3">
<div class="col col-md-5">
<div class="card">
<h5 class="card-header">{% trans "Journal Entry" %}</h5>
<h2 class="card-header">{% trans "Journal Entry" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Object" %}</th>

View File

@ -21,12 +21,12 @@
</div>
</div>
<div class="card">
<h5 class="card-header d-flex justify-content-between">
<h2 class="card-header d-flex justify-content-between">
{% trans "Source Contexts" %}
<div>
{% include 'extras/inc/format_toggle.html' %}
</div>
</h5>
</h2>
{% for context in source_contexts %}
<div class="card-body">
<div class="float-end">

View File

@ -14,7 +14,7 @@
</div>
{% if perms.extras.add_journalentry %}
<div class="card">
<h4 class="card-header">{% trans "New Journal Entry" %}</h4>
<h2 class="card-header">{% trans "New Journal Entry" %}</h2>
<div class="card-body">
<form action="{% url 'extras:journalentry_add' %}" method="post" enctype="multipart/form-data">
<div class="container">

View File

@ -7,7 +7,7 @@
<div class="row mb-3">
<div class="col col-md-5">
<div class="card">
<h5 class="card-header">{% trans "Saved Filter" %}</h5>
<h2 class="card-header">{% trans "Saved Filter" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Name" %}</th>
@ -36,7 +36,7 @@
</table>
</div>
<div class="card">
<h5 class="card-header">{% trans "Assigned Models" %}</h5>
<h2 class="card-header">{% trans "Assigned Models" %}</h2>
<table class="table table-hover attr-table">
{% for object_type in object.object_types.all %}
<tr>
@ -49,9 +49,7 @@
</div>
<div class="col col-md-7">
<div class="card">
<h5 class="card-header">
{% trans "Parameters" %}
</h5>
<h2 class="card-header">{% trans "Parameters" %}</h2>
<div class="card-body">
<pre>{{ object.parameters|json }}</pre>
</div>

View File

@ -23,7 +23,7 @@
{% if fields %}
<div class="field-group mb-5">
<div class="row">
<h5 class="col-9 offset-3">{{ group }}</h5>
<h2 class="col-9 offset-3">{{ group }}</h2>
</div>
{% for name in fields %}
{% with field=form|getfield:name %}

View File

@ -22,7 +22,7 @@
{% for module in script_modules %}
{% include 'inc/sync_warning.html' with object=module %}
<div class="card">
<h5 class="card-header justify-content-between" id="module{{ module.pk }}">
<h2 class="card-header justify-content-between" id="module{{ module.pk }}">
<div>
<i class="mdi mdi-file-document-outline"></i> {{ module }}
</div>
@ -38,7 +38,7 @@
</a>
{% endif %}
</div>
</h5>
</h2>
{% if module.scripts %}
<table class="table table-hover scripts">
<thead>

View File

@ -8,7 +8,7 @@
<div class="row">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Tag" %}</h5>
<h2 class="card-header">{% trans "Tag" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Name" %}</th>
@ -40,7 +40,7 @@
</div>
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Allowed Object Types" %}</h5>
<h2 class="card-header">{% trans "Allowed Object Types" %}</h2>
<table class="table table-hover attr-table">
{% for ct in object.object_types.all %}
<tr>
@ -54,7 +54,7 @@
</table>
</div>
<div class="card">
<h5 class="card-header">{% trans "Tagged Item Types" %}</h5>
<h2 class="card-header">{% trans "Tagged Item Types" %}</h2>
<table class="table table-hover attr-table">
{% for object_type in object_types %}
<tr>
@ -78,7 +78,7 @@
<div class="row">
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">{% trans "Tagged Objects" %}</h5>
<h2 class="card-header">{% trans "Tagged Objects" %}</h2>
<div class="card-body table-responsive">
{% render_table taggeditem_table 'inc/table.html' %}
{% include 'inc/paginator.html' with paginator=taggeditem_table.paginator page=taggeditem_table.page %}

View File

@ -7,7 +7,7 @@
<div class="row mb-3">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">{% trans "Webhook" %}</h5>
<h2 class="card-header">{% trans "Webhook" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "Name" %}</th>
@ -20,7 +20,7 @@
</table>
</div>
<div class="card">
<h5 class="card-header">{% trans "HTTP Request" %}</h5>
<h2 class="card-header">{% trans "HTTP Request" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "HTTP Method" %}</th>
@ -41,7 +41,7 @@
</table>
</div>
<div class="card">
<h5 class="card-header">{% trans "SSL" %}</h5>
<h2 class="card-header">{% trans "SSL" %}</h2>
<table class="table table-hover attr-table">
<tr>
<th scope="row">{% trans "SSL Verification" %}</th>
@ -57,9 +57,7 @@
</div>
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">
{% trans "Additional Headers" %}
</h5>
<h2 class="card-header">{% trans "Additional Headers" %}</h2>
<div class="card-body">
{% if object.additional_headers %}
<pre>{{ object.additional_headers }}</pre>
@ -69,9 +67,7 @@
</div>
</div>
<div class="card">
<h5 class="card-header">
{% trans "Body Template" %}
</h5>
<h2 class="card-header">{% trans "Body Template" %}</h2>
<div class="card-body">
{% if object.body_template %}
<pre>{{ object.body_template }}</pre>

View File

@ -10,7 +10,7 @@
{# Title #}
<div>
<h2 class="page-title my-1">{% block title %}{% endblock title %}</h2>
<h1 class="page-title mt-1 mb-2">{% block title %}{% endblock title %}</h1>
{% block subtitle %}{% endblock %}
</div>

View File

@ -55,7 +55,7 @@ Context:
<div class="row">
<div class="col col-md-12 col-lg-10 offset-lg-1">
<div class="card">
<h5 class="card-header">{{ model_name|title }} {% trans "to Add" %}</h5>
<h2 class="card-header">{{ model_name|title }} {% trans "to Add" %}</h2>
<div class="card-body">
{% for field in form.visible_fields %}
{% render_field field %}

View File

@ -62,7 +62,7 @@ Context:
{% if form.add_tags and form.remove_tags %}
<div class="field-group mb-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Tags" %}</h5>
<h2 class="col-9 offset-3">{% trans "Tags" %}</h2>
</div>
{% render_field form.add_tags %}
{% render_field form.remove_tags %}
@ -73,7 +73,7 @@ Context:
{% if form.custom_fields %}
<div class="field-group mb-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Custom Fields" %}</h5>
<h2 class="col-9 offset-3">{% trans "Custom Fields" %}</h2>
</div>
{% render_custom_fields form %}
</div>
@ -83,7 +83,7 @@ Context:
{% if form.comments %}
<div class="field-group mb-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Comments" %}</h5>
<h2 class="col-9 offset-3">{% trans "Comments" %}</h2>
</div>
{% render_field form.comments bulk_nullable=True %}
</div>

View File

@ -110,7 +110,7 @@ Context:
<div class="row my-3">
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">{% trans "Field Options" %}</h5>
<h2 class="card-header">{% trans "Field Options" %}</h2>
<table class="table">
<thead>
<tr>

View File

@ -54,7 +54,7 @@ Context:
<form action="" method="post" class="form form-horizontal">
{% csrf_token %}
<div class="card">
<h5 class="card-header">{% trans "Rename" %}</h5>
<h2 class="card-header">{% trans "Rename" %}</h2>
<div class="card-body">
{% render_form form %}
</div>

View File

@ -11,7 +11,7 @@
{{ field }}
{% endfor %}
<div class="card border-danger">
<h5 class="card-header">{% block confirmation_title %}{% endblock %}</h5>
<h2 class="card-header">{% block confirmation_title %}{% endblock %}</h2>
<div class="card-body">
{% block message %}<p>{% trans "Are you sure" %}?</p>{% endblock %}
</div>

View File

@ -100,9 +100,9 @@ Context:
{% endblock controls %}
{% block tabs %}
<ul class="nav nav-tabs">
<ul class="nav nav-tabs" role="presentation">
{# Primary tab #}
<li class="nav-item" role="presentation">
<li class="nav-item">
<a class="nav-link{% if not tab %} active{% endif %}" href="{{ object.get_absolute_url }}">{{ object|meta:"verbose_name"|bettertitle }}</a>
</li>

Some files were not shown because too many files have changed in this diff Show More