mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Closes #4796: Introduce configuration parameters for default rack elevation size
This commit is contained in:
@ -382,6 +382,22 @@ When determining the primary IP address for a device, IPv6 is preferred over IPv
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## RACK_ELEVATION_DEFAULT_UNIT_HEIGHT
|
||||||
|
|
||||||
|
Default: 22
|
||||||
|
|
||||||
|
Default height (in pixels) of a unit within a rack elevation. For best results, this should be approximately one tenth of `RACK_ELEVATION_DEFAULT_UNIT_WIDTH`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## RACK_ELEVATION_DEFAULT_UNIT_WIDTH
|
||||||
|
|
||||||
|
Default: 220
|
||||||
|
|
||||||
|
Default width (in pixels) of a unit within a rack elevation.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## REMOTE_AUTH_ENABLED
|
## REMOTE_AUTH_ENABLED
|
||||||
|
|
||||||
Default: `False`
|
Default: `False`
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
### Enhancements
|
### Enhancements
|
||||||
|
|
||||||
|
* [#4796](https://github.com/netbox-community/netbox/issues/4796) - Introduce configuration parameters for default rack elevation size
|
||||||
* [#4802](https://github.com/netbox-community/netbox/issues/4802) - Allow changing page size when displaying only a single page of results
|
* [#4802](https://github.com/netbox-community/netbox/issues/4802) - Allow changing page size when displaying only a single page of results
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
from django.conf import settings
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
from drf_yasg.utils import swagger_serializer_method
|
from drf_yasg.utils import swagger_serializer_method
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
@ -185,10 +186,10 @@ class RackElevationDetailFilterSerializer(serializers.Serializer):
|
|||||||
default=RackElevationDetailRenderChoices.RENDER_JSON
|
default=RackElevationDetailRenderChoices.RENDER_JSON
|
||||||
)
|
)
|
||||||
unit_width = serializers.IntegerField(
|
unit_width = serializers.IntegerField(
|
||||||
default=RACK_ELEVATION_UNIT_WIDTH_DEFAULT
|
default=settings.RACK_ELEVATION_DEFAULT_UNIT_WIDTH
|
||||||
)
|
)
|
||||||
unit_height = serializers.IntegerField(
|
unit_height = serializers.IntegerField(
|
||||||
default=RACK_ELEVATION_UNIT_HEIGHT_DEFAULT
|
default=settings.RACK_ELEVATION_DEFAULT_UNIT_HEIGHT
|
||||||
)
|
)
|
||||||
legend_width = serializers.IntegerField(
|
legend_width = serializers.IntegerField(
|
||||||
default=RACK_ELEVATION_LEGEND_WIDTH_DEFAULT
|
default=RACK_ELEVATION_LEGEND_WIDTH_DEFAULT
|
||||||
|
@ -11,8 +11,6 @@ RACK_U_HEIGHT_DEFAULT = 42
|
|||||||
|
|
||||||
RACK_ELEVATION_BORDER_WIDTH = 2
|
RACK_ELEVATION_BORDER_WIDTH = 2
|
||||||
RACK_ELEVATION_LEGEND_WIDTH_DEFAULT = 30
|
RACK_ELEVATION_LEGEND_WIDTH_DEFAULT = 30
|
||||||
RACK_ELEVATION_UNIT_WIDTH_DEFAULT = 220
|
|
||||||
RACK_ELEVATION_UNIT_HEIGHT_DEFAULT = 22
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -731,8 +731,8 @@ class Rack(ChangeLoggedModel, CustomFieldModel):
|
|||||||
def get_elevation_svg(
|
def get_elevation_svg(
|
||||||
self,
|
self,
|
||||||
face=DeviceFaceChoices.FACE_FRONT,
|
face=DeviceFaceChoices.FACE_FRONT,
|
||||||
unit_width=RACK_ELEVATION_UNIT_WIDTH_DEFAULT,
|
unit_width=settings.RACK_ELEVATION_DEFAULT_UNIT_WIDTH,
|
||||||
unit_height=RACK_ELEVATION_UNIT_HEIGHT_DEFAULT,
|
unit_height=settings.RACK_ELEVATION_DEFAULT_UNIT_HEIGHT,
|
||||||
legend_width=RACK_ELEVATION_LEGEND_WIDTH_DEFAULT,
|
legend_width=RACK_ELEVATION_LEGEND_WIDTH_DEFAULT,
|
||||||
include_images=True,
|
include_images=True,
|
||||||
base_url=None
|
base_url=None
|
||||||
|
@ -208,6 +208,10 @@ PLUGINS = []
|
|||||||
# prefer IPv4 instead.
|
# prefer IPv4 instead.
|
||||||
PREFER_IPV4 = False
|
PREFER_IPV4 = False
|
||||||
|
|
||||||
|
# Rack elevation size defaults, in pixels. For best results, the ratio of width to height should be roughly 10:1.
|
||||||
|
RACK_ELEVATION_DEFAULT_UNIT_HEIGHT = 22
|
||||||
|
RACK_ELEVATION_DEFAULT_UNIT_WIDTH = 220
|
||||||
|
|
||||||
# Remote authentication support
|
# Remote authentication support
|
||||||
REMOTE_AUTH_ENABLED = False
|
REMOTE_AUTH_ENABLED = False
|
||||||
REMOTE_AUTH_BACKEND = 'utilities.auth_backends.RemoteUserBackend'
|
REMOTE_AUTH_BACKEND = 'utilities.auth_backends.RemoteUserBackend'
|
||||||
|
@ -99,6 +99,8 @@ PAGINATE_COUNT = getattr(configuration, 'PAGINATE_COUNT', 50)
|
|||||||
PLUGINS = getattr(configuration, 'PLUGINS', [])
|
PLUGINS = getattr(configuration, 'PLUGINS', [])
|
||||||
PLUGINS_CONFIG = getattr(configuration, 'PLUGINS_CONFIG', {})
|
PLUGINS_CONFIG = getattr(configuration, 'PLUGINS_CONFIG', {})
|
||||||
PREFER_IPV4 = getattr(configuration, 'PREFER_IPV4', False)
|
PREFER_IPV4 = getattr(configuration, 'PREFER_IPV4', False)
|
||||||
|
RACK_ELEVATION_DEFAULT_UNIT_HEIGHT = getattr(configuration, 'RACK_ELEVATION_DEFAULT_UNIT_HEIGHT', 22)
|
||||||
|
RACK_ELEVATION_DEFAULT_UNIT_WIDTH = getattr(configuration, 'RACK_ELEVATION_DEFAULT_UNIT_WIDTH', 220)
|
||||||
REMOTE_AUTH_AUTO_CREATE_USER = getattr(configuration, 'REMOTE_AUTH_AUTO_CREATE_USER', False)
|
REMOTE_AUTH_AUTO_CREATE_USER = getattr(configuration, 'REMOTE_AUTH_AUTO_CREATE_USER', False)
|
||||||
REMOTE_AUTH_BACKEND = getattr(configuration, 'REMOTE_AUTH_BACKEND', 'utilities.auth_backends.RemoteUserBackend')
|
REMOTE_AUTH_BACKEND = getattr(configuration, 'REMOTE_AUTH_BACKEND', 'utilities.auth_backends.RemoteUserBackend')
|
||||||
REMOTE_AUTH_DEFAULT_GROUPS = getattr(configuration, 'REMOTE_AUTH_DEFAULT_GROUPS', [])
|
REMOTE_AUTH_DEFAULT_GROUPS = getattr(configuration, 'REMOTE_AUTH_DEFAULT_GROUPS', [])
|
||||||
|
@ -183,13 +183,6 @@ nav ul.pagination {
|
|||||||
margin-bottom: 8px !important;
|
margin-bottom: 8px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Racks */
|
|
||||||
div.rack_header {
|
|
||||||
margin-left: 32px;
|
|
||||||
text-align: center;
|
|
||||||
width: 220px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Devices */
|
/* Devices */
|
||||||
table.component-list td.subtable {
|
table.component-list td.subtable {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
<object data="{% url 'dcim-api:rack-elevation' pk=rack.pk %}?face={{face}}&render=svg" class="rack_elevation"></object>
|
<div style="margin-left: -30px">
|
||||||
|
<object data="{% url 'dcim-api:rack-elevation' pk=rack.pk %}?face={{face}}&render=svg" class="rack_elevation"></object>
|
||||||
|
</div>
|
||||||
<div class="text-center text-small">
|
<div class="text-center text-small">
|
||||||
<a href="{% url 'dcim-api:rack-elevation' pk=rack.pk %}?face={{face}}&render=svg">
|
<a href="{% url 'dcim-api:rack-elevation' pk=rack.pk %}?face={{face}}&render=svg">
|
||||||
<i class="fa fa-download"></i> Save SVG
|
<i class="fa fa-download"></i> Save SVG
|
||||||
|
@ -318,16 +318,12 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="row" style="margin-bottom: 20px">
|
<div class="row" style="margin-bottom: 20px">
|
||||||
<div class="col-md-6 col-sm-6 col-xs-12">
|
<div class="col-md-6 col-sm-6 col-xs-12 text-center">
|
||||||
<div class="rack_header">
|
<h4>Front</h4>
|
||||||
<h4>Front</h4>
|
|
||||||
</div>
|
|
||||||
{% include 'dcim/inc/rack_elevation.html' with face='front' %}
|
{% include 'dcim/inc/rack_elevation.html' with face='front' %}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 col-sm-6 col-xs-12">
|
<div class="col-md-6 col-sm-6 col-xs-12 text-center">
|
||||||
<div class="rack_header">
|
<h4>Rear</h4>
|
||||||
<h4>Rear</h4>
|
|
||||||
</div>
|
|
||||||
{% include 'dcim/inc/rack_elevation.html' with face='rear' %}
|
{% include 'dcim/inc/rack_elevation.html' with face='rear' %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Reference in New Issue
Block a user