1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

#3880: Define constants for arbitrary values

This commit is contained in:
Jeremy Stretch
2020-01-24 14:21:59 -05:00
parent 45b66b174c
commit 096814dc33
11 changed files with 114 additions and 48 deletions

View File

@@ -4,17 +4,30 @@ from .choices import InterfaceTypeChoices
#
# Rack elevation rendering
# Racks
#
RACK_U_HEIGHT_DEFAULT = 42
RACK_ELEVATION_UNIT_WIDTH_DEFAULT = 230
RACK_ELEVATION_UNIT_HEIGHT_DEFAULT = 20
#
# Interface type groups
# RearPorts
#
REARPORT_POSITIONS_MIN = 1
REARPORT_POSITIONS_MAX = 64
#
# Interfaces
#
INTERFACE_MTU_MIN = 1
INTERFACE_MTU_MAX = 32767
VIRTUAL_IFACE_TYPES = [
InterfaceTypeChoices.TYPE_VIRTUAL,
InterfaceTypeChoices.TYPE_LAG,
@@ -31,6 +44,15 @@ WIRELESS_IFACE_TYPES = [
NONCONNECTABLE_IFACE_TYPES = VIRTUAL_IFACE_TYPES + WIRELESS_IFACE_TYPES
#
# PowerFeeds
#
POWERFEED_VOLTAGE_DEFAULT = 120
POWERFEED_AMPERAGE_DEFAULT = 20
POWERFEED_MAX_UTILIZATION_DEFAULT = 80 # Percentage
#
# Cabling and connections
#

View File

@@ -5,7 +5,6 @@ from django.contrib.auth.models import User
from django.contrib.contenttypes.models import ContentType
from django.contrib.postgres.forms.array import SimpleArrayField
from django.core.exceptions import ObjectDoesNotExist
from django.db.models import Q
from mptt.forms import TreeNodeChoiceField
from netaddr import EUI
from netaddr.core import AddrFormatError
@@ -1301,8 +1300,8 @@ class RearPortTemplateCreateForm(ComponentForm):
widget=StaticSelect2(),
)
positions = forms.IntegerField(
min_value=1,
max_value=64,
min_value=REARPORT_POSITIONS_MIN,
max_value=REARPORT_POSITIONS_MAX,
initial=1,
help_text='The number of front ports which may be mapped to each rear port'
)
@@ -2133,8 +2132,8 @@ class DeviceBulkAddInterfaceForm(DeviceBulkAddComponentForm):
)
mtu = forms.IntegerField(
required=False,
min_value=1,
max_value=32767,
min_value=INTERFACE_MTU_MIN,
max_value=INTERFACE_MTU_MAX,
label='MTU'
)
mgmt_only = forms.BooleanField(
@@ -2620,8 +2619,8 @@ class InterfaceCreateForm(InterfaceCommonForm, ComponentForm, forms.Form):
)
mtu = forms.IntegerField(
required=False,
min_value=1,
max_value=32767,
min_value=INTERFACE_MTU_MIN,
max_value=INTERFACE_MTU_MAX,
label='MTU'
)
mac_address = forms.CharField(
@@ -2775,8 +2774,8 @@ class InterfaceBulkEditForm(InterfaceCommonForm, BootstrapMixin, AddRemoveTagsFo
)
mtu = forms.IntegerField(
required=False,
min_value=1,
max_value=32767,
min_value=INTERFACE_MTU_MIN,
max_value=INTERFACE_MTU_MAX,
label='MTU'
)
mgmt_only = forms.NullBooleanField(
@@ -3055,8 +3054,8 @@ class RearPortCreateForm(ComponentForm):
widget=StaticSelect2(),
)
positions = forms.IntegerField(
min_value=1,
max_value=64,
min_value=REARPORT_POSITIONS_MIN,
max_value=REARPORT_POSITIONS_MAX,
initial=1,
help_text='The number of front ports which may be mapped to each rear port'
)
@@ -3533,7 +3532,7 @@ class CableBulkEditForm(BootstrapMixin, BulkEditForm):
required=False
)
color = forms.CharField(
max_length=6,
max_length=6, # RGB color code
required=False,
widget=ColorSelect()
)
@@ -3612,7 +3611,7 @@ class CableFilterForm(BootstrapMixin, forms.Form):
widget=StaticSelect2()
)
color = forms.CharField(
max_length=6,
max_length=6, # RGB color code
required=False,
widget=ColorSelect()
)

View File

@@ -488,7 +488,12 @@ class RackElevationHelperMixin:
return elevation
def get_elevation_svg(self, face=DeviceFaceChoices.FACE_FRONT, unit_width=230, unit_height=20):
def get_elevation_svg(
self,
face=DeviceFaceChoices.FACE_FRONT,
unit_width=RACK_ELEVATION_UNIT_WIDTH_DEFAULT,
unit_height=RACK_ELEVATION_UNIT_HEIGHT_DEFAULT
):
"""
Return an SVG of the rack elevation
@@ -574,7 +579,7 @@ class Rack(ChangeLoggedModel, CustomFieldModel, RackElevationHelperMixin):
help_text='Rail-to-rail width'
)
u_height = models.PositiveSmallIntegerField(
default=42,
default=RACK_U_HEIGHT_DEFAULT,
verbose_name='Height (U)',
validators=[MinValueValidator(1), MaxValueValidator(100)]
)
@@ -1864,15 +1869,15 @@ class PowerFeed(ChangeLoggedModel, CableTermination, CustomFieldModel):
)
voltage = models.PositiveSmallIntegerField(
validators=[MinValueValidator(1)],
default=120
default=POWERFEED_VOLTAGE_DEFAULT
)
amperage = models.PositiveSmallIntegerField(
validators=[MinValueValidator(1)],
default=20
default=POWERFEED_AMPERAGE_DEFAULT
)
max_utilization = models.PositiveSmallIntegerField(
validators=[MinValueValidator(1), MaxValueValidator(100)],
default=80,
default=POWERFEED_MAX_UTILIZATION_DEFAULT,
help_text="Maximum permissible draw (percentage)"
)
available_power = models.PositiveIntegerField(