From 19eafef41e1b0b688910507a14d0f96810965c5d Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 21 Jul 2021 11:20:35 -0400 Subject: [PATCH] General UI cleanup --- netbox/netbox/navigation_menu.py | 4 +- netbox/project-static/dist/netbox-dark.css | Bin 663302 -> 663479 bytes .../project-static/dist/netbox-dark.css.map | 2 +- netbox/project-static/dist/netbox-light.css | Bin 394832 -> 394941 bytes .../project-static/dist/netbox-light.css.map | 2 +- netbox/project-static/styles/netbox.scss | 10 +- netbox/templates/circuits/circuit.html | 12 +- netbox/templates/dcim/consoleport.html | 2 +- netbox/templates/dcim/device.html | 682 +++++++++--------- netbox/templates/dcim/interface.html | 50 +- netbox/templates/dcim/poweroutlet.html | 2 +- netbox/templates/dcim/powerport.html | 2 +- netbox/templates/dcim/rack.html | 47 +- netbox/templates/dcim/rackreservation.html | 10 +- netbox/templates/dcim/site.html | 25 +- netbox/templates/dcim/virtualchassis.html | 2 +- netbox/templates/extras/customlink.html | 4 +- netbox/templates/extras/exporttemplate.html | 4 +- netbox/templates/extras/tag.html | 108 +-- netbox/templates/ipam/ipaddress.html | 10 +- netbox/templates/ipam/prefix.html | 36 +- netbox/templates/ipam/routetarget.html | 11 +- netbox/templates/ipam/service.html | 4 +- netbox/templates/ipam/vlan.html | 29 +- netbox/templates/ipam/vrf.html | 126 ++-- netbox/templates/users/base.html | 4 +- netbox/templates/virtualization/cluster.html | 135 ++-- .../templates/virtualization/vminterface.html | 2 +- 28 files changed, 677 insertions(+), 648 deletions(-) diff --git a/netbox/netbox/navigation_menu.py b/netbox/netbox/navigation_menu.py index b21a77a5a..66ea585d1 100644 --- a/netbox/netbox/navigation_menu.py +++ b/netbox/netbox/navigation_menu.py @@ -304,8 +304,8 @@ OTHER_MENU = Menu( MenuGroup( label="Miscellaneous", items=( - MenuItem(label="Config Contexts", - url="extras:configcontext_list", add_url=None, import_url=None), + MenuItem(label="Config Contexts", url="extras:configcontext_list", + add_url="extras:configcontext_add", import_url=None), MenuItem(label="Reports", url="extras:report_list", add_url=None, import_url=None), MenuItem(label="Scripts", url="extras:script_list", diff --git a/netbox/project-static/dist/netbox-dark.css b/netbox/project-static/dist/netbox-dark.css index 1e6f16c2544b294c7e460568ef96d0b4635ceb4b..b4cbcf85bcd09ef61b792dad1538666c9098dc37 100644 GIT binary patch delta 133 zcmZqMr?Gv%Mnel@3sVbo3rh=Y3tJ0&3&$2tFAla;%hcr5wCRN$oFdy(I5-zGP0!}w zl-jPy&1tn^`hm@yN^E+GB_&0=(-&;zH06h|OA?cEQWZ)vswdwo)0zI@H7CpV_}!e+ hvVvBI1r-X#`8k;>3d+U?KseoSDx28$jvJhHZUC3tu{ :last-child {\n margin-bottom: 0;\n }\n}\n\n.blockquote-footer {\n margin-top: -$blockquote-margin-y;\n margin-bottom: $blockquote-margin-y;\n @include font-size($blockquote-footer-font-size);\n color: $blockquote-footer-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Dark Mode Theme Variables and Overrides.\n\n@use 'sass:map';\n@import './theme-base.scss';\n\n$primary: $blue-300;\n$secondary: $gray-500;\n$success: $green-300;\n$info: $cyan-300;\n$warning: $yellow-300;\n$danger: $red-300;\n$light: $gray-300;\n$dark: $gray-500;\n\n$theme-colors: (\n 'primary': $primary,\n 'secondary': $secondary,\n 'success': $success,\n 'info': $info,\n 'warning': $warning,\n 'danger': $danger,\n 'light': $light,\n 'dark': $dark,\n);\n\n$theme-colors: map-merge($theme-colors, $theme-color-addons);\n\n// Gradient\n$gradient: linear-gradient(180deg, rgba($white, 0.15), rgba($white, 0));\n\n// Body\n$body-bg: #1b1f22;\n$body-color: $white;\n$body-text-align: null;\n$border-color: $gray-700;\n$box-shadow: 0 0.5rem 1rem rgba($black, 0.15);\n$box-shadow-sm: 0 0.125rem 0.25rem rgba($black, 0.075);\n$box-shadow-lg: 0 1rem 3rem rgba($black, 0.175);\n$box-shadow-inset: inset 0 1px 2px rgba($black, 0.075);\n$text-muted: $gray-400;\n$blockquote-footer-color: $gray-600;\n$mark-bg: #fcf8e3;\n$link-color: $blue-200;\n$link-hover-color: $blue-100;\n\n// Tables\n$table-color: $gray-100;\n$table-border-color: $border-color;\n$table-striped-color: $table-color;\n$table-striped-bg: rgba($white, $table-striped-bg-factor);\n$table-active-color: $table-color;\n$table-active-bg: rgba($white, $table-active-bg-factor);\n$table-hover-color: $table-color;\n$table-hover-bg: rgba($white, $table-hover-bg-factor);\n$table-flush-header-bg: $gray-700;\n\n// Buttons\n$btn-box-shadow: inset 0 1px 0 rgba($black, 0.15), 0 1px 1px rgba($white, 0.075);\n$btn-active-box-shadow: inset 0 3px 5px rgba($white, 0.125);\n$btn-link-disabled-color: $gray-300;\n\n// Forms\n$component-active-bg: $primary;\n$form-text-color: $text-muted;\n$input-bg: $gray-900;\n$input-disabled-bg: $gray-700;\n$input-color: $gray-100;\n$input-border-color: $gray-700;\n$input-focus-bg: $input-bg;\n$input-focus-border-color: tint-color($component-active-bg, 10%);\n$input-focus-color: $input-color;\n$input-placeholder-color: $gray-300;\n$input-plaintext-color: $body-color;\n\n$form-check-input-active-filter: brightness(90%);\n$form-check-input-bg: $input-bg;\n$form-check-input-border: 1px solid rgba(255, 255, 255, 0.25);\n$form-check-input-checked-color: $component-active-color;\n$form-check-input-checked-bg-color: $component-active-bg;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color;\n$form-check-input-indeterminate-color: $component-active-color;\n$form-check-input-indeterminate-bg-color: $component-active-bg;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color;\n\n$form-switch-color: rgba(255, 255, 255, 0.25);\n$form-switch-focus-color: $input-focus-border-color;\n$form-switch-checked-color: $component-active-color;\n\n$input-group-addon-color: $input-color;\n$input-group-addon-bg: $gray-700;\n$input-group-addon-border-color: $input-border-color;\n\n$form-select-color: $input-color;\n$form-select-disabled-color: $gray-700;\n$form-select-bg: $input-bg;\n$form-select-disabled-bg: $input-disabled-bg;\n$form-select-indicator-color: $form-select-color;\n$form-select-indicator: url(\"data:image/svg+xml,\");\n\n$form-select-border-color: $input-border-color;\n$form-range-track-bg: $gray-300;\n\n$form-range-thumb-bg: $component-active-bg;\n$form-range-thumb-box-shadow: 0 0.1rem 0.25rem rgba($black, 0.1);\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow;\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%);\n$form-range-thumb-disabled-bg: $gray-500;\n\n$form-file-button-color: $input-color;\n$form-file-button-bg: $input-group-addon-bg;\n$form-file-button-hover-bg: shade-color($form-file-button-bg, 5%);\n\n$form-feedback-valid-color: $success;\n$form-feedback-invalid-color: $danger;\n\n// Navs\n$nav-link-color: $body-color;\n$nav-link-hover-color: null;\n$nav-link-disabled-color: $gray-800;\n$nav-tabs-border-color: $border-color;\n$nav-tabs-link-hover-border-color: rgba($gray-800, 0.5) rgba($gray-800, 0.5) $nav-tabs-border-color;\n$nav-tabs-link-active-color: $gray-100;\n$nav-tabs-link-active-bg: $body-bg;\n$nav-tabs-link-active-border-color: $gray-800 $gray-800 $nav-tabs-link-active-bg;\n$nav-pills-link-active-color: $component-active-color;\n$nav-pills-link-active-bg: $component-active-bg;\n\n$navbar-light-color: $gray-500;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,\");\n$navbar-light-toggler-border-color: $gray-700;\n\n// Dropdowns\n$dropdown-color: $body-color;\n$dropdown-bg: $gray-900;\n$dropdown-border-color: rgba($white, 0.15);\n$dropdown-link-color: $gray-100;\n$dropdown-link-hover-color: $white;\n$dropdown-link-hover-bg: $gray-600;\n$dropdown-link-disabled-color: $gray-800;\n$dropdown-header-color: $gray-600;\n\n// Pagination\n$pagination-color: $link-color;\n$pagination-bg: $gray-800;\n$pagination-border-color: $gray-600;\n$pagination-focus-color: $link-hover-color;\n$pagination-focus-bg: $gray-400;\n$pagination-hover-color: $link-hover-color;\n$pagination-hover-bg: $gray-400;\n$pagination-hover-border-color: $gray-500;\n$pagination-active-color: $component-active-color;\n$pagination-active-bg: $component-active-bg;\n$pagination-active-border-color: $pagination-active-bg;\n$pagination-disabled-color: $gray-600;\n$pagination-disabled-bg: $gray-800;\n$pagination-disabled-border-color: $gray-600;\n\n// Cards\n$card-border-color: rgba($white, 0.125);\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width);\n\n$card-cap-color: null;\n$card-height: null;\n$card-color: null;\n$card-bg: $gray-900;\n\n// Accordion\n$accordion-color: $body-color;\n$accordion-bg: transparent;\n$accordion-border-color: $border-color;\n$accordion-button-color: $accordion-color;\n$accordion-button-bg: $accordion-bg;\n$accordion-body-active-bg: rgba($blue-300, 0.2);\n$accordion-button-active-bg: rgba($blue-300, 0.25);\n$accordion-button-active-color: $gray-300;\n$accordion-button-focus-border-color: $input-focus-border-color;\n$accordion-icon-color: $accordion-color;\n$accordion-icon-active-color: $accordion-button-active-color;\n\n$accordion-button-icon: url(\"data:image/svg+xml,\");\n$accordion-button-active-icon: url(\"data:image/svg+xml,\");\n\n// Tooltips\n$tooltip-color: $body-color;\n$tooltip-bg: $gray-700;\n$tooltip-arrow-color: $tooltip-bg;\n$form-feedback-tooltip-opacity: $tooltip-opacity;\n\n// Popovers\n$popover-bg: $gray-700;\n$popover-border-color: rgba($white, 0.2);\n$popover-header-bg: shade-color($popover-bg, 6%);\n$popover-header-color: $headings-color;\n$popover-body-color: $body-color;\n$popover-arrow-color: $popover-bg;\n$popover-arrow-outer-color: fade-in($popover-border-color, 0.05);\n\n// Toasts\n$toast-color: null;\n$toast-background-color: rgba($white, 0.85);\n$toast-border-color: rgba(0, 0, 0, 0.1);\n$toast-header-color: $gray-600;\n$toast-header-background-color: rgba($white, 0.85);\n$toast-header-border-color: rgba(0, 0, 0, 0.05);\n\n// Badges\n$badge-color: $white;\n\n// Modals\n$modal-content-color: null;\n$modal-content-bg: $gray-800;\n$modal-content-border-color: rgba($white, 0.2);\n$modal-backdrop-bg: $black;\n$modal-header-border-color: $border-color;\n$modal-footer-border-color: $modal-header-border-color;\n\n// Progress bars\n$progress-bg: $gray-600;\n$progress-bar-color: $white;\n$progress-bar-bg: $primary;\n\n// List group\n$list-group-color: $body-color;\n$list-group-bg: $card-bg;\n$list-group-border-color: rgba($white, 0.125);\n$list-group-hover-bg: rgba($gray-100, 0.15);\n$list-group-active-color: $component-active-color;\n$list-group-active-bg: $component-active-bg;\n$list-group-active-border-color: $list-group-active-bg;\n$list-group-disabled-bg: $list-group-bg;\n$list-group-action-color: $gray-300;\n$list-group-action-hover-color: $body-color;\n$list-group-action-active-color: $body-color;\n$list-group-action-active-bg: rgba($gray-300, 0.125);\n\n// Image thumbnails\n$thumbnail-bg: $body-bg;\n$thumbnail-border-color: $gray-300;\n\n// Figures\n$figure-caption-color: $gray-600;\n\n// Breadcrumbs\n$breadcrumb-divider-color: $gray-100;\n$breadcrumb-active-color: $body-color;\n$breadcrumb-divider-flipped: $breadcrumb-divider;\n$breadcrumb-divider: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M2.5 0L1 1.5 3.5 4 1 6.5 2.5 8l4-4-4-4z' fill='#{$breadcrumb-divider-color}'/%3E%3C/svg%3E\");\n\n// Carousel\n$carousel-control-color: $white;\n$carousel-indicator-active-bg: $white;\n$carousel-caption-color: $white;\n$carousel-dark-indicator-active-bg: $black;\n$carousel-dark-caption-color: $black;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100);\n\n// Close\n$btn-close-color: $white;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);\n\n$btn-close-bg: url(\"data:image/svg+xml,\");\n\n@each $color, $value in $theme-colors {\n .bg-#{$color} button.btn-close {\n background: url(\"data:image/svg+xml,\");\n }\n}\n\n// Code\n$code-color: $gray-200;\n$kbd-color: $white;\n$kbd-bg: $gray-300;\n$pre-color: null;\n\n// Tabbed content\n$tab-content-bg: $gray-900;\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$variable-prefix}gradient: #{$gradient};\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root;\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-bs-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-bs-original-title] { // 1\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n direction: ltr #{\"/* rtl:ignore */\"};\n unicode-bidi: bidi-override;\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\nbutton,\nselect {\n text-transform: none;\n}\n// Set the cursor for non-`

- - - - - - + + + + + + + + + + + + - +
- {% if object.enabled %} - Enabled - {% else %} - Disabled - {% endif %} -
- {% if object.mgmt_only %} - Management Only - {% else %} - Not Management Only - {% endif %} -
Device @@ -57,6 +39,36 @@ Type {{ object.get_type_display }}
Enabled + {% if object.enabled %} + + {% else %} + + {% endif %} +
Management Only + {% if object.mgmt_only %} + + {% else %} + + {% endif %} +
Parent + {% if object.parent %} + {{ object.parent }} + {% else %} + None + {% endif %} +
LAG @@ -81,7 +93,7 @@
802.1Q Mode{{ object.get_mode_display }}{{ object.get_mode_display|placeholder }}
diff --git a/netbox/templates/dcim/poweroutlet.html b/netbox/templates/dcim/poweroutlet.html index ef7b4319a..f8973c79b 100644 --- a/netbox/templates/dcim/poweroutlet.html +++ b/netbox/templates/dcim/poweroutlet.html @@ -39,7 +39,7 @@ Feed Leg - {{ object.get_feed_leg_display }} + {{ object.get_feed_leg_display|placeholder }} diff --git a/netbox/templates/dcim/powerport.html b/netbox/templates/dcim/powerport.html index f997f02c9..db367df1f 100644 --- a/netbox/templates/dcim/powerport.html +++ b/netbox/templates/dcim/powerport.html @@ -27,7 +27,7 @@ Type - {{ object.get_type_display }} + {{ object.get_type_display|placeholder }} Description diff --git a/netbox/templates/dcim/rack.html b/netbox/templates/dcim/rack.html index 7b2a1061d..631dbf9f3 100644 --- a/netbox/templates/dcim/rack.html +++ b/netbox/templates/dcim/rack.html @@ -31,8 +31,8 @@ {% endblock %} {% block content %} -
-
+
+
Rack @@ -47,28 +47,15 @@ {% endif %} {{ object.site }} - - - Location - - {% if object.location %} - {% for location in object.location.get_ancestors %} - {{ location }} / - {% endfor %} - {{ object.location }} - {% else %} - None - {% endif %} - - + - Group + Location - {% if object.group %} - {% for group in object.group.get_ancestors %} - {{ group }} / + {% if object.location %} + {% for location in object.location.get_ancestors %} + {{ location }} / {% endfor %} - {{ object.group }} + {{ object.location }} {% else %} None {% endif %} @@ -109,7 +96,7 @@ Serial Number - {{ object.serial|placeholder }} + {{ object.serial|placeholder }} Asset Tag @@ -308,8 +295,8 @@ {% endif %}
{% plugin_left_page object %} -
-
+
+
@@ -370,10 +357,10 @@
{% plugin_right_page object %}
-
-
-
- {% plugin_full_width_page object %} -
-
+
+
+
+ {% plugin_full_width_page object %} +
+
{% endblock %} diff --git a/netbox/templates/dcim/rackreservation.html b/netbox/templates/dcim/rackreservation.html index 27e448170..9d1b4deea 100644 --- a/netbox/templates/dcim/rackreservation.html +++ b/netbox/templates/dcim/rackreservation.html @@ -12,7 +12,7 @@ {% block content %}
-
+
Rack @@ -30,10 +30,10 @@ - Group + Location - {% if rack.group %} - {{ rack.group }} + {% if rack.location %} + {{ rack.location }} {% else %} None {% endif %} @@ -87,7 +87,7 @@ {% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='dcim:rackreservation_list' %} {% plugin_left_page object %}
-
+
diff --git a/netbox/templates/dcim/site.html b/netbox/templates/dcim/site.html index 72ce2b21e..201b24b61 100644 --- a/netbox/templates/dcim/site.html +++ b/netbox/templates/dcim/site.html @@ -27,12 +27,6 @@
- - - - + + + + + + + + - + diff --git a/netbox/templates/extras/customlink.html b/netbox/templates/extras/customlink.html index 5a3c3056e..fb6d2c7af 100644 --- a/netbox/templates/extras/customlink.html +++ b/netbox/templates/extras/customlink.html @@ -4,7 +4,7 @@ {% block content %}
-
+
Custom Link @@ -46,7 +46,7 @@
{% plugin_left_page object %}
-
+
Link Text diff --git a/netbox/templates/extras/exporttemplate.html b/netbox/templates/extras/exporttemplate.html index 5a4b150a7..459ace55e 100644 --- a/netbox/templates/extras/exporttemplate.html +++ b/netbox/templates/extras/exporttemplate.html @@ -9,7 +9,7 @@ {% block content %}
-
+
Export Template @@ -51,7 +51,7 @@
{% plugin_left_page object %}
-
+
Template diff --git a/netbox/templates/extras/tag.html b/netbox/templates/extras/tag.html index cd4257179..cfc453e9c 100644 --- a/netbox/templates/extras/tag.html +++ b/netbox/templates/extras/tag.html @@ -3,52 +3,72 @@ {% load plugins %} {% block content %} -
-
-
-
- Tag -
-
-
- {{ object.get_status_display }} -
Region @@ -46,6 +40,25 @@ {% endif %}
Group + {% if object.group %} + {% for group in object.group.get_ancestors %} + {{ group }} / + {% endfor %} + {{ object.group }} + {% else %} + None + {% endif %} +
Status + {{ object.get_status_display }} +
Tenant diff --git a/netbox/templates/dcim/virtualchassis.html b/netbox/templates/dcim/virtualchassis.html index fe2f7baa9..7046b1d49 100644 --- a/netbox/templates/dcim/virtualchassis.html +++ b/netbox/templates/dcim/virtualchassis.html @@ -60,7 +60,7 @@ {{ vc_member }} {{ vc_member.vc_position }}{{ vc_member.vc_position }} {% if object.master == vc_member %}{% endif %} {{ vc_member.vc_priority|placeholder }}
- - - - - - - - - - - - - - - - - - - - -
Name - {{ object.name }} -
Slug - {{ object.slug }} -
Tagged Items - {{ items_count }} -
Color -   -
Description - {{ object.description|placeholder }} -
+
+
+
+
+ Tag +
+
+ + + + + + + + + + + + + + + + + +
Name + {{ object.name }} +
Description + {{ object.description|placeholder }} +
Color +   +
Tagged Items + {{ taggeditem_table.rows|length }} +
+
+
+
+
+ Tagged Item Types +
+
+ + {% for object_type in object_types %} + + + + + {% endfor %} +
{{ object_type.content_type.name|bettertitle }} + {% with viewname=object_type.content_type.model_class|validated_viewname:"list" %} + {% if viewname %} + {{ object_type.item_count }} + {% else %} + {{ object_type.item_count }} + {% endif %} + {% endwith %} +
+
+
-
- {% include 'inc/panel_table.html' with table=items_table heading='Tagged Objects' %} - {% include 'inc/paginator.html' with paginator=items_table.paginator page=items_table.page %} +
+
+ {% 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 %} +
-
-{% plugin_full_width_page object %} + {% plugin_full_width_page object %} {% endblock %} diff --git a/netbox/templates/ipam/ipaddress.html b/netbox/templates/ipam/ipaddress.html index 7dbc05bba..668290458 100644 --- a/netbox/templates/ipam/ipaddress.html +++ b/netbox/templates/ipam/ipaddress.html @@ -116,11 +116,11 @@ {% include 'inc/panel_table.html' with table=parent_prefixes_table heading='Parent Prefixes' %} {% if duplicate_ips_table.rows %} {# Custom version of panel_table.html #} -
+
- Duplicate IP Addresses + Duplicate IP Addresses {% if more_duplicate_ips %} -
+ +
{% endif %}
@@ -137,7 +137,7 @@
{% endif %}
- {% 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' %}
{% plugin_right_page object %}
diff --git a/netbox/templates/ipam/prefix.html b/netbox/templates/ipam/prefix.html index e112ee82c..4e3fd2edf 100644 --- a/netbox/templates/ipam/prefix.html +++ b/netbox/templates/ipam/prefix.html @@ -4,7 +4,7 @@ {% block content %}
-
+
Prefix @@ -74,6 +74,12 @@ {% endif %} + + Status + + {{ object.get_status_display }} + + Role @@ -85,10 +91,8 @@ - Status - - {{ object.get_status_display }} - + Description + {{ object.description|placeholder }} Is a pool @@ -100,10 +104,6 @@ {% endif %} - - Description - {{ object.description|placeholder }} - Utilization @@ -118,24 +118,20 @@
- {% include 'inc/custom_fields_panel.html' %} {% plugin_left_page object %}
-
- {% 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' %} +
+ {% include 'inc/custom_fields_panel.html' %} + {% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='ipam:prefix_list' %} {% plugin_right_page object %}
-
-
- {% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='ipam:prefix_list' %} -
-
+ {% 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 %}
diff --git a/netbox/templates/ipam/routetarget.html b/netbox/templates/ipam/routetarget.html index 14a0e0ddd..cde1274db 100644 --- a/netbox/templates/ipam/routetarget.html +++ b/netbox/templates/ipam/routetarget.html @@ -32,7 +32,8 @@
- + {% 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 %}
@@ -43,14 +44,6 @@ {% plugin_right_page object %}
-
-
- {% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='ipam:routetarget_list' %} -
-
- {% include 'inc/custom_fields_panel.html' %} -
-
{% plugin_full_width_page object %} diff --git a/netbox/templates/ipam/service.html b/netbox/templates/ipam/service.html index 0122806ef..6083d1b5e 100644 --- a/netbox/templates/ipam/service.html +++ b/netbox/templates/ipam/service.html @@ -57,11 +57,11 @@
- {% 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 %}
+ {% 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 %}
diff --git a/netbox/templates/ipam/vlan.html b/netbox/templates/ipam/vlan.html index 397a0a2a8..33541827f 100644 --- a/netbox/templates/ipam/vlan.html +++ b/netbox/templates/ipam/vlan.html @@ -4,18 +4,13 @@ {% block content %}
-
+
VLAN
- - - + + + +
- {{ object.get_status_display }} -
Site @@ -60,6 +55,12 @@ {% endif %}
Status + {{ object.get_status_display }} +
Role @@ -77,11 +78,16 @@
- {% 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 %}
-
+
+ {% 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 %} +
+
+
+
Prefixes @@ -98,11 +104,6 @@
{% endif %}
- {% plugin_right_page object %} -
-
-
-
{% plugin_full_width_page object %}
diff --git a/netbox/templates/ipam/vrf.html b/netbox/templates/ipam/vrf.html index d39b1999d..863753c0d 100644 --- a/netbox/templates/ipam/vrf.html +++ b/netbox/templates/ipam/vrf.html @@ -8,68 +8,74 @@ {% block content %}
-
-
- VRF -
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
Route Distinguisher{{ object.rd }}
Tenant - {% if object.tenant %} - {{ object.tenant }} - {% else %} - None - {% endif %} -
Unique IP Space - {% if object.enforce_unique %} - - {% else %} - - {% endif %} -
Description{{ object.description|placeholder }}
Prefixes - {{ prefix_count }} -
IP Addresses - {{ ipaddress_count }} -
-
-
- {% 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 %} +
+
+ VRF +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Route Distinguisher{{ object.rd|placeholder }}
Tenant + {% if object.tenant %} + {{ object.tenant }} + {% else %} + None + {% endif %} +
Unique IP Space + {% if object.enforce_unique %} + + {% else %} + + {% endif %} +
Description{{ object.description|placeholder }}
Prefixes + {{ prefix_count }} +
IP Addresses + {{ ipaddress_count }} +
+
+
+ {% plugin_left_page object %} +
+
+ {% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='ipam:vrf_list' %} + {% include 'inc/custom_fields_panel.html' %} + {% plugin_right_page object %}
-
- {% include 'inc/panel_table.html' with table=import_targets_table heading="Import Route Targets" %} - {% include 'inc/panel_table.html' with table=export_targets_table heading="Export Route Targets" %} - {% plugin_right_page object %} -
-
- {% plugin_full_width_page object %} -
+
+ {% include 'inc/panel_table.html' with table=import_targets_table heading="Import Route Targets" %} +
+
+ {% include 'inc/panel_table.html' with table=export_targets_table heading="Export Route Targets" %} +
+
+
+
+ {% plugin_full_width_page object %} +
{% endblock %} diff --git a/netbox/templates/users/base.html b/netbox/templates/users/base.html index d362e637d..038787862 100644 --- a/netbox/templates/users/base.html +++ b/netbox/templates/users/base.html @@ -4,7 +4,7 @@ {% block content %}
-
+
-
+
{% block usercontent %}{% endblock %}
diff --git a/netbox/templates/virtualization/cluster.html b/netbox/templates/virtualization/cluster.html index 87b9d9d7c..402ec71bc 100644 --- a/netbox/templates/virtualization/cluster.html +++ b/netbox/templates/virtualization/cluster.html @@ -4,74 +4,77 @@ {% block content %}
-
-
-
- Cluster -
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
Name{{ object.name }}
Type{{ object.type }}
Group - {% if object.group %} - {{ object.group }} - {% else %} - None - {% endif %} -
Tenant - {% if object.tenant %} - {{ object.tenant }} - {% else %} - None - {% endif %} -
Site - {% if object.site %} - {{ object.site }} - {% else %} - None - {% endif %} -
Virtual Machines{{ object.virtual_machines.count }}
-
+
+
+
+ Cluster +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Name{{ object.name }}
Type{{ object.type }}
Group + {% if object.group %} + {{ object.group }} + {% else %} + None + {% endif %} +
Tenant + {% if object.tenant %} + {{ object.tenant }} + {% else %} + None + {% endif %} +
Site + {% if object.site %} + {{ object.site }} + {% else %} + None + {% endif %} +
Virtual Machines{{ object.virtual_machines.count }}
- {% include 'inc/custom_fields_panel.html' %} - {% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='virtualization:cluster_list' %} -
-
- Comments -
-
- {% if object.comments %} - {{ object.comments|render_markdown }} - {% else %} - None - {% endif %} -
-
- {% plugin_left_page object %}
+
+
+ Comments +
+
+ {% if object.comments %} + {{ object.comments|render_markdown }} + {% else %} + None + {% endif %} +
+
+ {% plugin_left_page object %} +
+
+ {% 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 %} +
diff --git a/netbox/templates/virtualization/vminterface.html b/netbox/templates/virtualization/vminterface.html index 826999774..6a618a1be 100644 --- a/netbox/templates/virtualization/vminterface.html +++ b/netbox/templates/virtualization/vminterface.html @@ -61,7 +61,7 @@ 802.1Q Mode - {{ object.get_mode_display }} + {{ object.get_mode_display|placeholder }}