mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-18 04:56:29 -06:00
remove all bootstrap icons in favor of material design icons
This commit is contained in:
parent
024f3962b2
commit
fe4a9bff2d
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
netbox/project-static/dist/materialdesignicons-webfont.ee0e0f45.woff2
vendored
Normal file
BIN
netbox/project-static/dist/materialdesignicons-webfont.ee0e0f45.woff2
vendored
Normal file
Binary file not shown.
BIN
netbox/project-static/dist/netbox.css
vendored
BIN
netbox/project-static/dist/netbox.css
vendored
Binary file not shown.
2
netbox/project-static/dist/netbox.css.map
vendored
2
netbox/project-static/dist/netbox.css.map
vendored
File diff suppressed because one or more lines are too long
@ -1,8 +1,7 @@
|
|||||||
@import './theme.scss';
|
@import './theme.scss';
|
||||||
@import './bootstrap.scss';
|
@import './bootstrap.scss';
|
||||||
|
|
||||||
@import './materialdesignicons-5.4.55/css/materialdesignicons.min.css';
|
@import './node_modules/@mdi/font/css/materialdesignicons.min.css';
|
||||||
@import './node_modules/bootstrap-icons/font/bootstrap-icons.css';
|
|
||||||
|
|
||||||
@import './select.scss';
|
@import './select.scss';
|
||||||
@import './node_modules/flatpickr/dist/flatpickr.min.css';
|
@import './node_modules/flatpickr/dist/flatpickr.min.css';
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
Disclaimer:
|
|
||||||
Hi there, thanks for contributing! Before anything else, please ensure you didn't mean to create an issue on the main MaterialDesign repo instead.
|
|
||||||
If this is intentional, just erase this message. Thanks!
|
|
@ -1,20 +0,0 @@
|
|||||||
Pictogrammers Free License
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
This icon collection is released as free, open source, and GPL friendly by
|
|
||||||
the [Pictogrammers](http://pictogrammers.com/) icon group. You may use it
|
|
||||||
for commercial projects, open source projects, or anything really.
|
|
||||||
|
|
||||||
# Icons: Apache 2.0 (https://www.apache.org/licenses/LICENSE-2.0)
|
|
||||||
Some of the icons are redistributed under the Apache 2.0 license. All other
|
|
||||||
icons are either redistributed under their respective licenses or are
|
|
||||||
distributed under the Apache 2.0 license.
|
|
||||||
|
|
||||||
# Fonts: Apache 2.0 (https://www.apache.org/licenses/LICENSE-2.0)
|
|
||||||
All web and desktop fonts are distributed under the Apache 2.0 license. Web
|
|
||||||
and desktop fonts contain some icons that are redistributed under the Apache
|
|
||||||
2.0 license. All other icons are either redistributed under their respective
|
|
||||||
licenses or are distributed under the Apache 2.0 license.
|
|
||||||
|
|
||||||
# Code: MIT (https://opensource.org/licenses/MIT)
|
|
||||||
The MIT license applies to all non-font and non-icon files.
|
|
@ -1,25 +0,0 @@
|
|||||||
> *Note:* Please use the main [MaterialDesign](https://github.com/Templarian/MaterialDesign/issues) repo to report issues. This repo is for distribution of the Webfont files only.
|
|
||||||
|
|
||||||
# Webfont - Material Design Icons
|
|
||||||
|
|
||||||
Webfont distribution for the [Material Design Icons](https://materialdesignicons.com).
|
|
||||||
|
|
||||||
```
|
|
||||||
npm install @mdi/font
|
|
||||||
```
|
|
||||||
|
|
||||||
> Package built with [@mdi/font-build](https://github.com/Templarian/MaterialDesign-Font-Build).
|
|
||||||
|
|
||||||
## Related Packages
|
|
||||||
|
|
||||||
[NPM @MDI Organization](https://npmjs.com/org/mdi)
|
|
||||||
|
|
||||||
- JavaScript/Typescript: [MaterialDesign-JS](https://github.com/Templarian/MaterialDesign-JS)
|
|
||||||
- SVG: [MaterialDesign-SVG](https://github.com/Templarian/MaterialDesign-SVG)
|
|
||||||
- Font-Build [MaterialDesign-Font-Build](https://github.com/Templarian/MaterialDesign-Font-Build)
|
|
||||||
- Desktop Font: [MaterialDesign-Font](https://github.com/Templarian/MaterialDesign-Font)
|
|
||||||
|
|
||||||
## Learn More
|
|
||||||
|
|
||||||
- [MaterialDesignIcons.com](https://materialdesignicons.com)
|
|
||||||
- https://github.com/Templarian/MaterialDesign
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
@ -1,28 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "@mdi/font",
|
|
||||||
"version": "5.8.55",
|
|
||||||
"description": "Dist for Material Design Webfont. This includes the Stock and Community icons in a single webfont collection.",
|
|
||||||
"style": "css/materialdesignicons.css",
|
|
||||||
"scripts": {
|
|
||||||
"test": "echo \"Error: no test specified\" && exit 1"
|
|
||||||
},
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/Templarian/MaterialDesign-Webfont.git"
|
|
||||||
},
|
|
||||||
"keywords": [
|
|
||||||
"material",
|
|
||||||
"design",
|
|
||||||
"icons",
|
|
||||||
"webfont"
|
|
||||||
],
|
|
||||||
"author": {
|
|
||||||
"name": "Austin Andrews",
|
|
||||||
"web": "http://twitter.com/templarian"
|
|
||||||
},
|
|
||||||
"license": "Apache-2.0",
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/Templarian/MaterialDesign/issues"
|
|
||||||
},
|
|
||||||
"homepage": "https://materialdesignicons.com"
|
|
||||||
}
|
|
File diff suppressed because one or more lines are too long
@ -1,27 +0,0 @@
|
|||||||
// From Font Awesome
|
|
||||||
.#{$mdi-css-prefix}-spin:before {
|
|
||||||
-webkit-animation: #{$mdi-css-prefix}-spin 2s infinite linear;
|
|
||||||
animation: #{$mdi-css-prefix}-spin 2s infinite linear;
|
|
||||||
}
|
|
||||||
|
|
||||||
@-webkit-keyframes #{$mdi-css-prefix}-spin {
|
|
||||||
0% {
|
|
||||||
-webkit-transform: rotate(0deg);
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
-webkit-transform: rotate(359deg);
|
|
||||||
transform: rotate(359deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes #{$mdi-css-prefix}-spin {
|
|
||||||
0% {
|
|
||||||
-webkit-transform: rotate(0deg);
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
-webkit-transform: rotate(359deg);
|
|
||||||
transform: rotate(359deg);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
.#{$mdi-css-prefix}:before,
|
|
||||||
.#{$mdi-css-prefix}-set {
|
|
||||||
display: inline-block;
|
|
||||||
font: normal normal normal #{$mdi-font-size-base}/1 '#{$mdi-font-name}'; // shortening font declaration
|
|
||||||
font-size: inherit; // can't have font-size inherit on line above, so need to override
|
|
||||||
text-rendering: auto; // optimizelegibility throws things off #1094
|
|
||||||
line-height: inherit;
|
|
||||||
-webkit-font-smoothing: antialiased;
|
|
||||||
-moz-osx-font-smoothing: grayscale;
|
|
||||||
}
|
|
@ -1,65 +0,0 @@
|
|||||||
$mdi-sizes: 18 24 36 48 !default;
|
|
||||||
@each $mdi-size in $mdi-sizes {
|
|
||||||
.#{$mdi-css-prefix}-#{$mdi-size}px {
|
|
||||||
&.#{$mdi-css-prefix}-set,
|
|
||||||
&.#{$mdi-css-prefix}:before {
|
|
||||||
font-size: $mdi-size * 1px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.#{$mdi-css-prefix}-dark {
|
|
||||||
&:before {
|
|
||||||
color: rgba(0, 0, 0, 0.54);
|
|
||||||
}
|
|
||||||
&.#{$mdi-css-prefix}-inactive:before {
|
|
||||||
color: rgba(0, 0, 0, 0.26);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.#{$mdi-css-prefix}-light {
|
|
||||||
&:before {
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
}
|
|
||||||
&.#{$mdi-css-prefix}-inactive:before {
|
|
||||||
color: rgba(255, 255, 255, 0.3);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$mdi-degrees: 45 90 135 180 225 270 315 !default;
|
|
||||||
@each $mdi-degree in $mdi-degrees {
|
|
||||||
.#{$mdi-css-prefix}-rotate-#{$mdi-degree}{
|
|
||||||
&:before {
|
|
||||||
-webkit-transform: rotate(#{$mdi-degree}deg);
|
|
||||||
-ms-transform: rotate(#{$mdi-degree}deg);
|
|
||||||
transform: rotate(#{$mdi-degree}deg);
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
// Not included in production
|
|
||||||
&.#{$mdi-css-prefix}-flip-h:before {
|
|
||||||
-webkit-transform: scaleX(-1) rotate(#{$mdi-degree}deg);
|
|
||||||
transform: scaleX(-1) rotate(#{$mdi-degree}deg);
|
|
||||||
filter: FlipH;
|
|
||||||
-ms-filter: "FlipH";
|
|
||||||
}
|
|
||||||
&.#{$mdi-css-prefix}-flip-v:before {
|
|
||||||
-webkit-transform: scaleY(-1) rotate(#{$mdi-degree}deg);
|
|
||||||
-ms-transform: rotate(#{$mdi-degree}deg);
|
|
||||||
transform: scaleY(-1) rotate(#{$mdi-degree}deg);
|
|
||||||
filter: FlipV;
|
|
||||||
-ms-filter: "FlipV";
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.#{$mdi-css-prefix}-flip-h:before {
|
|
||||||
-webkit-transform: scaleX(-1);
|
|
||||||
transform: scaleX(-1);
|
|
||||||
filter: FlipH;
|
|
||||||
-ms-filter: "FlipH";
|
|
||||||
}
|
|
||||||
.#{$mdi-css-prefix}-flip-v:before {
|
|
||||||
-webkit-transform: scaleY(-1);
|
|
||||||
transform: scaleY(-1);
|
|
||||||
filter: FlipV;
|
|
||||||
-ms-filter: "FlipV";
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
@function char($character-code) {
|
|
||||||
@if function-exists("selector-append") {
|
|
||||||
@return unquote("\"\\#{$character-code}\"");
|
|
||||||
}
|
|
||||||
|
|
||||||
@if "\\#{'x'}" == "\\x" {
|
|
||||||
@return str-slice("\x", 1, 1) + $character-code;
|
|
||||||
}
|
|
||||||
@else {
|
|
||||||
@return #{"\"\\"}#{$character-code + "\""};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@function mdi($name) {
|
|
||||||
@if map-has-key($mdi-icons, $name) == false {
|
|
||||||
@warn "Icon #{$name} not found.";
|
|
||||||
@return "";
|
|
||||||
}
|
|
||||||
@return char(map-get($mdi-icons, $name));
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
@each $key, $value in $mdi-icons {
|
|
||||||
.#{$mdi-css-prefix}-#{$key}::before {
|
|
||||||
content: char($value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.#{$mdi-css-prefix}-blank::before {
|
|
||||||
content: "\F68C";
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
@font-face {
|
|
||||||
font-family: '#{$mdi-font-name}';
|
|
||||||
src: url('#{$mdi-font-path}/#{$mdi-filename}-webfont.eot?v=#{$mdi-version}');
|
|
||||||
src: url('#{$mdi-font-path}/#{$mdi-filename}-webfont.eot?#iefix&v=#{$mdi-version}') format('embedded-opentype'),
|
|
||||||
url('#{$mdi-font-path}/#{$mdi-filename}-webfont.woff2?v=#{$mdi-version}') format('woff2'),
|
|
||||||
url('#{$mdi-font-path}/#{$mdi-filename}-webfont.woff?v=#{$mdi-version}') format('woff'),
|
|
||||||
url('#{$mdi-font-path}/#{$mdi-filename}-webfont.ttf?v=#{$mdi-version}') format('truetype');
|
|
||||||
font-weight: normal;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
@ -1,8 +0,0 @@
|
|||||||
/* MaterialDesignIcons.com */
|
|
||||||
@import "variables";
|
|
||||||
@import "functions";
|
|
||||||
@import "path";
|
|
||||||
@import "core";
|
|
||||||
@import "icons";
|
|
||||||
@import "extras";
|
|
||||||
@import "animated";
|
|
@ -1,32 +1,27 @@
|
|||||||
{
|
{
|
||||||
"name": "netbox",
|
"name": "netbox",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"main": "index.js",
|
"main": "dist/netbox.js",
|
||||||
"license": "Apache2",
|
"license": "Apache-2.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"bundle:css": "parcel build --public-url /static -o netbox.css main.scss && parcel build --public-url /static -o rack_elevation.css rack_elevation.scss",
|
"bundle:css": "parcel build --public-url /static -o netbox.css main.scss && parcel build --public-url /static -o rack_elevation.css rack_elevation.scss",
|
||||||
"bundle:js": "parcel build --public-url /static -o netbox.js src/index.ts && parcel build --public-url /static -o jobs.js src/jobs.ts && parcel build --public-url /static -o lldp.js src/device/lldp.ts && parcel build --public-url /static -o config.js src/device/config.ts && parcel build --public-url /static -o status.js src/device/status.ts",
|
"bundle:js": "parcel build --public-url /static -o netbox.js src/index.ts && parcel build --public-url /static -o jobs.js src/jobs.ts && parcel build --public-url /static -o lldp.js src/device/lldp.ts && parcel build --public-url /static -o config.js src/device/config.ts && parcel build --public-url /static -o status.js src/device/status.ts",
|
||||||
"bundle": "yarn bundle:css && yarn bundle:js"
|
"bundle": "yarn bundle:css && yarn bundle:js"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@mdi/font": "^5.9.55",
|
||||||
"@popperjs/core": "^2.9.0",
|
"@popperjs/core": "^2.9.0",
|
||||||
"bootstrap": "^5.0.0-beta2",
|
"bootstrap": "^5.0.0-beta2",
|
||||||
"bootstrap-icons": "^1.4.0",
|
|
||||||
"choices.js": "^9.0.1",
|
|
||||||
"clipboard": "2.0.6",
|
"clipboard": "2.0.6",
|
||||||
"color2k": "^1.2.4",
|
"color2k": "^1.2.4",
|
||||||
"cookie": "^0.4.1",
|
"cookie": "^0.4.1",
|
||||||
"dayjs": "^1.10.4",
|
"dayjs": "^1.10.4",
|
||||||
"flatpickr": "4.6.3",
|
"flatpickr": "4.6.3",
|
||||||
"jquery": "3.5.1",
|
|
||||||
"jquery-ui": "1.12.1",
|
|
||||||
"just-debounce-it": "^1.4.0",
|
"just-debounce-it": "^1.4.0",
|
||||||
"masonry-layout": "^4.2.2",
|
"masonry-layout": "^4.2.2",
|
||||||
"parcel-bundler": "1.12.3",
|
"parcel-bundler": "1.12.3",
|
||||||
"query-string": "^6.14.1",
|
"query-string": "^6.14.1",
|
||||||
"sass": "^1.32.8",
|
"sass": "^1.32.8",
|
||||||
"select2": "4.0.13",
|
|
||||||
"select2-bootstrap-theme": "0.1.0-beta.10",
|
|
||||||
"slim-select": "^1.27.0"
|
"slim-select": "^1.27.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
@ -1070,6 +1070,11 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c"
|
resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c"
|
||||||
integrity sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==
|
integrity sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==
|
||||||
|
|
||||||
|
"@mdi/font@^5.9.55":
|
||||||
|
version "5.9.55"
|
||||||
|
resolved "https://registry.yarnpkg.com/@mdi/font/-/font-5.9.55.tgz#41acd50b88073ded7095fc3029d8712b6e12f38e"
|
||||||
|
integrity sha512-jswRF6q3eq8NWpWiqct6q+6Fg/I7nUhrxYJfiEM8JJpap0wVJLQdbKtyS65GdlK7S7Ytnx3TTi/bmw+tBhkGmg==
|
||||||
|
|
||||||
"@mrmlnc/readdir-enhanced@^2.2.1":
|
"@mrmlnc/readdir-enhanced@^2.2.1":
|
||||||
version "2.2.1"
|
version "2.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
|
resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
|
||||||
@ -1745,11 +1750,6 @@ boolbase@^1.0.0, boolbase@~1.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
|
resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
|
||||||
integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
|
integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
|
||||||
|
|
||||||
bootstrap-icons@^1.4.0:
|
|
||||||
version "1.4.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/bootstrap-icons/-/bootstrap-icons-1.4.0.tgz#ea08e2c8bc1535576ad267312cca9ee84ea73343"
|
|
||||||
integrity sha512-EynaOv/G/X/sQgPUqkdLJoxPrWk73wwsVjVR3cDNYO0jMS58poq7DOC2CraBWlBt1AberEmt0blfw4ony2/ZIg==
|
|
||||||
|
|
||||||
bootstrap@^5.0.0-beta2:
|
bootstrap@^5.0.0-beta2:
|
||||||
version "5.0.0-beta2"
|
version "5.0.0-beta2"
|
||||||
resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.0.0-beta2.tgz#ab1504a12807fa58e5e41408e35fcea42461e84b"
|
resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.0.0-beta2.tgz#ab1504a12807fa58e5e41408e35fcea42461e84b"
|
||||||
@ -2070,15 +2070,6 @@ chalk@^4.0.0:
|
|||||||
ansi-styles "^4.1.0"
|
ansi-styles "^4.1.0"
|
||||||
supports-color "^7.1.0"
|
supports-color "^7.1.0"
|
||||||
|
|
||||||
choices.js@^9.0.1:
|
|
||||||
version "9.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/choices.js/-/choices.js-9.0.1.tgz#745fb29af8670428fdc0bf1cc9dfaa404e9d0510"
|
|
||||||
integrity sha512-JgpeDY0Tmg7tqY6jaW/druSklJSt7W68tXFJIw0GSGWmO37SDAL8o60eICNGbzIODjj02VNNtf5h6TgoHDtCsA==
|
|
||||||
dependencies:
|
|
||||||
deepmerge "^4.2.0"
|
|
||||||
fuse.js "^3.4.5"
|
|
||||||
redux "^4.0.4"
|
|
||||||
|
|
||||||
"chokidar@>=2.0.0 <4.0.0":
|
"chokidar@>=2.0.0 <4.0.0":
|
||||||
version "3.5.1"
|
version "3.5.1"
|
||||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a"
|
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a"
|
||||||
@ -2740,11 +2731,6 @@ deep-is@^0.1.3, deep-is@~0.1.3:
|
|||||||
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
|
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
|
||||||
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
|
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
|
||||||
|
|
||||||
deepmerge@^4.2.0:
|
|
||||||
version "4.2.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
|
|
||||||
integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
|
|
||||||
|
|
||||||
defaults@^1.0.3:
|
defaults@^1.0.3:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
|
resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
|
||||||
@ -3647,11 +3633,6 @@ functional-red-black-tree@^1.0.1:
|
|||||||
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
|
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
|
||||||
integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
|
integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
|
||||||
|
|
||||||
fuse.js@^3.4.5:
|
|
||||||
version "3.6.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.6.1.tgz#7de85fdd6e1b3377c23ce010892656385fd9b10c"
|
|
||||||
integrity sha512-hT9yh/tiinkmirKrlv4KWOjztdoZo1mx9Qh4KvWqC7isoXwdUY3PNWUxceF4/qO9R6riA2C29jdTOeQOIROjgw==
|
|
||||||
|
|
||||||
gensync@^1.0.0-beta.2:
|
gensync@^1.0.0-beta.2:
|
||||||
version "1.0.0-beta.2"
|
version "1.0.0-beta.2"
|
||||||
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
|
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
|
||||||
@ -4575,16 +4556,6 @@ isstream@~0.1.2:
|
|||||||
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
|
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
|
||||||
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
|
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
|
||||||
|
|
||||||
jquery-ui@1.12.1:
|
|
||||||
version "1.12.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/jquery-ui/-/jquery-ui-1.12.1.tgz#bcb4045c8dd0539c134bc1488cdd3e768a7a9e51"
|
|
||||||
integrity sha1-vLQEXI3QU5wTS8FIjN0+dop6nlE=
|
|
||||||
|
|
||||||
jquery@3.5.1:
|
|
||||||
version "3.5.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.5.1.tgz#d7b4d08e1bfdb86ad2f1a3d039ea17304717abb5"
|
|
||||||
integrity sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==
|
|
||||||
|
|
||||||
js-beautify@^1.8.9:
|
js-beautify@^1.8.9:
|
||||||
version "1.13.5"
|
version "1.13.5"
|
||||||
resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.13.5.tgz#a08a97890cae55daf1d758d3f6577bd4a64d7014"
|
resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.13.5.tgz#a08a97890cae55daf1d758d3f6577bd4a64d7014"
|
||||||
@ -4879,7 +4850,7 @@ loglevel@^1.4.1:
|
|||||||
resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197"
|
resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197"
|
||||||
integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==
|
integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==
|
||||||
|
|
||||||
loose-envify@^1.0.0, loose-envify@^1.4.0:
|
loose-envify@^1.0.0:
|
||||||
version "1.4.0"
|
version "1.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
|
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
|
||||||
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
|
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
|
||||||
@ -6485,14 +6456,6 @@ redent@^1.0.0:
|
|||||||
indent-string "^2.1.0"
|
indent-string "^2.1.0"
|
||||||
strip-indent "^1.0.1"
|
strip-indent "^1.0.1"
|
||||||
|
|
||||||
redux@^4.0.4:
|
|
||||||
version "4.0.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.5.tgz#4db5de5816e17891de8a80c424232d06f051d93f"
|
|
||||||
integrity sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==
|
|
||||||
dependencies:
|
|
||||||
loose-envify "^1.4.0"
|
|
||||||
symbol-observable "^1.2.0"
|
|
||||||
|
|
||||||
regenerate-unicode-properties@^8.2.0:
|
regenerate-unicode-properties@^8.2.0:
|
||||||
version "8.2.0"
|
version "8.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec"
|
resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec"
|
||||||
@ -6834,16 +6797,6 @@ saxes@^3.1.9:
|
|||||||
dependencies:
|
dependencies:
|
||||||
xmlchars "^2.1.1"
|
xmlchars "^2.1.1"
|
||||||
|
|
||||||
select2-bootstrap-theme@0.1.0-beta.10:
|
|
||||||
version "0.1.0-beta.10"
|
|
||||||
resolved "https://registry.yarnpkg.com/select2-bootstrap-theme/-/select2-bootstrap-theme-0.1.0-beta.10.tgz#b9426ecfc03bf4a235e76a132377574310469ac0"
|
|
||||||
integrity sha1-uUJuz8A79KI152oTI3dXQxBGmsA=
|
|
||||||
|
|
||||||
select2@4.0.13:
|
|
||||||
version "4.0.13"
|
|
||||||
resolved "https://registry.yarnpkg.com/select2/-/select2-4.0.13.tgz#0dbe377df3f96167c4c1626033e924372d8ef44d"
|
|
||||||
integrity sha512-1JeB87s6oN/TDxQQYCvS5EFoQyvV6eYMZZ0AeA4tdFDYWN3BAGZ8npr17UBFddU0lgAt3H0yjX3X6/ekOj1yjw==
|
|
||||||
|
|
||||||
select@^1.1.2:
|
select@^1.1.2:
|
||||||
version "1.1.2"
|
version "1.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
|
resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
|
||||||
@ -7414,11 +7367,6 @@ svgo@^1.0.0, svgo@^1.3.2:
|
|||||||
unquote "~1.1.1"
|
unquote "~1.1.1"
|
||||||
util.promisify "~1.0.0"
|
util.promisify "~1.0.0"
|
||||||
|
|
||||||
symbol-observable@^1.2.0:
|
|
||||||
version "1.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
|
|
||||||
integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
|
|
||||||
|
|
||||||
symbol-tree@^3.2.2:
|
symbol-tree@^3.2.2:
|
||||||
version "3.2.4"
|
version "3.2.4"
|
||||||
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
|
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
<div
|
<div class="d-flex flex-column container-fluid mt-auto justify-content-end sidebar-bottom">
|
||||||
class="d-flex flex-column container-fluid mt-auto justify-content-end sidebar-bottom"
|
|
||||||
>
|
|
||||||
<div class="d-flex flex-column align-items-center px-2 fw-light">
|
<div class="d-flex flex-column align-items-center px-2 fw-light">
|
||||||
<small class="text-muted">{% now 'Y-m-d H:i:s T' %}</small>
|
<small class="text-muted">{% now 'Y-m-d H:i:s T' %}</small>
|
||||||
</div>
|
</div>
|
||||||
@ -10,50 +8,17 @@
|
|||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
<nav class="nav justify-content-between mb-2 mt-4 px-2">
|
<nav class="nav justify-content-between mb-2 mt-4 px-2">
|
||||||
<a
|
<a type="button" target="_blank" class="nav-link" href="https://netbox.readthedocs.io/">
|
||||||
type="button"
|
<i title="Docs" class="mdi mdi-book-open-variant text-primary" data-bs-placement="top" data-bs-toggle="tooltip"></i>
|
||||||
target="_blank"
|
|
||||||
class="nav-link"
|
|
||||||
href="https://netbox.readthedocs.io/"
|
|
||||||
>
|
|
||||||
<i
|
|
||||||
title="Docs"
|
|
||||||
class="bi-book text-primary"
|
|
||||||
data-bs-placement="top"
|
|
||||||
data-bs-toggle="tooltip"
|
|
||||||
></i>
|
|
||||||
</a>
|
</a>
|
||||||
<a class="nav-link" href="{% url 'api_docs' %}" target="_blank">
|
<a class="nav-link" href="{% url 'api_docs' %}" target="_blank">
|
||||||
<i
|
<i title="API" data-bs-placement="top" data-bs-toggle="tooltip" class="mdi mdi-code-braces text-primary"></i>
|
||||||
title="API"
|
|
||||||
data-bs-placement="top"
|
|
||||||
data-bs-toggle="tooltip"
|
|
||||||
class="bi-braces text-primary"
|
|
||||||
></i>
|
|
||||||
</a>
|
</a>
|
||||||
<a
|
<a class="nav-link" href="https://github.com/netbox-community/netbox" target="_blank">
|
||||||
class="nav-link"
|
<i title="Source Code" data-bs-placement="top" data-bs-toggle="tooltip" class="mdi mdi-code-tags text-primary"></i>
|
||||||
href="https://github.com/netbox-community/netbox"
|
|
||||||
target="_blank"
|
|
||||||
>
|
|
||||||
<i
|
|
||||||
title="Source Code"
|
|
||||||
data-bs-placement="top"
|
|
||||||
data-bs-toggle="tooltip"
|
|
||||||
class="bi-code-slash text-primary"
|
|
||||||
></i>
|
|
||||||
</a>
|
</a>
|
||||||
<a
|
<a target="_blank" class="nav-link" href="https://github.com/netbox-community/netbox/wiki">
|
||||||
target="_blank"
|
<i title="Get Help" data-bs-placement="top" data-bs-toggle="tooltip" class="mdi mdi-lifebuoy text-primary"></i>
|
||||||
class="nav-link"
|
|
||||||
href="https://github.com/netbox-community/netbox/wiki"
|
|
||||||
>
|
|
||||||
<i
|
|
||||||
title="Get Help"
|
|
||||||
data-bs-placement="top"
|
|
||||||
data-bs-toggle="tooltip"
|
|
||||||
class="bi-life-preserver text-primary"
|
|
||||||
></i>
|
|
||||||
</a>
|
</a>
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
|
@ -19,24 +19,15 @@
|
|||||||
<td>{{ change.changed_object_type.name|bettertitle }}</td>
|
<td>{{ change.changed_object_type.name|bettertitle }}</td>
|
||||||
<td>
|
<td>
|
||||||
{% if change.changed_object.get_absolute_url %}
|
{% if change.changed_object.get_absolute_url %}
|
||||||
<a
|
<a class="text-body" href="{{ change.changed_object.get_absolute_url }}">{{ change.changed_object }}</a>
|
||||||
class="text-body"
|
|
||||||
href="{{ change.changed_object.get_absolute_url }}"
|
|
||||||
>{{ change.changed_object }}</a
|
|
||||||
>
|
|
||||||
{% else %} {{ change.changed_object|default:change.object_repr }} {% endif %}
|
{% else %} {{ change.changed_object|default:change.object_repr }} {% endif %}
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td>{{ change.time|date:'SHORT_DATETIME_FORMAT' }}</td>
|
<td>{{ change.time|date:'SHORT_DATETIME_FORMAT' }}</td>
|
||||||
<td>
|
<td>
|
||||||
<a role="button" class="text-body" href="{{ change.get_absolute_url }}"
|
<a role="button" class="text-body" href="{{ change.get_absolute_url }}">
|
||||||
><i
|
<i class="mdi mdi-dots-horizontal" data-bs-toggle="tooltip" data-bs-placement="left" title="View Change Details"></i>
|
||||||
class="bi bi-three-dots"
|
</a>
|
||||||
data-bs-toggle="tooltip"
|
|
||||||
data-bs-placement="left"
|
|
||||||
title="View Change Details"
|
|
||||||
></i
|
|
||||||
></a>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
@ -5,12 +5,12 @@
|
|||||||
<div class="float-end">
|
<div class="float-end">
|
||||||
{% if not termination and perms.circuits.add_circuittermination %}
|
{% if not termination and perms.circuits.add_circuittermination %}
|
||||||
<a href="{% url 'circuits:circuittermination_add' circuit=object.pk %}?term_side={{ side }}" class="btn btn-sm btn-success">
|
<a href="{% url 'circuits:circuittermination_add' circuit=object.pk %}?term_side={{ side }}" class="btn btn-sm btn-success">
|
||||||
<span class="bi bi-plus" aria-hidden="true"></span> Add
|
<span class="mdi mdi-plus-thick" aria-hidden="true"></span> Add
|
||||||
</a>
|
</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if termination and perms.circuits.change_circuittermination %}
|
{% if termination and perms.circuits.change_circuittermination %}
|
||||||
<a href="{% url 'circuits:circuittermination_edit' pk=termination.pk %}" class="btn btn-sm btn-warning">
|
<a href="{% url 'circuits:circuittermination_edit' pk=termination.pk %}" class="btn btn-sm btn-warning">
|
||||||
<span class="bi bi-pencil-fill" aria-hidden="true"></span> Edit
|
<span class="mdi mdi-pencil" aria-hidden="true"></span> Edit
|
||||||
</a>
|
</a>
|
||||||
<a href="{% url 'circuits:circuit_terminations_swap' pk=object.pk %}" class="btn btn-sm btn-primary">
|
<a href="{% url 'circuits:circuit_terminations_swap' pk=object.pk %}" class="btn btn-sm btn-primary">
|
||||||
<span class="mdi mdi-swap-vertical" aria-hidden="true"></span> Swap
|
<span class="mdi mdi-swap-vertical" aria-hidden="true"></span> Swap
|
||||||
@ -18,7 +18,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% if termination and perms.circuits.delete_circuittermination %}
|
{% if termination and perms.circuits.delete_circuittermination %}
|
||||||
<a href="{% url 'circuits:circuittermination_delete' pk=termination.pk %}?return_url={{ object.get_absolute_url }}" class="btn btn-sm btn-danger">
|
<a href="{% url 'circuits:circuittermination_delete' pk=termination.pk %}?return_url={{ object.get_absolute_url }}" class="btn btn-sm btn-danger">
|
||||||
<span class="bi bi-trash-fill" aria-hidden="true"></span> Delete
|
<span class="mdi mdi-trash-can-outline" aria-hidden="true"></span> Delete
|
||||||
</a>
|
</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
@ -82,7 +82,7 @@
|
|||||||
{% if perms.circuits.add_circuit %}
|
{% if perms.circuits.add_circuit %}
|
||||||
<div class="card-footer text-end noprint">
|
<div class="card-footer text-end noprint">
|
||||||
<a href="{% url 'circuits:circuit_add' %}?provider={{ object.pk }}" class="btn btn-sm btn-primary">
|
<a href="{% url 'circuits:circuit_add' %}?provider={{ object.pk }}" class="btn btn-sm btn-primary">
|
||||||
<span class="bi bi-plus" aria-hidden="true"></span> Add circuit
|
<i class="mdi mdi-plus-thick" aria-hidden="true"></i> Add circuit
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -4,48 +4,48 @@
|
|||||||
{% load static %}
|
{% load static %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<form method="post">
|
<form method="post">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<h5 class="d-inline">Console Ports</h5>
|
<h5 class="d-inline">Console Ports</h5>
|
||||||
<div class="float-end noprint">
|
<div class="float-end noprint">
|
||||||
{% if request.user.is_authenticated %}
|
{% if request.user.is_authenticated %}
|
||||||
<button type="button" class="btn btn-outline-dark btn-sm" data-bs-toggle="modal" data-bs-target="#DeviceConsolePortTable_config" title="Configure table"><i class="mdi mdi-cog"></i> Configure</button>
|
<button type="button" class="btn btn-outline-dark btn-sm" data-bs-toggle="modal" data-bs-target="#DeviceConsolePortTable_config" title="Configure table"><i class="mdi mdi-cog"></i> Configure</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="card-body">
|
|
||||||
{% render_table consoleport_table 'inc/table.html' %}
|
|
||||||
</div>
|
|
||||||
<div class="card-footer noprint">
|
|
||||||
{% if perms.dcim.change_consoleport %}
|
|
||||||
<button type="submit" name="_rename" formaction="{% url 'dcim:consoleport_bulk_rename' %}?return_url={% url 'dcim:device_consoleports' pk=object.pk %}" class="btn btn-outline-warning btn-sm">
|
|
||||||
<i class="bi bi-input-cursor-text" aria-hidden="true"></i> Rename
|
|
||||||
</button>
|
|
||||||
<button type="submit" name="_edit" formaction="{% url 'dcim:consoleport_bulk_edit' %}?device={{ object.pk }}&return_url={% url 'dcim:device_consoleports' pk=object.pk %}" class="btn btn-warning btn-sm">
|
|
||||||
<i class="bi bi-pencil-fill" aria-hidden="true"></i> Edit
|
|
||||||
</button>
|
|
||||||
<button type="submit" name="_disconnect" formaction="{% url 'dcim:consoleport_bulk_disconnect' %}?return_url={% url 'dcim:device_consoleports' pk=object.pk %}" class="btn btn-outline-danger btn-sm">
|
|
||||||
<span class="mdi mdi-ethernet-cable-off" aria-hidden="true"></span> Disconnect
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
|
||||||
{% if perms.dcim.delete_consoleport %}
|
|
||||||
<button type="submit" name="_delete" formaction="{% url 'dcim:consoleport_bulk_delete' %}?return_url={% url 'dcim:device_consoleports' pk=object.pk %}" class="btn btn-danger btn-sm">
|
|
||||||
<i class="bi bi-trash-fill" aria-hidden="true"></i> Delete
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
|
||||||
{% if perms.dcim.add_consoleport %}
|
|
||||||
<div class="float-end">
|
|
||||||
<a href="{% url 'dcim:consoleport_add' %}?device={{ object.pk }}&return_url={% url 'dcim:device_consoleports' pk=object.pk %}" class="btn btn-sm btn-primary">
|
|
||||||
<i class="bi bi-plus" aria-hidden="true"></i> Add Console Port
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
<div class="clearfix"></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
<div class="card-body">
|
||||||
{% include 'inc/paginator.html' with paginator=consoleport_table.paginator page=consoleport_table.page %}
|
{% render_table consoleport_table 'inc/table.html' %}
|
||||||
{% table_config_form consoleport_table %}
|
</div>
|
||||||
|
<div class="card-footer noprint">
|
||||||
|
{% if perms.dcim.change_consoleport %}
|
||||||
|
<button type="submit" name="_rename" formaction="{% url 'dcim:consoleport_bulk_rename' %}?return_url={% url 'dcim:device_consoleports' pk=object.pk %}" class="btn btn-outline-warning btn-sm">
|
||||||
|
<i class="mdi mdi-pencil-outline" aria-hidden="true"></i> Rename
|
||||||
|
</button>
|
||||||
|
<button type="submit" name="_edit" formaction="{% url 'dcim:consoleport_bulk_edit' %}?device={{ object.pk }}&return_url={% url 'dcim:device_consoleports' pk=object.pk %}" class="btn btn-warning btn-sm">
|
||||||
|
<i class="mdi mdi-pencil" aria-hidden="true"></i> Edit
|
||||||
|
</button>
|
||||||
|
<button type="submit" name="_disconnect" formaction="{% url 'dcim:consoleport_bulk_disconnect' %}?return_url={% url 'dcim:device_consoleports' pk=object.pk %}" class="btn btn-outline-danger btn-sm">
|
||||||
|
<span class="mdi mdi-ethernet-cable-off" aria-hidden="true"></span> Disconnect
|
||||||
|
</button>
|
||||||
|
{% endif %}
|
||||||
|
{% if perms.dcim.delete_consoleport %}
|
||||||
|
<button type="submit" name="_delete" formaction="{% url 'dcim:consoleport_bulk_delete' %}?return_url={% url 'dcim:device_consoleports' pk=object.pk %}" class="btn btn-danger btn-sm">
|
||||||
|
<i class="mdi mdi-trash-can-outline" aria-hidden="true"></i> Delete
|
||||||
|
</button>
|
||||||
|
{% endif %}
|
||||||
|
{% if perms.dcim.add_consoleport %}
|
||||||
|
<div class="float-end">
|
||||||
|
<a href="{% url 'dcim:consoleport_add' %}?device={{ object.pk }}&return_url={% url 'dcim:device_consoleports' pk=object.pk %}" class="btn btn-sm btn-primary">
|
||||||
|
<i class="mdi mdi-plus-thick" aria-hidden="true"></i> Add Console Port
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
{% include 'inc/paginator.html' with paginator=consoleport_table.paginator page=consoleport_table.page %}
|
||||||
|
{% table_config_form consoleport_table %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -4,48 +4,48 @@
|
|||||||
{% load static %}
|
{% load static %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<form method="post">
|
<form method="post">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<h5 class="d-inline">Console Server Ports</h5>
|
<h5 class="d-inline">Console Server Ports</h5>
|
||||||
<div class="float-end noprint">
|
<div class="float-end noprint">
|
||||||
{% if request.user.is_authenticated %}
|
{% if request.user.is_authenticated %}
|
||||||
<button type="button" class="btn btn-outline-dark btn-sm" data-bs-toggle="modal" data-bs-target="#DeviceConsoleServerPortTable_config" title="Configure table"><i class="mdi mdi-cog"></i> Configure</button>
|
<button type="button" class="btn btn-outline-dark btn-sm" data-bs-toggle="modal" data-bs-target="#DeviceConsoleServerPortTable_config" title="Configure table"><i class="mdi mdi-cog"></i> Configure</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="card-body">
|
|
||||||
{% render_table consoleserverport_table 'inc/table.html' %}
|
|
||||||
</div>
|
|
||||||
<div class="card-footer noprint">
|
|
||||||
{% if perms.dcim.change_consoleserverport %}
|
|
||||||
<button type="submit" name="_rename" formaction="{% url 'dcim:consoleserverport_bulk_rename' %}?return_url={% url 'dcim:device_consoleserverports' pk=object.pk %}" class="btn btn-outline-warning btn-sm">
|
|
||||||
<i class="bi bi-input-cursor-text" aria-hidden="true"></i> Rename
|
|
||||||
</button>
|
|
||||||
<button type="submit" name="_edit" formaction="{% url 'dcim:consoleserverport_bulk_edit' %}?device={{ object.pk }}&return_url={% url 'dcim:device_consoleserverports' pk=object.pk %}" class="btn btn-warning btn-sm">
|
|
||||||
<i class="bi bi-pencil-fill" aria-hidden="true"></i> Edit
|
|
||||||
</button>
|
|
||||||
<button type="submit" name="_disconnect" formaction="{% url 'dcim:consoleserverport_bulk_disconnect' %}?return_url={% url 'dcim:device_consoleserverports' pk=object.pk %}" class="btn btn-outline-danger btn-sm">
|
|
||||||
<span class="mdi mdi-ethernet-cable-off" aria-hidden="true"></span> Disconnect
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
|
||||||
{% if perms.dcim.delete_consoleserverport %}
|
|
||||||
<button type="submit" formaction="{% url 'dcim:consoleserverport_bulk_delete' %}?return_url={% url 'dcim:device_consoleserverports' pk=object.pk %}" class="btn btn-danger btn-sm">
|
|
||||||
<i class="bi bi-trash-fill" aria-hidden="true"></i> Delete
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
|
||||||
{% if perms.dcim.add_consoleserverport %}
|
|
||||||
<div class="float-end">
|
|
||||||
<a href="{% url 'dcim:consoleserverport_add' %}?device={{ object.pk }}&return_url={% url 'dcim:device_consoleserverports' pk=object.pk %}" class="btn btn-primary btn-sm">
|
|
||||||
<i class="bi bi-plus" aria-hidden="true"></i> Add Console Server Ports
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
<div class="clearfix"></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
<div class="card-body">
|
||||||
{% include 'inc/paginator.html' with paginator=consoleserverport_table.paginator page=consoleserverport_table.page %}
|
{% render_table consoleserverport_table 'inc/table.html' %}
|
||||||
{% table_config_form consoleserverport_table %}
|
</div>
|
||||||
|
<div class="card-footer noprint">
|
||||||
|
{% if perms.dcim.change_consoleserverport %}
|
||||||
|
<button type="submit" name="_rename" formaction="{% url 'dcim:consoleserverport_bulk_rename' %}?return_url={% url 'dcim:device_consoleserverports' pk=object.pk %}" class="btn btn-outline-warning btn-sm">
|
||||||
|
<i class="mdi mdi-pencil-outline" aria-hidden="true"></i> Rename
|
||||||
|
</button>
|
||||||
|
<button type="submit" name="_edit" formaction="{% url 'dcim:consoleserverport_bulk_edit' %}?device={{ object.pk }}&return_url={% url 'dcim:device_consoleserverports' pk=object.pk %}" class="btn btn-warning btn-sm">
|
||||||
|
<i class="mdi mdi-pencil" aria-hidden="true"></i> Edit
|
||||||
|
</button>
|
||||||
|
<button type="submit" name="_disconnect" formaction="{% url 'dcim:consoleserverport_bulk_disconnect' %}?return_url={% url 'dcim:device_consoleserverports' pk=object.pk %}" class="btn btn-outline-danger btn-sm">
|
||||||
|
<span class="mdi mdi-ethernet-cable-off" aria-hidden="true"></span> Disconnect
|
||||||
|
</button>
|
||||||
|
{% endif %}
|
||||||
|
{% if perms.dcim.delete_consoleserverport %}
|
||||||
|
<button type="submit" formaction="{% url 'dcim:consoleserverport_bulk_delete' %}?return_url={% url 'dcim:device_consoleserverports' pk=object.pk %}" class="btn btn-danger btn-sm">
|
||||||
|
<i class="mdi mdi-trash-can-outline" aria-hidden="true"></i> Delete
|
||||||
|
</button>
|
||||||
|
{% endif %}
|
||||||
|
{% if perms.dcim.add_consoleserverport %}
|
||||||
|
<div class="float-end">
|
||||||
|
<a href="{% url 'dcim:consoleserverport_add' %}?device={{ object.pk }}&return_url={% url 'dcim:device_consoleserverports' pk=object.pk %}" class="btn btn-primary btn-sm">
|
||||||
|
<i class="mdi mdi-plus-thick" aria-hidden="true"></i> Add Console Server Ports
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
{% include 'inc/paginator.html' with paginator=consoleserverport_table.paginator page=consoleserverport_table.page %}
|
||||||
|
{% table_config_form consoleserverport_table %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -4,45 +4,45 @@
|
|||||||
{% load static %}
|
{% load static %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<form method="post">
|
<form method="post">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<h5 class="d-inline">Device Bays</h5>
|
<h5 class="d-inline">Device Bays</h5>
|
||||||
<div class="float-end noprint">
|
<div class="float-end noprint">
|
||||||
{% if request.user.is_authenticated %}
|
{% if request.user.is_authenticated %}
|
||||||
<button type="button" class="btn btn-outline-dark btn-sm" data-bs-toggle="modal" data-bs-target="#DeviceDeviceBayTable_config" title="Configure table"><i class="mdi mdi-cog"></i> Configure</button>
|
<button type="button" class="btn btn-outline-dark btn-sm" data-bs-toggle="modal" data-bs-target="#DeviceDeviceBayTable_config" title="Configure table"><i class="mdi mdi-cog"></i> Configure</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
|
||||||
{% render_table devicebay_table 'inc/table.html' %}
|
|
||||||
</div>
|
|
||||||
<div class="card-footer noprint">
|
|
||||||
{% if perms.dcim.change_devicebay %}
|
|
||||||
<button type="submit" name="_rename" formaction="{% url 'dcim:devicebay_bulk_rename' %}?return_url={{ object.get_absolute_url }}%23tab_devicebays" class="btn btn-outline-warning btn-sm">
|
|
||||||
<i class="bi bi-input-cursor-text" aria-hidden="true"></i> Rename
|
|
||||||
</button>
|
|
||||||
<button type="submit" name="_edit" formaction="{% url 'dcim:devicebay_bulk_edit' %}?device={{ object.pk }}&return_url={{ object.get_absolute_url }}%23tab_devicebays" class="btn btn-warning btn-sm">
|
|
||||||
<i class="bi bi-pencil-fill" aria-hidden="true"></i> Edit
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
|
||||||
{% if perms.dcim.delete_devicebay %}
|
|
||||||
<button type="submit" formaction="{% url 'dcim:devicebay_bulk_delete' %}?return_url={{ object.get_absolute_url }}%23tab_devicebays" class="btn btn-outline-danger btn-sm">
|
|
||||||
<i class="bi bi-trash-fill" aria-hidden="true"></i> Delete selected
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
|
||||||
{% if perms.dcim.add_devicebay %}
|
|
||||||
<div class="float-end">
|
|
||||||
<a href="{% url 'dcim:devicebay_add' %}?device={{ object.pk }}&return_url={{ object.get_absolute_url }}%23tab_devicebays" class="btn btn-primary btn-sm">
|
|
||||||
<i class="bi bi-plus" aria-hidden="true"></i> Add Device Bays
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
<div class="clearfix"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
<div class="card-body">
|
||||||
{% include 'inc/paginator.html' with paginator=devicebay_table.paginator page=devicebay_table.page %}
|
{% render_table devicebay_table 'inc/table.html' %}
|
||||||
{% table_config_form devicebay_table %}
|
</div>
|
||||||
|
<div class="card-footer noprint">
|
||||||
|
{% if perms.dcim.change_devicebay %}
|
||||||
|
<button type="submit" name="_rename" formaction="{% url 'dcim:devicebay_bulk_rename' %}?return_url={{ object.get_absolute_url }}%23tab_devicebays" class="btn btn-outline-warning btn-sm">
|
||||||
|
<i class="mdi mdi-pencil-outline" aria-hidden="true"></i> Rename
|
||||||
|
</button>
|
||||||
|
<button type="submit" name="_edit" formaction="{% url 'dcim:devicebay_bulk_edit' %}?device={{ object.pk }}&return_url={{ object.get_absolute_url }}%23tab_devicebays" class="btn btn-warning btn-sm">
|
||||||
|
<i class="mdi mdi-pencil" aria-hidden="true"></i> Edit
|
||||||
|
</button>
|
||||||
|
{% endif %}
|
||||||
|
{% if perms.dcim.delete_devicebay %}
|
||||||
|
<button type="submit" formaction="{% url 'dcim:devicebay_bulk_delete' %}?return_url={{ object.get_absolute_url }}%23tab_devicebays" class="btn btn-outline-danger btn-sm">
|
||||||
|
<i class="mdi mdi-trash-can-outline" aria-hidden="true"></i> Delete selected
|
||||||
|
</button>
|
||||||
|
{% endif %}
|
||||||
|
{% if perms.dcim.add_devicebay %}
|
||||||
|
<div class="float-end">
|
||||||
|
<a href="{% url 'dcim:devicebay_add' %}?device={{ object.pk }}&return_url={{ object.get_absolute_url }}%23tab_devicebays" class="btn btn-primary btn-sm">
|
||||||
|
<i class="mdi mdi-plus-thick" aria-hidden="true"></i> Add Device Bays
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
{% include 'inc/paginator.html' with paginator=devicebay_table.paginator page=devicebay_table.page %}
|
||||||
|
{% table_config_form devicebay_table %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -4,48 +4,48 @@
|
|||||||
{% load static %}
|
{% load static %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<form method="post">
|
<form method="post">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<h5>Front Ports</h5>
|
<h5>Front Ports</h5>
|
||||||
<div class="float-end noprint">
|
<div class="float-end noprint">
|
||||||
{% if request.user.is_authenticated %}
|
{% if request.user.is_authenticated %}
|
||||||
<button type="button" class="btn btn-outline-dark btn-sm" data-bs-toggle="modal" data-bs-target="#DeviceFrontPortTable_config" title="Configure table"><i class="mdi mdi-cog"></i> Configure</button>
|
<button type="button" class="btn btn-outline-dark btn-sm" data-bs-toggle="modal" data-bs-target="#DeviceFrontPortTable_config" title="Configure table"><i class="mdi mdi-cog"></i> Configure</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="card-body">
|
|
||||||
{% render_table frontport_table 'inc/table.html' %}
|
|
||||||
</div>
|
|
||||||
<div class="card-footer noprint">
|
|
||||||
{% if perms.dcim.change_frontport %}
|
|
||||||
<button type="submit" name="_rename" formaction="{% url 'dcim:frontport_bulk_rename' %}?return_url={% url 'dcim:device_frontports' pk=object.pk %}" class="btn btn-outline-warning btn-sm">
|
|
||||||
<i class="bi bi-input-cursor-text" aria-hidden="true"></i> Rename
|
|
||||||
</button>
|
|
||||||
<button type="submit" name="_edit" formaction="{% url 'dcim:frontport_bulk_edit' %}?device={{ object.pk }}&return_url={% url 'dcim:device_frontports' pk=object.pk %}" class="btn btn-warning btn-sm">
|
|
||||||
<i class="mdi mdi-pencil" aria-hidden="true"></i> Edit
|
|
||||||
</button>
|
|
||||||
<button type="submit" name="_disconnect" formaction="{% url 'dcim:frontport_bulk_disconnect' %}?return_url={% url 'dcim:device_frontports' pk=object.pk %}" class="btn btn-outline-danger btn-sm">
|
|
||||||
<span class="mdi mdi-ethernet-cable-off" aria-hidden="true"></span> Disconnect
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
|
||||||
{% if perms.dcim.delete_frontport %}
|
|
||||||
<button type="submit" formaction="{% url 'dcim:frontport_bulk_delete' %}?return_url={% url 'dcim:device_frontports' pk=object.pk %}" class="btn btn-danger btn-sm">
|
|
||||||
<i class="mdi mdi-trash-can-outline" aria-hidden="true"></i> Delete
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
|
||||||
{% if perms.dcim.add_frontport %}
|
|
||||||
<div class="float-end">
|
|
||||||
<a href="{% url 'dcim:frontport_add' %}?device={{ object.pk }}&return_url={% url 'dcim:device_frontports' pk=object.pk %}" class="btn btn-primary btn-sm">
|
|
||||||
<i class="mdi mdi-plus-thick" aria-hidden="true"></i> Add front ports
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
<div class="clearfix"></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
<div class="card-body">
|
||||||
{% include 'inc/paginator.html' with paginator=frontport_table.paginator page=frontport_table.page %}
|
{% render_table frontport_table 'inc/table.html' %}
|
||||||
{% table_config_form frontport_table %}
|
</div>
|
||||||
|
<div class="card-footer noprint">
|
||||||
|
{% if perms.dcim.change_frontport %}
|
||||||
|
<button type="submit" name="_rename" formaction="{% url 'dcim:frontport_bulk_rename' %}?return_url={% url 'dcim:device_frontports' pk=object.pk %}" class="btn btn-outline-warning btn-sm">
|
||||||
|
<i class="mdi mdi-pencil-outline" aria-hidden="true"></i> Rename
|
||||||
|
</button>
|
||||||
|
<button type="submit" name="_edit" formaction="{% url 'dcim:frontport_bulk_edit' %}?device={{ object.pk }}&return_url={% url 'dcim:device_frontports' pk=object.pk %}" class="btn btn-warning btn-sm">
|
||||||
|
<i class="mdi mdi-pencil" aria-hidden="true"></i> Edit
|
||||||
|
</button>
|
||||||
|
<button type="submit" name="_disconnect" formaction="{% url 'dcim:frontport_bulk_disconnect' %}?return_url={% url 'dcim:device_frontports' pk=object.pk %}" class="btn btn-outline-danger btn-sm">
|
||||||
|
<span class="mdi mdi-ethernet-cable-off" aria-hidden="true"></span> Disconnect
|
||||||
|
</button>
|
||||||
|
{% endif %}
|
||||||
|
{% if perms.dcim.delete_frontport %}
|
||||||
|
<button type="submit" formaction="{% url 'dcim:frontport_bulk_delete' %}?return_url={% url 'dcim:device_frontports' pk=object.pk %}" class="btn btn-danger btn-sm">
|
||||||
|
<i class="mdi mdi-trash-can-outline" aria-hidden="true"></i> Delete
|
||||||
|
</button>
|
||||||
|
{% endif %}
|
||||||
|
{% if perms.dcim.add_frontport %}
|
||||||
|
<div class="float-end">
|
||||||
|
<a href="{% url 'dcim:frontport_add' %}?device={{ object.pk }}&return_url={% url 'dcim:device_frontports' pk=object.pk %}" class="btn btn-primary btn-sm">
|
||||||
|
<i class="mdi mdi-plus-thick" aria-hidden="true"></i> Add front ports
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
{% include 'inc/paginator.html' with paginator=frontport_table.paginator page=frontport_table.page %}
|
||||||
|
{% table_config_form frontport_table %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -4,51 +4,51 @@
|
|||||||
{% load static %}
|
{% load static %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<form method="post">
|
<form method="post">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<h5 class="d-inline">Interfaces</h5>
|
<h5 class="d-inline">Interfaces</h5>
|
||||||
<div class="float-end col-md-2 noprint table-controls">
|
<div class="float-end col-md-2 noprint table-controls">
|
||||||
<div class="input-group input-group-sm">
|
<div class="input-group input-group-sm">
|
||||||
<input type="text" class="form-control interface-filter" placeholder="Filter" title="Filter text (regular expressions supported)" />
|
<input type="text" class="form-control interface-filter" placeholder="Filter" title="Filter text (regular expressions supported)" />
|
||||||
{% if request.user.is_authenticated %}
|
{% if request.user.is_authenticated %}
|
||||||
<button type="button" class="btn btn-outline-dark btn-sm" data-bs-toggle="modal" data-bs-target="#DeviceInterfaceTable_config" title="Configure Table"><i class="mdi mdi-table-eye"></i></button>
|
<button type="button" class="btn btn-outline-dark btn-sm" data-bs-toggle="modal" data-bs-target="#DeviceInterfaceTable_config" title="Configure Table"><i class="mdi mdi-table-eye"></i></button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
|
||||||
{% render_table interface_table 'inc/table.html' %}
|
|
||||||
</div>
|
|
||||||
<div class="card-footer noprint">
|
|
||||||
{% if perms.dcim.change_interface %}
|
|
||||||
<button type="submit" name="_rename" formaction="{% url 'dcim:interface_bulk_rename' %}?return_url={% url 'dcim:device_interfaces' pk=object.pk %}" class="btn btn-outline-warning btn-sm">
|
|
||||||
<i class="bi bi-input-cursor-text" aria-hidden="true"></i> Rename
|
|
||||||
</button>
|
|
||||||
<button type="submit" name="_edit" formaction="{% url 'dcim:interface_bulk_edit' %}?device={{ object.pk }}&return_url={% url 'dcim:device_interfaces' pk=object.pk %}" class="btn btn-warning btn-sm">
|
|
||||||
<i class="bi bi-pencil-fill" aria-hidden="true"></i> Edit
|
|
||||||
</button>
|
|
||||||
<button type="submit" name="_disconnect" formaction="{% url 'dcim:interface_bulk_disconnect' %}?return_url={% url 'dcim:device_interfaces' pk=object.pk %}" class="btn btn-outline-danger btn-sm">
|
|
||||||
<span class="mdi mdi-ethernet-cable-off" aria-hidden="true"></span> Disconnect
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
|
||||||
{% if perms.dcim.delete_interface %}
|
|
||||||
<button type="submit" name="_delete" formaction="{% url 'dcim:interface_bulk_delete' %}?return_url={% url 'dcim:device_interfaces' pk=object.pk %}" class="btn btn-danger btn-sm">
|
|
||||||
<i class="bi bi-trash-fill" aria-hidden="true"></i> Delete
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
|
||||||
{% if perms.dcim.add_interface %}
|
|
||||||
<div class="float-end">
|
|
||||||
<a href="{% url 'dcim:interface_add' %}?device={{ object.pk }}&return_url={% url 'dcim:device_interfaces' pk=object.pk %}" class="btn btn-primary btn-sm">
|
|
||||||
<i class="bi bi-plus" aria-hidden="true"></i> Add Interfaces
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
<div class="clearfix"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
<div class="card-body">
|
||||||
{% include 'inc/paginator.html' with paginator=interface_table.paginator page=interface_table.page %}
|
{% render_table interface_table 'inc/table.html' %}
|
||||||
{% table_config_form interface_table %}
|
</div>
|
||||||
|
<div class="card-footer noprint">
|
||||||
|
{% if perms.dcim.change_interface %}
|
||||||
|
<button type="submit" name="_rename" formaction="{% url 'dcim:interface_bulk_rename' %}?return_url={% url 'dcim:device_interfaces' pk=object.pk %}" class="btn btn-outline-warning btn-sm">
|
||||||
|
<i class="mdi mdi-pencil-outline" aria-hidden="true"></i> Rename
|
||||||
|
</button>
|
||||||
|
<button type="submit" name="_edit" formaction="{% url 'dcim:interface_bulk_edit' %}?device={{ object.pk }}&return_url={% url 'dcim:device_interfaces' pk=object.pk %}" class="btn btn-warning btn-sm">
|
||||||
|
<i class="mdi mdi-pencil" aria-hidden="true"></i> Edit
|
||||||
|
</button>
|
||||||
|
<button type="submit" name="_disconnect" formaction="{% url 'dcim:interface_bulk_disconnect' %}?return_url={% url 'dcim:device_interfaces' pk=object.pk %}" class="btn btn-outline-danger btn-sm">
|
||||||
|
<span class="mdi mdi-ethernet-cable-off" aria-hidden="true"></span> Disconnect
|
||||||
|
</button>
|
||||||
|
{% endif %}
|
||||||
|
{% if perms.dcim.delete_interface %}
|
||||||
|
<button type="submit" name="_delete" formaction="{% url 'dcim:interface_bulk_delete' %}?return_url={% url 'dcim:device_interfaces' pk=object.pk %}" class="btn btn-danger btn-sm">
|
||||||
|
<i class="mdi mdi-trash-can-outline" aria-hidden="true"></i> Delete
|
||||||
|
</button>
|
||||||
|
{% endif %}
|
||||||
|
{% if perms.dcim.add_interface %}
|
||||||
|
<div class="float-end">
|
||||||
|
<a href="{% url 'dcim:interface_add' %}?device={{ object.pk }}&return_url={% url 'dcim:device_interfaces' pk=object.pk %}" class="btn btn-primary btn-sm">
|
||||||
|
<i class="mdi mdi-plus-thick" aria-hidden="true"></i> Add Interfaces
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
{% include 'inc/paginator.html' with paginator=interface_table.paginator page=interface_table.page %}
|
||||||
|
{% table_config_form interface_table %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -4,46 +4,45 @@
|
|||||||
{% load static %}
|
{% load static %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<form method="post">
|
<form method="post">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<h5 class="d-inline">Inventory Items</h5>
|
<h5 class="d-inline">Inventory Items</h5>
|
||||||
<div class="float-end noprint">
|
<div class="float-end noprint">
|
||||||
{% if request.user.is_authenticated %}
|
{% if request.user.is_authenticated %}
|
||||||
<button type="button" class="btn btn-outline-dark btn-sm" data-bs-toggle="modal" data-bs-target="#DeviceInventoryItemTable_config" title="Configure table"><i class="mdi mdi-cog"></i> Configure</button>
|
<button type="button" class="btn btn-outline-dark btn-sm" data-bs-toggle="modal" data-bs-target="#DeviceInventoryItemTable_config" title="Configure table"><i class="mdi mdi-cog"></i> Configure</button>
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="card-body">
|
|
||||||
{% render_table inventoryitem_table 'inc/table.html' %}
|
|
||||||
</div>
|
|
||||||
<div class="card-footer noprint">
|
|
||||||
{% if perms.dcim.change_inventoryitem %}
|
|
||||||
<button type="submit" name="_rename" formaction="{% url 'dcim:inventoryitem_bulk_rename' %}?return_url={% url 'dcim:device_inventory' pk=object.pk %}" class="btn btn-warning btn-sm">
|
|
||||||
<i class="bi bi-input-cursor-text" aria-hidden="true"></i> Rename
|
|
||||||
</button>
|
|
||||||
<button type="submit" name="_edit" formaction="{% url 'dcim:inventoryitem_bulk_edit' %}?device={{ object.pk }}&return_url={% url 'dcim:device_inventory' pk=object.pk %}" class="btn btn-warning btn-sm">
|
|
||||||
<i class="bi bi-pencil-fill" aria-hidden="true"></i> Edit
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if perms.dcim.delete_inventoryitem %}
|
|
||||||
<button type="submit" name="_delete" formaction="{% url 'dcim:inventoryitem_bulk_delete' %}?return_url={% url 'dcim:device_inventory' pk=object.pk %}" class="btn btn-danger btn-sm">
|
|
||||||
<i class="bi bi-trash-fill" aria-hidden="true"></i> Delete
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
|
||||||
{% if perms.dcim.add_inventoryitem %}
|
|
||||||
<div class="float-end">
|
|
||||||
<a href="{% url 'dcim:inventoryitem_add' %}?device={{ object.pk }}&return_url={% url 'dcim:device_inventory' pk=object.pk %}" class="btn btn-primary btn-sm">
|
|
||||||
<i class="bi bi-plus" aria-hidden="true"></i> Add Inventory Item
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
<div class="clearfix"></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
<div class="card-body">
|
||||||
{% include 'inc/paginator.html' with paginator=inventoryitem_table.paginator page=inventoryitem_table.page %}
|
{% render_table inventoryitem_table 'inc/table.html' %}
|
||||||
{% table_config_form inventoryitem_table %}
|
</div>
|
||||||
|
<div class="card-footer noprint">
|
||||||
|
{% if perms.dcim.change_inventoryitem %}
|
||||||
|
<button type="submit" name="_rename" formaction="{% url 'dcim:inventoryitem_bulk_rename' %}?return_url={% url 'dcim:device_inventory' pk=object.pk %}" class="btn btn-warning btn-sm">
|
||||||
|
<i class="mdi mdi-pencil-outline" aria-hidden="true"></i> Rename
|
||||||
|
</button>
|
||||||
|
<button type="submit" name="_edit" formaction="{% url 'dcim:inventoryitem_bulk_edit' %}?device={{ object.pk }}&return_url={% url 'dcim:device_inventory' pk=object.pk %}" class="btn btn-warning btn-sm">
|
||||||
|
<i class="mdi mdi-pencil" aria-hidden="true"></i> Edit
|
||||||
|
</button>
|
||||||
|
{% endif %}
|
||||||
|
{% if perms.dcim.delete_inventoryitem %}
|
||||||
|
<button type="submit" name="_delete" formaction="{% url 'dcim:inventoryitem_bulk_delete' %}?return_url={% url 'dcim:device_inventory' pk=object.pk %}" class="btn btn-danger btn-sm">
|
||||||
|
<i class="mdi mdi-trash-can-outline" aria-hidden="true"></i> Delete
|
||||||
|
</button>
|
||||||
|
{% endif %}
|
||||||
|
{% if perms.dcim.add_inventoryitem %}
|
||||||
|
<div class="float-end">
|
||||||
|
<a href="{% url 'dcim:inventoryitem_add' %}?device={{ object.pk }}&return_url={% url 'dcim:device_inventory' pk=object.pk %}" class="btn btn-primary btn-sm">
|
||||||
|
<i class="mdi mdi-plus-thick" aria-hidden="true"></i> Add Inventory Item
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
{% include 'inc/paginator.html' with paginator=inventoryitem_table.paginator page=inventoryitem_table.page %}
|
||||||
|
{% table_config_form inventoryitem_table %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
@ -4,48 +4,48 @@
|
|||||||
{% load static %}
|
{% load static %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<form method="post">
|
<form method="post">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<h5 class="d-inline">Power Outlets</h5>
|
<h5 class="d-inline">Power Outlets</h5>
|
||||||
<div class="float-end noprint">
|
<div class="float-end noprint">
|
||||||
{% if request.user.is_authenticated %}
|
{% if request.user.is_authenticated %}
|
||||||
<button type="button" class="btn btn-outline-dark btn-sm" data-bs-toggle="modal" data-bs-target="#DevicePowerOutletTable_config" title="Configure table"><i class="mdi mdi-cog"></i> Configure</button>
|
<button type="button" class="btn btn-outline-dark btn-sm" data-bs-toggle="modal" data-bs-target="#DevicePowerOutletTable_config" title="Configure table"><i class="mdi mdi-cog"></i> Configure</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="card-body">
|
|
||||||
{% render_table poweroutlet_table 'inc/table.html' %}
|
|
||||||
</div>
|
|
||||||
<div class="card-footer noprint">
|
|
||||||
{% if perms.dcim.change_powerport %}
|
|
||||||
<button type="submit" name="_rename" formaction="{% url 'dcim:poweroutlet_bulk_rename' %}?return_url={% url 'dcim:device_poweroutlets' pk=object.pk %}" class="btn btn-outline-warning btn-sm">
|
|
||||||
<i class="bi bi-input-cursor-text" aria-hidden="true"></i> Rename
|
|
||||||
</button>
|
|
||||||
<button type="submit" name="_edit" formaction="{% url 'dcim:poweroutlet_bulk_edit' %}?device={{ object.pk }}&return_url={% url 'dcim:device_poweroutlets' pk=object.pk %}" class="btn btn-warning btn-sm">
|
|
||||||
<i class="bi bi-pencil-fill" aria-hidden="true"></i> Edit
|
|
||||||
</button>
|
|
||||||
<button type="submit" name="_disconnect" formaction="{% url 'dcim:poweroutlet_bulk_disconnect' %}?return_url={% url 'dcim:device_poweroutlets' pk=object.pk %}" class="btn btn-outline-danger btn-sm">
|
|
||||||
<span class="mdi mdi-ethernet-cable-off" aria-hidden="true"></span> Disconnect
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
|
||||||
{% if perms.dcim.delete_poweroutlet %}
|
|
||||||
<button type="submit" formaction="{% url 'dcim:poweroutlet_bulk_delete' %}?return_url={% url 'dcim:device_poweroutlets' pk=object.pk %}" class="btn btn-danger btn-sm">
|
|
||||||
<i class="bi bi-trash-fill" aria-hidden="true"></i> Delete
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
|
||||||
{% if perms.dcim.add_poweroutlet %}
|
|
||||||
<div class="float-end">
|
|
||||||
<a href="{% url 'dcim:poweroutlet_add' %}?device={{ object.pk }}&return_url={% url 'dcim:device_poweroutlets' pk=object.pk %}" class="btn btn-primary btn-sm">
|
|
||||||
<i class="bi bi-plus" aria-hidden="true"></i> Add Power Outlets
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
<div class="clearfix"></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
<div class="card-body">
|
||||||
{% include 'inc/paginator.html' with paginator=poweroutlet_table.paginator page=poweroutlet_table.page %}
|
{% render_table poweroutlet_table 'inc/table.html' %}
|
||||||
{% table_config_form poweroutlet_table %}
|
</div>
|
||||||
|
<div class="card-footer noprint">
|
||||||
|
{% if perms.dcim.change_powerport %}
|
||||||
|
<button type="submit" name="_rename" formaction="{% url 'dcim:poweroutlet_bulk_rename' %}?return_url={% url 'dcim:device_poweroutlets' pk=object.pk %}" class="btn btn-outline-warning btn-sm">
|
||||||
|
<i class="mdi mdi-pencil-outline" aria-hidden="true"></i> Rename
|
||||||
|
</button>
|
||||||
|
<button type="submit" name="_edit" formaction="{% url 'dcim:poweroutlet_bulk_edit' %}?device={{ object.pk }}&return_url={% url 'dcim:device_poweroutlets' pk=object.pk %}" class="btn btn-warning btn-sm">
|
||||||
|
<i class="mdi mdi-pencil" aria-hidden="true"></i> Edit
|
||||||
|
</button>
|
||||||
|
<button type="submit" name="_disconnect" formaction="{% url 'dcim:poweroutlet_bulk_disconnect' %}?return_url={% url 'dcim:device_poweroutlets' pk=object.pk %}" class="btn btn-outline-danger btn-sm">
|
||||||
|
<span class="mdi mdi-ethernet-cable-off" aria-hidden="true"></span> Disconnect
|
||||||
|
</button>
|
||||||
|
{% endif %}
|
||||||
|
{% if perms.dcim.delete_poweroutlet %}
|
||||||
|
<button type="submit" formaction="{% url 'dcim:poweroutlet_bulk_delete' %}?return_url={% url 'dcim:device_poweroutlets' pk=object.pk %}" class="btn btn-danger btn-sm">
|
||||||
|
<i class="mdi mdi-trash-can-outline" aria-hidden="true"></i> Delete
|
||||||
|
</button>
|
||||||
|
{% endif %}
|
||||||
|
{% if perms.dcim.add_poweroutlet %}
|
||||||
|
<div class="float-end">
|
||||||
|
<a href="{% url 'dcim:poweroutlet_add' %}?device={{ object.pk }}&return_url={% url 'dcim:device_poweroutlets' pk=object.pk %}" class="btn btn-primary btn-sm">
|
||||||
|
<i class="mdi mdi-plus-thick" aria-hidden="true"></i> Add Power Outlets
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
{% include 'inc/paginator.html' with paginator=poweroutlet_table.paginator page=poweroutlet_table.page %}
|
||||||
|
{% table_config_form poweroutlet_table %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -4,48 +4,47 @@
|
|||||||
{% load static %}
|
{% load static %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<form method="post">
|
<form method="post">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<h5 class="d-inline">Power Ports</h5>
|
<h5 class="d-inline">Power Ports</h5>
|
||||||
<div class="float-end noprint">
|
<div class="float-end noprint">
|
||||||
{% if request.user.is_authenticated %}
|
{% if request.user.is_authenticated %}
|
||||||
<button type="button" class="btn btn-outline-dark btn-sm" data-bs-toggle="modal" data-bs-target="#DevicePowerPortTable_config" title="Configure table"><i class="mdi mdi-cog"></i> Configure</button>
|
<button type="button" class="btn btn-outline-dark btn-sm" data-bs-toggle="modal" data-bs-target="#DevicePowerPortTable_config" title="Configure table"><i class="mdi mdi-cog"></i> Configure</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="card-body">
|
|
||||||
{% render_table powerport_table 'inc/table.html' %}
|
|
||||||
</div>
|
|
||||||
<div class="card-footer noprint">
|
|
||||||
{% if perms.dcim.change_powerport %}
|
|
||||||
<button type="submit" name="_rename" formaction="{% url 'dcim:powerport_bulk_rename' %}?return_url={% url 'dcim:device_powerports' pk=object.pk %}" class="btn btn-outline-warning btn-sm">
|
|
||||||
<i class="bi bi-input-cursor-text" aria-hidden="true"></i> Rename
|
|
||||||
</button>
|
|
||||||
<button type="submit" name="_edit" formaction="{% url 'dcim:powerport_bulk_edit' %}?device={{ object.pk }}&return_url={% url 'dcim:device_powerports' pk=object.pk %}" class="btn btn-warning btn-sm">
|
|
||||||
<i class="bi bi-pencil-fill" aria-hidden="true"></i> Edit
|
|
||||||
</button>
|
|
||||||
<button type="submit" name="_disconnect" formaction="{% url 'dcim:powerport_bulk_disconnect' %}?return_url={% url 'dcim:device_powerports' pk=object.pk %}" class="btn btn-outline-danger btn-sm">
|
|
||||||
<span class="mdi mdi-ethernet-cable-off" aria-hidden="true"></span> Disconnect
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
|
||||||
{% if perms.dcim.delete_powerport %}
|
|
||||||
<button type="submit" name="_delete" formaction="{% url 'dcim:powerport_bulk_delete' %}?return_url={% url 'dcim:device_powerports' pk=object.pk %}" class="btn btn-danger btn-sm">
|
|
||||||
<i class="bi bi-trash-fill" aria-hidden="true"></i> Delete
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
|
||||||
{% if perms.dcim.add_powerport %}
|
|
||||||
<div class="float-end">
|
|
||||||
<a href="{% url 'dcim:powerport_add' %}?device={{ object.pk }}&return_url={% url 'dcim:device_powerports' pk=object.pk %}" class="btn btn-sm btn-primary">
|
|
||||||
<i class="bi bi-plus" aria-hidden="true"></i> Add power port
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
<div class="clearfix"></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
<div class="card-body">
|
||||||
{% include 'inc/paginator.html' with paginator=powerport_table.paginator page=powerport_table.page %}
|
{% render_table powerport_table 'inc/table.html' %}
|
||||||
{% table_config_form powerport_table %}
|
</div>
|
||||||
|
<div class="card-footer noprint">
|
||||||
|
{% if perms.dcim.change_powerport %}
|
||||||
|
<button type="submit" name="_rename" formaction="{% url 'dcim:powerport_bulk_rename' %}?return_url={% url 'dcim:device_powerports' pk=object.pk %}" class="btn btn-outline-warning btn-sm">
|
||||||
|
<i class="mdi mdi-pencil-outline" aria-hidden="true"></i> Rename
|
||||||
|
</button>
|
||||||
|
<button type="submit" name="_edit" formaction="{% url 'dcim:powerport_bulk_edit' %}?device={{ object.pk }}&return_url={% url 'dcim:device_powerports' pk=object.pk %}" class="btn btn-warning btn-sm">
|
||||||
|
<i class="mdi mdi-pencil" aria-hidden="true"></i> Edit
|
||||||
|
</button>
|
||||||
|
<button type="submit" name="_disconnect" formaction="{% url 'dcim:powerport_bulk_disconnect' %}?return_url={% url 'dcim:device_powerports' pk=object.pk %}" class="btn btn-outline-danger btn-sm">
|
||||||
|
<span class="mdi mdi-ethernet-cable-off" aria-hidden="true"></span> Disconnect
|
||||||
|
</button>
|
||||||
|
{% endif %}
|
||||||
|
{% if perms.dcim.delete_powerport %}
|
||||||
|
<button type="submit" name="_delete" formaction="{% url 'dcim:powerport_bulk_delete' %}?return_url={% url 'dcim:device_powerports' pk=object.pk %}" class="btn btn-danger btn-sm">
|
||||||
|
<i class="mdi mdi-trash-can-outline" aria-hidden="true"></i> Delete
|
||||||
|
</button>
|
||||||
|
{% endif %}
|
||||||
|
{% if perms.dcim.add_powerport %}
|
||||||
|
<div class="float-end">
|
||||||
|
<a href="{% url 'dcim:powerport_add' %}?device={{ object.pk }}&return_url={% url 'dcim:device_powerports' pk=object.pk %}" class="btn btn-sm btn-primary">
|
||||||
|
<i class="mdi mdi-plus-thick" aria-hidden="true"></i> Add power port
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
{% include 'inc/paginator.html' with paginator=powerport_table.paginator page=powerport_table.page %}
|
||||||
|
{% table_config_form powerport_table %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
<div class="card-footer noprint">
|
<div class="card-footer noprint">
|
||||||
{% if perms.dcim.change_rearport %}
|
{% if perms.dcim.change_rearport %}
|
||||||
<button type="submit" name="_rename" formaction="{% url 'dcim:rearport_bulk_rename' %}?return_url={% url 'dcim:device_rearports' pk=object.pk %}" class="btn btn-outline-warning btn-sm">
|
<button type="submit" name="_rename" formaction="{% url 'dcim:rearport_bulk_rename' %}?return_url={% url 'dcim:device_rearports' pk=object.pk %}" class="btn btn-outline-warning btn-sm">
|
||||||
<i class="bi bi-input-cursor-text" aria-hidden="true"></i> Rename
|
<i class="mdi mdi-pencil-outline" aria-hidden="true"></i> Rename
|
||||||
</button>
|
</button>
|
||||||
<button type="submit" name="_edit" formaction="{% url 'dcim:rearport_bulk_edit' %}?device={{ object.pk }}&return_url={% url 'dcim:device_rearports' pk=object.pk %}" class="btn btn-warning btn-sm">
|
<button type="submit" name="_edit" formaction="{% url 'dcim:rearport_bulk_edit' %}?device={{ object.pk }}&return_url={% url 'dcim:device_rearports' pk=object.pk %}" class="btn btn-warning btn-sm">
|
||||||
<i class="mdi mdi-pencil" aria-hidden="true"></i> Edit
|
<i class="mdi mdi-pencil" aria-hidden="true"></i> Edit
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
{% if perms.dcim.change_device %}
|
{% if perms.dcim.change_device %}
|
||||||
<div class="dropdown">
|
<div class="dropdown">
|
||||||
<button type="button" class="btn btn-sm btn-primary dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
<button type="button" class="btn btn-sm btn-primary dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||||
<i class="bi bi-plus" aria-hidden="true"></i> Add Components
|
<i class="mdi mdi-plus-thick" aria-hidden="true"></i> Add Components
|
||||||
</button>
|
</button>
|
||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu">
|
||||||
{% if perms.dcim.add_consoleport %}
|
{% if perms.dcim.add_consoleport %}
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
{% if perms.dcim.change_devicetype %}
|
{% if perms.dcim.change_devicetype %}
|
||||||
<div class="dropdown m-1">
|
<div class="dropdown m-1">
|
||||||
<button type="button" class="btn btn-primary btn-sm dropdown-toggle"data-bs-toggle="dropdown" aria-expanded="false">
|
<button type="button" class="btn btn-primary btn-sm dropdown-toggle"data-bs-toggle="dropdown" aria-expanded="false">
|
||||||
<i class="bi bi-plus" aria-hidden="true"></i> Add Components
|
<i class="mdi mdi-plus-thick" aria-hidden="true"></i> Add Components
|
||||||
</button>
|
</button>
|
||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu">
|
||||||
{% if perms.dcim.add_consoleporttemplate %}
|
{% if perms.dcim.add_consoleporttemplate %}
|
||||||
|
@ -12,18 +12,18 @@
|
|||||||
<div class="card-footer noprint">
|
<div class="card-footer noprint">
|
||||||
{% if table.rows %}
|
{% if table.rows %}
|
||||||
<button type="submit" name="_edit" formaction="{% url table.Meta.model|viewname:"bulk_rename" %}?return_url={{ object.get_absolute_url }}" class="btn btn-sm btn-warning">
|
<button type="submit" name="_edit" formaction="{% url table.Meta.model|viewname:"bulk_rename" %}?return_url={{ object.get_absolute_url }}" class="btn btn-sm btn-warning">
|
||||||
<span class="bi bi-pencil-fill" aria-hidden="true"></span> Rename
|
<span class="mdi mdi-pencil-outline" aria-hidden="true"></span> Rename
|
||||||
</button>
|
</button>
|
||||||
<button type="submit" name="_edit" formaction="{% url table.Meta.model|viewname:"bulk_edit" %}?return_url={{ object.get_absolute_url }}" class="btn btn-sm btn-warning">
|
<button type="submit" name="_edit" formaction="{% url table.Meta.model|viewname:"bulk_edit" %}?return_url={{ object.get_absolute_url }}" class="btn btn-sm btn-warning">
|
||||||
<span class="bi bi-pencil-fill" aria-hidden="true"></span> Edit
|
<span class="mdi mdi-pencil" aria-hidden="true"></span> Edit
|
||||||
</button>
|
</button>
|
||||||
<button type="submit" name="_delete" formaction="{% url table.Meta.model|viewname:"bulk_delete" %}?return_url={{ object.get_absolute_url }}" class="btn btn-sm btn-danger">
|
<button type="submit" name="_delete" formaction="{% url table.Meta.model|viewname:"bulk_delete" %}?return_url={{ object.get_absolute_url }}" class="btn btn-sm btn-danger">
|
||||||
<i class="bi bi-trash-fill" aria-hidden="true"></i> Delete
|
<i class="mdi mdi-trash-can-outline" aria-hidden="true"></i> Delete
|
||||||
</button>
|
</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="float-end">
|
<div class="float-end">
|
||||||
<a href="{% url table.Meta.model|viewname:"add" %}?device_type={{ object.pk }}&return_url={{ object.get_absolute_url }}%23tab_{{ tab }}" class="btn btn-primary btn-sm">
|
<a href="{% url table.Meta.model|viewname:"add" %}?device_type={{ object.pk }}&return_url={{ object.get_absolute_url }}%23tab_{{ tab }}" class="btn btn-primary btn-sm">
|
||||||
<i class="bi bi-plus" aria-hidden="true"></i>
|
<i class="mdi mdi-plus-thick" aria-hidden="true"></i>
|
||||||
Add {{ title }}
|
Add {{ title }}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
@ -3,6 +3,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="text-center mt-3">
|
<div class="text-center mt-3">
|
||||||
<a class="btn btn-outline-primary btn-sm" href="{% url 'dcim-api:rack-elevation' pk=object.pk %}?face={{face}}&render=svg">
|
<a class="btn btn-outline-primary btn-sm" href="{% url 'dcim-api:rack-elevation' pk=object.pk %}?face={{face}}&render=svg">
|
||||||
<i class="bi bi-save"></i> Save SVG
|
<i class="mdi mdi-file-download"></i> Download SVG
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
{% block extra_controls %}
|
{% block extra_controls %}
|
||||||
<button class="btn btn-sm btn-outline-primary m-1 toggle-images" selected="selected">
|
<button class="btn btn-sm btn-outline-primary m-1 toggle-images" selected="selected">
|
||||||
<i class="bi bi-file-image"></i>
|
<i class="mdi mdi-file-image-outline"></i>
|
||||||
Hide Images
|
Hide Images
|
||||||
</button>
|
</button>
|
||||||
<a {% if prev_rack %}href="{% url 'dcim:rack' pk=prev_rack.pk %}"{% else %}disabled="disabled"{% endif %} class="btn btn-sm btn-primary m-1">
|
<a {% if prev_rack %}href="{% url 'dcim:rack' pk=prev_rack.pk %}"{% else %}disabled="disabled"{% endif %} class="btn btn-sm btn-primary m-1">
|
||||||
@ -244,8 +244,8 @@
|
|||||||
{% if perms.extras.add_imageattachment %}
|
{% if perms.extras.add_imageattachment %}
|
||||||
<div class="card-footer text-end noprint">
|
<div class="card-footer text-end noprint">
|
||||||
<a href="{% url 'dcim:rack_add_image' object_id=object.pk %}" class="btn btn-primary btn-sm">
|
<a href="{% url 'dcim:rack_add_image' object_id=object.pk %}" class="btn btn-primary btn-sm">
|
||||||
<i class="bi bi-plus" aria-hidden="true"></i>
|
<i class="mdi mdi-plus-thick" aria-hidden="true"></i>
|
||||||
Attach an image
|
Attach an Image
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -301,8 +301,8 @@
|
|||||||
{% if perms.dcim.add_rackreservation %}
|
{% if perms.dcim.add_rackreservation %}
|
||||||
<div class="card-footer text-end noprint">
|
<div class="card-footer text-end noprint">
|
||||||
<a href="{% url 'dcim:rackreservation_add' %}?rack={{ object.pk }}&return_url={{ object.get_absolute_url }}" class="btn btn-primary btn-sm">
|
<a href="{% url 'dcim:rackreservation_add' %}?rack={{ object.pk }}&return_url={{ object.get_absolute_url }}" class="btn btn-primary btn-sm">
|
||||||
<i class="bi bi-plus" aria-hidden="true"></i>
|
<i class="mdi mdi-plus-thick" aria-hidden="true"></i>
|
||||||
Add a reservation
|
Add a Reservation
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -362,8 +362,8 @@
|
|||||||
{% if perms.dcim.add_device %}
|
{% if perms.dcim.add_device %}
|
||||||
<div class="card-footer text-end noprint">
|
<div class="card-footer text-end noprint">
|
||||||
<a href="{% url 'dcim:device_add' %}?site={{ object.site.pk }}&rack={{ object.pk }}" class="btn btn-primary btn-sm">
|
<a href="{% url 'dcim:device_add' %}?site={{ object.site.pk }}&rack={{ object.pk }}" class="btn btn-primary btn-sm">
|
||||||
<i class="bi bi-plus" aria-hidden="true"></i>
|
<i class="mdi mdi-plus-thick" aria-hidden="true"></i>
|
||||||
Add a non-racked device
|
Add a Non-Racked Device
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -236,7 +236,7 @@
|
|||||||
{% if perms.extras.add_imageattachment %}
|
{% if perms.extras.add_imageattachment %}
|
||||||
<div class="card-footer text-end noprint">
|
<div class="card-footer text-end noprint">
|
||||||
<a href="{% url 'dcim:site_add_image' object_id=object.pk %}" class="btn btn-primary btn-sm">
|
<a href="{% url 'dcim:site_add_image' object_id=object.pk %}" class="btn btn-primary btn-sm">
|
||||||
<span class="bi bi-plus" aria-hidden="true"></span>
|
<i class="mdi mdi-plus-thick" aria-hidden="true"></i>
|
||||||
Attach an image
|
Attach an image
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
@ -79,7 +79,7 @@
|
|||||||
{% if perms.dcim.change_virtualchassis %}
|
{% if perms.dcim.change_virtualchassis %}
|
||||||
<div class="card-footer text-end noprint">
|
<div class="card-footer text-end noprint">
|
||||||
<a href="{% url 'dcim:virtualchassis_add_member' pk=object.pk %}?site={{ object.master.site.pk }}&rack={{ object.master.rack.pk }}" class="btn btn-primary btn-sm">
|
<a href="{% url 'dcim:virtualchassis_add_member' pk=object.pk %}?site={{ object.master.site.pk }}&rack={{ object.master.rack.pk }}" class="btn btn-primary btn-sm">
|
||||||
<i class="bi bi-plus" aria-hidden="true"></i> Add Member
|
<i class="mdi mdi-plus-thick" aria-hidden="true"></i> Add Member
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="card-footer">
|
<div class="card-footer">
|
||||||
<span class="help-block">
|
<span class="help-block">
|
||||||
<i class="bi bi-info-circle"></i>
|
<i class="mdi mdi-information-outline"></i>
|
||||||
The local config context overwrites all source contexts.
|
The local config context overwrites all source contexts.
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
{% block controls %}
|
{% block controls %}
|
||||||
{% plugin_buttons object %}
|
{% plugin_buttons object %}
|
||||||
<div class="container mb-2 mx-0">
|
<div class="controls mb-2 mx-0">
|
||||||
<div class="d-flex flex-wrap justify-content-end">
|
<div class="d-flex flex-wrap justify-content-end">
|
||||||
{% block extra_controls %}{% endblock %}
|
{% block extra_controls %}{% endblock %}
|
||||||
{% if request.user|can_add:object %}
|
{% if request.user|can_add:object %}
|
||||||
|
@ -4,37 +4,37 @@
|
|||||||
{% block title %}Remove {{ table.rows|length }} {{ obj_type_plural|bettertitle }}?{% endblock %}
|
{% block title %}Remove {{ table.rows|length }} {{ obj_type_plural|bettertitle }}?{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-6 offset-md-3">
|
<div class="col-md-6 offset-md-3">
|
||||||
<div class="alert alert-danger" role="alert">
|
<div class="alert alert-danger" role="alert">
|
||||||
<h4 class="alert-heading">Confirm Bulk Removal</h4>
|
<h4 class="alert-heading">Confirm Bulk Removal</h4>
|
||||||
<p><strong>Warning:</strong> The following operation will remove {{ table.rows|length }} {{ obj_type_plural }} from {{ parent_obj }}.</p>
|
<p><strong>Warning:</strong> The following operation will remove {{ table.rows|length }} {{ obj_type_plural }} from {{ parent_obj }}.</p>
|
||||||
<hr />
|
<hr />
|
||||||
<p class="mb-0">Please carefully review the {{ obj_type_plural }} to be removed and confirm below.</p>
|
<p class="mb-0">Please carefully review the {{ obj_type_plural }} to be removed and confirm below.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-3">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
{% include 'inc/table.html' %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row mb-3">
|
</div>
|
||||||
<div class="col-md-12">
|
<div class="row mb-3">
|
||||||
<div class="card">
|
<div class="col-md-6 offset-md-3">
|
||||||
<div class="card-body">
|
<form action="." method="post" class="form">
|
||||||
{% include 'inc/table.html' %}
|
{% csrf_token %}
|
||||||
</div>
|
{% for field in form.hidden_fields %}
|
||||||
|
{{ field }}
|
||||||
|
{% endfor %}
|
||||||
|
<div class="text-center">
|
||||||
|
<a href="{{ return_url }}" class="btn btn-outline-dark">Cancel</a>
|
||||||
|
<button type="submit" name="_confirm" class="btn btn-danger">Delete these {{ table.rows|length }} {{ obj_type_plural }}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</form>
|
||||||
</div>
|
|
||||||
<div class="row mb-3">
|
|
||||||
<div class="col-md-6 offset-md-3">
|
|
||||||
<form action="." method="post" class="form">
|
|
||||||
{% csrf_token %}
|
|
||||||
{% for field in form.hidden_fields %}
|
|
||||||
{{ field }}
|
|
||||||
{% endfor %}
|
|
||||||
<div class="text-center">
|
|
||||||
<a href="{{ return_url }}" class="btn btn-outline-dark">Cancel</a>
|
|
||||||
<button type="submit" name="_confirm" class="btn btn-danger">Delete these {{ table.rows|length }} {{ obj_type_plural }}</button>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -5,46 +5,46 @@
|
|||||||
{% block title %}Renaming {{ selected_objects|length }} {{ obj_type_plural|bettertitle }}{% endblock %}
|
{% block title %}Renaming {{ selected_objects|length }} {{ obj_type_plural|bettertitle }}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-7">
|
<div class="col-md-7">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<table class="table">
|
<table class="table">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Current Name</th>
|
<th>Current Name</th>
|
||||||
<th>New Name</th>
|
<th>New Name</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for obj in selected_objects %}
|
||||||
|
<tr{% if obj.new_name and obj.name != obj.new_name %} class="success"{% endif %}>
|
||||||
|
<td>{{ obj.name }}</td>
|
||||||
|
<td>{{ obj.new_name }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
{% endfor %}
|
||||||
<tbody>
|
</tbody>
|
||||||
{% for obj in selected_objects %}
|
</table>
|
||||||
<tr{% if obj.new_name and obj.name != obj.new_name %} class="success"{% endif %}>
|
|
||||||
<td>{{ obj.name }}</td>
|
|
||||||
<td>{{ obj.new_name }}</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-5">
|
|
||||||
<form action="" method="post" class="form form-horizontal">
|
|
||||||
{% csrf_token %}
|
|
||||||
<div class="card">
|
|
||||||
<h5 class="card-header">Rename</h5>
|
|
||||||
<div class="card-body">
|
|
||||||
{% render_form form %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-12 my-3 text-end">
|
|
||||||
<a href="{{ return_url }}" class="btn btn-outline-danger">Cancel</a>
|
|
||||||
<button type="submit" name="_preview" class="btn btn-primary">Preview</button>
|
|
||||||
{% if '_preview' in request.POST and not form.errors %}
|
|
||||||
<button type="submit" name="_apply" class="btn btn-primary">Apply</button>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-md-5">
|
||||||
|
<form action="" method="post" class="form form-horizontal">
|
||||||
|
{% csrf_token %}
|
||||||
|
<div class="card">
|
||||||
|
<h5 class="card-header">Rename</h5>
|
||||||
|
<div class="card-body">
|
||||||
|
{% render_form form %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12 my-3 text-end">
|
||||||
|
<a href="{{ return_url }}" class="btn btn-outline-danger">Cancel</a>
|
||||||
|
<button type="submit" name="_preview" class="btn btn-primary">Preview</button>
|
||||||
|
{% if '_preview' in request.POST and not form.errors %}
|
||||||
|
<button type="submit" name="_apply" class="btn btn-primary">Apply</button>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
data-bs-target="#docs_modal"
|
data-bs-target="#docs_modal"
|
||||||
title="Help"
|
title="Help"
|
||||||
>
|
>
|
||||||
<i class="bi bi-question"></i>
|
<i class="mdi mdi-help-circle"></i>
|
||||||
</button>
|
</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-9">
|
<div class="{% if filter_form %}col-9{% else %}col-12{% endif %}">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<div class="float-end col-md-2 noprint table-controls">
|
<div class="float-end col-md-2 noprint table-controls">
|
||||||
@ -74,12 +74,12 @@
|
|||||||
{% block bulk_buttons %}{% endblock %}
|
{% block bulk_buttons %}{% endblock %}
|
||||||
{% if bulk_edit_url and permissions.change %}
|
{% if bulk_edit_url and permissions.change %}
|
||||||
<button type="submit" name="_edit" formaction="{% url bulk_edit_url %}{% if request.GET %}?{{ request.GET.urlencode }}{% endif %}" class="btn btn-warning btn-sm">
|
<button type="submit" name="_edit" formaction="{% url bulk_edit_url %}{% if request.GET %}?{{ request.GET.urlencode }}{% endif %}" class="btn btn-warning btn-sm">
|
||||||
<i class="bi bi-pencil-fill" aria-hidden="true"></i> Edit Selected
|
<i class="mdi mdi-pencil" aria-hidden="true"></i> Edit Selected
|
||||||
</button>
|
</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if bulk_delete_url and permissions.delete %}
|
{% if bulk_delete_url and permissions.delete %}
|
||||||
<button type="submit" name="_delete" formaction="{% url bulk_delete_url %}{% if request.GET %}?{{ request.GET.urlencode }}{% endif %}" class="btn btn-danger btn-sm">
|
<button type="submit" name="_delete" formaction="{% url bulk_delete_url %}{% if request.GET %}?{{ request.GET.urlencode }}{% endif %}" class="btn btn-danger btn-sm">
|
||||||
<i class="bi bi-trash-fill" aria-hidden="true"></i> Delete Selected
|
<i class="mdi mdi-trash-can-outline" aria-hidden="true"></i> Delete Selected
|
||||||
</button>
|
</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
{% for attachment in images %}
|
{% for attachment in images %}
|
||||||
<tr{% if not attachment.size %} class="danger"{% endif %}>
|
<tr{% if not attachment.size %} class="danger"{% endif %}>
|
||||||
<td>
|
<td>
|
||||||
<i class="bi bi-card-image"></i>
|
<i class="mdi mdi-file-image-outline"></i>
|
||||||
<a class="image-preview" href="{{ attachment.image.url }}" target="_blank">{{ attachment }}</a>
|
<a class="image-preview" href="{{ attachment.image.url }}" target="_blank">{{ attachment }}</a>
|
||||||
</td>
|
</td>
|
||||||
<td>{{ attachment.size|filesizeformat }}</td>
|
<td>{{ attachment.size|filesizeformat }}</td>
|
||||||
@ -18,12 +18,12 @@
|
|||||||
<td class="text-end noprint">
|
<td class="text-end noprint">
|
||||||
{% if perms.extras.change_imageattachment %}
|
{% if perms.extras.change_imageattachment %}
|
||||||
<a href="{% url 'extras:imageattachment_edit' pk=attachment.pk %}" class="btn btn-warning btn-sm" title="Edit Image">
|
<a href="{% url 'extras:imageattachment_edit' pk=attachment.pk %}" class="btn btn-warning btn-sm" title="Edit Image">
|
||||||
<i class="bi bi-pencil-fill" aria-hidden="true"></i>
|
<i class="mdi mdi-pencil" aria-hidden="true"></i>
|
||||||
</a>
|
</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if perms.extras.delete_imageattachment %}
|
{% if perms.extras.delete_imageattachment %}
|
||||||
<a href="{% url 'extras:imageattachment_delete' pk=attachment.pk %}" class="btn btn-danger btn-sm" title="Delete Image">
|
<a href="{% url 'extras:imageattachment_delete' pk=attachment.pk %}" class="btn btn-danger btn-sm" title="Delete Image">
|
||||||
<i class="bi bi-trash-fill" aria-hidden="true"></i>
|
<i class="mdi mdi-trash-can-outline" aria-hidden="true"></i>
|
||||||
</a>
|
</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
<div class="input-group mb-3">
|
<div class="input-group mb-3">
|
||||||
<input type="text" name="q" class="form-control" placeholder="Search" {% if request.GET.q %}value="{{ request.GET.q }}" {% endif %}/>
|
<input type="text" name="q" class="form-control" placeholder="Search" {% if request.GET.q %}value="{{ request.GET.q }}" {% endif %}/>
|
||||||
<button type="submit" class="btn btn-primary">
|
<button type="submit" class="btn btn-primary">
|
||||||
<i class="bi bi-search"></i>
|
<i class="mdi mdi-magnify"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
{% elif field|widget_type == 'checkboxinput' %}
|
{% elif field|widget_type == 'checkboxinput' %}
|
||||||
@ -33,10 +33,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="card-footer text-end noprint border-0">
|
<div class="card-footer text-end noprint border-0">
|
||||||
<a href="." class="btn btn-sm btn-outline-dark m-1">
|
<a href="." class="btn btn-sm btn-outline-dark m-1">
|
||||||
<i class="bi bi-x"></i> Clear
|
<i class="mdi mdi-close"></i> Clear
|
||||||
</a>
|
</a>
|
||||||
<button type="submit" class="btn btn-sm btn-primary m-1">
|
<button type="submit" class="btn btn-sm btn-primary m-1">
|
||||||
<i class="bi bi-search"></i> Apply
|
<i class="mdi mdi-magnify"></i> Apply
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -2,19 +2,14 @@
|
|||||||
<div class="card mb-3">
|
<div class="card mb-3">
|
||||||
<div class="card-header d-flex justify-content-between align-items-center">
|
<div class="card-header d-flex justify-content-between align-items-center">
|
||||||
<h5>Statistics</h5>
|
<h5>Statistics</h5>
|
||||||
<i class="bi bi-pie-chart-fill"></i>
|
<i class="mdi mdi-chart-line"></i>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ul class="list-group list-group-flush">
|
<ul class="list-group list-group-flush">
|
||||||
<li
|
<li class="list-group-item d-flex align-items-center justify-content-between">
|
||||||
class="list-group-item d-flex align-items-center justify-content-between"
|
|
||||||
>
|
|
||||||
Total IPv4 IPs
|
Total IPv4 IPs
|
||||||
<span class="badge rounded-pill bg-primary">{{ ipv4_total|intcomma }}</span>
|
<span class="badge rounded-pill bg-primary">{{ ipv4_total|intcomma }}</span>
|
||||||
</li>
|
</li>
|
||||||
<li
|
<li class="list-group-item d-flex align-items-center justify-content-between">
|
||||||
class="list-group-item d-flex align-items-center justify-content-between"
|
|
||||||
>
|
|
||||||
Total IPv6 /64s
|
Total IPv6 /64s
|
||||||
<span class="badge rounded-pill bg-primary">{{ ipv6_total|intcomma }}</span>
|
<span class="badge rounded-pill bg-primary">{{ ipv6_total|intcomma }}</span>
|
||||||
</li>
|
</li>
|
||||||
|
@ -12,16 +12,16 @@
|
|||||||
<td>{{ service.description }}</td>
|
<td>{{ service.description }}</td>
|
||||||
<td class="text-end noprint">
|
<td class="text-end noprint">
|
||||||
<a href="{% url 'ipam:service_changelog' pk=service.pk %}" class="btn btn-sm btn-outline-secondary" title="Change Log">
|
<a href="{% url 'ipam:service_changelog' pk=service.pk %}" class="btn btn-sm btn-outline-secondary" title="Change Log">
|
||||||
<i class="bi bi-clock-history"></i>
|
<i class="mdi mdi-history"></i>
|
||||||
</a>
|
</a>
|
||||||
{% if perms.ipam.change_service %}
|
{% if perms.ipam.change_service %}
|
||||||
<a href="{% url 'ipam:service_edit' pk=service.pk %}?return_url={{ service.parent.get_absolute_url }}" class="btn btn-warning btn-sm" title="Edit Service">
|
<a href="{% url 'ipam:service_edit' pk=service.pk %}?return_url={{ service.parent.get_absolute_url }}" class="btn btn-warning btn-sm" title="Edit Service">
|
||||||
<i class="bi bi-pencil-fill"></i>
|
<i class="mdi mdi-pencil"></i>
|
||||||
</a>
|
</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if perms.ipam.delete_service %}
|
{% if perms.ipam.delete_service %}
|
||||||
<a href="{% url 'ipam:service_delete' pk=service.pk %}?return_url={{ service.parent.get_absolute_url }}" class="btn btn-danger btn-sm">
|
<a href="{% url 'ipam:service_delete' pk=service.pk %}?return_url={{ service.parent.get_absolute_url }}" class="btn btn-danger btn-sm">
|
||||||
<i class="bi bi-trash-fill" title="Delete Service"></i>
|
<i class="mdi mdi-trash-can-outline" title="Delete Service"></i>
|
||||||
</a>
|
</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
|
@ -2,10 +2,10 @@
|
|||||||
{% if show_available is not None %}
|
{% if show_available is not None %}
|
||||||
<div class="btn-group m-1" role="group">
|
<div class="btn-group m-1" role="group">
|
||||||
<a href="{{ request.path }}{% querystring request show_available='true' %}" class="btn btn-sm btn-outline-secondary{% if show_available %} active disabled{% endif %}">
|
<a href="{{ request.path }}{% querystring request show_available='true' %}" class="btn btn-sm btn-outline-secondary{% if show_available %} active disabled{% endif %}">
|
||||||
<i class="bi bi-eye-fill"></i> Show Available
|
<i class="mdi mdi-eye"></i> Show Available
|
||||||
</a>
|
</a>
|
||||||
<a href="{{ request.path }}{% querystring request show_available='false' %}" class="btn btn-sm btn-outline-secondary{% if not show_available %} active disabled{% endif %}">
|
<a href="{{ request.path }}{% querystring request show_available='false' %}" class="btn btn-sm btn-outline-secondary{% if not show_available %} active disabled{% endif %}">
|
||||||
<i class="bi bi-eye-slash-fill"></i> Hide Available
|
<i class="mdi mdi-eye-off"></i> Hide Available
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -92,8 +92,8 @@
|
|||||||
{% if perms.ipam.add_prefix %}
|
{% if perms.ipam.add_prefix %}
|
||||||
<div class="card-footer text-end noprint">
|
<div class="card-footer text-end noprint">
|
||||||
<a href="{% url 'ipam:prefix_add' %}?{% if object.tenant %}tenant={{ object.tenant.pk }}&{% endif %}site={{ object.site.pk }}&vlan={{ object.pk }}" class="btn btn-primary btn-sm">
|
<a href="{% url 'ipam:prefix_add' %}?{% if object.tenant %}tenant={{ object.tenant.pk }}&{% endif %}site={{ object.site.pk }}&vlan={{ object.pk }}" class="btn btn-primary btn-sm">
|
||||||
<span class="bi bi-plus" aria-hidden="true"></span>
|
<i class="mdi mdi-plus-thick" aria-hidden="true"></i>
|
||||||
Add a prefix
|
Add a Prefix
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -15,12 +15,12 @@
|
|||||||
<div class="float-end">
|
<div class="float-end">
|
||||||
{% if bulk_edit_url and permissions.change %}
|
{% if bulk_edit_url and permissions.change %}
|
||||||
<button type="submit" name="_edit" formaction="{% url bulk_edit_url %}{% if bulk_querystring %}?{{ bulk_querystring }}{% elif request.GET %}?{{ request.GET.urlencode }}{% endif %}" class="btn btn-warning btn-sm" disabled="disabled">
|
<button type="submit" name="_edit" formaction="{% url bulk_edit_url %}{% if bulk_querystring %}?{{ bulk_querystring }}{% elif request.GET %}?{{ request.GET.urlencode }}{% endif %}" class="btn btn-warning btn-sm" disabled="disabled">
|
||||||
<span class="bi bi-pencil-fill" aria-hidden="true"></span> Edit All
|
<span class="mdi mdi-pencil" aria-hidden="true"></span> Edit All
|
||||||
</button>
|
</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if bulk_delete_url and permissions.delete %}
|
{% if bulk_delete_url and permissions.delete %}
|
||||||
<button type="submit" name="_delete" formaction="{% url bulk_delete_url %}{% if bulk_querystring %}?{{ bulk_querystring }}{% elif request.GET %}?{{ request.GET.urlencode }}{% endif %}" class="btn btn-danger btn-sm" disabled="disabled">
|
<button type="submit" name="_delete" formaction="{% url bulk_delete_url %}{% if bulk_querystring %}?{{ bulk_querystring }}{% elif request.GET %}?{{ request.GET.urlencode }}{% endif %}" class="btn btn-danger btn-sm" disabled="disabled">
|
||||||
<span class="bi bi-trash-fill" aria-hidden="true"></span> Delete All
|
<span class="mdi mdi-trash-can-outline" aria-hidden="true"></span> Delete All
|
||||||
</button>
|
</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
@ -32,12 +32,12 @@
|
|||||||
{% block extra_actions %}{% endblock %}
|
{% block extra_actions %}{% endblock %}
|
||||||
{% if bulk_edit_url and permissions.change %}
|
{% if bulk_edit_url and permissions.change %}
|
||||||
<button type="submit" name="_edit" formaction="{% url bulk_edit_url %}{% if request.GET %}?{{ request.GET.urlencode }}{% endif %}" class="btn btn-warning btn-sm">
|
<button type="submit" name="_edit" formaction="{% url bulk_edit_url %}{% if request.GET %}?{{ request.GET.urlencode }}{% endif %}" class="btn btn-warning btn-sm">
|
||||||
<i class="bi bi-pencil-fill" aria-hidden="true"></i> Edit Selected
|
<i class="mdi mdi-pencil" aria-hidden="true"></i> Edit Selected
|
||||||
</button>
|
</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if bulk_delete_url and permissions.delete %}
|
{% if bulk_delete_url and permissions.delete %}
|
||||||
<button type="submit" name="_delete" formaction="{% url bulk_delete_url %}{% if request.GET %}?{{ request.GET.urlencode }}{% endif %}" class="btn btn-danger btn-sm">
|
<button type="submit" name="_delete" formaction="{% url bulk_delete_url %}{% if request.GET %}?{{ request.GET.urlencode }}{% endif %}" class="btn btn-danger btn-sm">
|
||||||
<i class="bi bi-trash-fill" aria-hidden="true"></i> Delete Selected
|
<i class="mdi mdi-trash-can-outline" aria-hidden="true"></i> Delete Selected
|
||||||
</button>
|
</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
@ -35,20 +35,12 @@
|
|||||||
{% elif field|widget_type == 'slugwidget' %}
|
{% elif field|widget_type == 'slugwidget' %}
|
||||||
<div class="form-floating mb-3">
|
<div class="form-floating mb-3">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
{{ field }}
|
{{ field }}
|
||||||
<label
|
<label class="{% if field.field.required %}required{% endif %}" for="{{ field.id_for_label }}">
|
||||||
class="{% if field.field.required %}required{% endif %}"
|
|
||||||
for="{{ field.id_for_label }}"
|
|
||||||
>
|
|
||||||
{{ field.label }}
|
{{ field.label }}
|
||||||
</label>
|
</label>
|
||||||
<button
|
<button id="reslug" type="button" title="Regenerate Slug" class="btn btn-outline-dark">
|
||||||
id="reslug"
|
<i class="mdi mdi-undo-variant"></i>
|
||||||
type="button"
|
|
||||||
title="Regenerate Slug"
|
|
||||||
class="btn btn-outline-dark"
|
|
||||||
>
|
|
||||||
<i class="bi bi-arrow-counterclockwise"></i>
|
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -58,10 +50,7 @@
|
|||||||
<div class="form-floating mb-3">
|
<div class="form-floating mb-3">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
{{ field }}
|
{{ field }}
|
||||||
<label
|
<label class="{% if field.field.required %}required{% endif %}" for="{{ field.id_for_label }}">
|
||||||
class="{% if field.field.required %}required{% endif %}"
|
|
||||||
for="{{ field.id_for_label }}"
|
|
||||||
>
|
|
||||||
{{ field.label }}
|
{{ field.label }}
|
||||||
</label>
|
</label>
|
||||||
<button type="button" class="btn btn-outline-gray dropdown-toggle" data-bs-toggle="dropdown">
|
<button type="button" class="btn btn-outline-gray dropdown-toggle" data-bs-toggle="dropdown">
|
||||||
@ -105,10 +94,7 @@
|
|||||||
{% else %}
|
{% else %}
|
||||||
<div class="form-floating mb-3">
|
<div class="form-floating mb-3">
|
||||||
{{ field }}
|
{{ field }}
|
||||||
<label
|
<label for="{{ field.id_for_label }}" {% if field.field.required %}class="required"{% endif %}>
|
||||||
for="{{ field.id_for_label }}"
|
|
||||||
{% if field.field.required %}class="required"{% endif %}
|
|
||||||
>
|
|
||||||
{{ field.label }}
|
{{ field.label }}
|
||||||
</label>
|
</label>
|
||||||
{% if field.help_text %}
|
{% if field.help_text %}
|
||||||
|
@ -179,17 +179,17 @@ class ButtonsColumn(tables.TemplateColumn):
|
|||||||
template_code = """
|
template_code = """
|
||||||
{{% if "changelog" in buttons %}}
|
{{% if "changelog" in buttons %}}
|
||||||
<a href="{{% url '{app_label}:{model_name}_changelog' pk=record.pk %}}" class="btn btn-outline-dark btn-sm" title="Change log">
|
<a href="{{% url '{app_label}:{model_name}_changelog' pk=record.pk %}}" class="btn btn-outline-dark btn-sm" title="Change log">
|
||||||
<i class="bi bi-clock-history"></i>
|
<i class="mdi mdi-history"></i>
|
||||||
</a>
|
</a>
|
||||||
{{% endif %}}
|
{{% endif %}}
|
||||||
{{% if "edit" in buttons and perms.{app_label}.change_{model_name} %}}
|
{{% if "edit" in buttons and perms.{app_label}.change_{model_name} %}}
|
||||||
<a href="{{% url '{app_label}:{model_name}_edit' pk=record.pk %}}?return_url={{{{ request.path }}}}{{{{ return_url_extra }}}}" class="btn btn-sm btn-warning" title="Edit">
|
<a href="{{% url '{app_label}:{model_name}_edit' pk=record.pk %}}?return_url={{{{ request.path }}}}{{{{ return_url_extra }}}}" class="btn btn-sm btn-warning" title="Edit">
|
||||||
<i class="bi bi-pencil-fill"></i>
|
<i class="mdi mdi-pencil"></i>
|
||||||
</a>
|
</a>
|
||||||
{{% endif %}}
|
{{% endif %}}
|
||||||
{{% if "delete" in buttons and perms.{app_label}.delete_{model_name} %}}
|
{{% if "delete" in buttons and perms.{app_label}.delete_{model_name} %}}
|
||||||
<a href="{{% url '{app_label}:{model_name}_delete' pk=record.pk %}}?return_url={{{{ request.path }}}}{{{{ return_url_extra }}}}" class="btn btn-sm btn-danger" title="Delete">
|
<a href="{{% url '{app_label}:{model_name}_delete' pk=record.pk %}}?return_url={{{{ request.path }}}}{{{{ return_url_extra }}}}" class="btn btn-sm btn-danger" title="Delete">
|
||||||
<i class="bi bi-trash-fill"></i>
|
<i class="mdi mdi-trash-can-outline"></i>
|
||||||
</a>
|
</a>
|
||||||
{{% endif %}}
|
{{% endif %}}
|
||||||
"""
|
"""
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<div class="d-flex flex-shrink-1 m-1">
|
<div class="d-flex flex-shrink-1 m-1">
|
||||||
<a href="{{ add_url }}" type="button" class="btn btn-sm btn-success">
|
<a href="{{ add_url }}" type="button" class="btn btn-sm btn-success">
|
||||||
<i class="bi bi-plus-circle"></i>
|
<i class="mdi mdi-plus-thick"></i>
|
||||||
Add
|
Add
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
<a href="{{ url }}" class="btn btn-sm btn-success m-1" role="button">
|
<a href="{{ url }}" class="btn btn-sm btn-success m-1" role="button">
|
||||||
<i class="bi bi-layers-fill" aria-hidden="true"></i> Clone
|
<i class="mdi mdi-content-copy" aria-hidden="true"></i> Clone
|
||||||
</a>
|
</a>
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
<a href="{{ url }}" class="btn btn-sm btn-danger m-1" role="button">
|
<a href="{{ url }}" class="btn btn-sm btn-danger m-1" role="button">
|
||||||
<span class="bi bi-trash-fill" aria-hidden="true"></span> Delete
|
<span class="mdi mdi-trash-can-outline" aria-hidden="true"></span> Delete
|
||||||
</a>
|
</a>
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
<a href="{{ url }}" class="btn btn-sm btn-warning m-1" role="button">
|
<a href="{{ url }}" class="btn btn-sm btn-warning m-1" role="button">
|
||||||
<span class="bi bi-pencil-fill" aria-hidden="true"></span> Edit
|
<span class="mdi mdi-pencil" aria-hidden="true"></span> Edit
|
||||||
</a>
|
</a>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<div class="dropdown m-1">
|
<div class="dropdown m-1">
|
||||||
<button type="button" class="btn btn-sm btn-outline-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
<button type="button" class="btn btn-sm btn-outline-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||||
<i class="bi bi-download"></i> Export
|
<i class="mdi mdi-download"></i> Export
|
||||||
</button>
|
</button>
|
||||||
<ul class="dropdown-menu dropdown-menu-end">
|
<ul class="dropdown-menu dropdown-menu-end">
|
||||||
<li><a class="dropdown-item" href="?{% if url_params %}{{ url_params.urlencode }}&{% endif %}export=table">Current View</a></li>
|
<li><a class="dropdown-item" href="?{% if url_params %}{{ url_params.urlencode }}&{% endif %}export=table">Current View</a></li>
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
<a href="{% url import_url %}" type="button" class="btn btn-sm btn-outline-secondary m-1">
|
<a href="{% url import_url %}" type="button" class="btn btn-sm btn-outline-secondary m-1">
|
||||||
<i class="bi bi-upload"></i> Import
|
<i class="mdi mdi-upload"></i> Import
|
||||||
</a>
|
</a>
|
||||||
|
Loading…
Reference in New Issue
Block a user