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

Closes #7702: Add power feed defaults to user configurations

This commit is contained in:
Hunter Johnston
2022-06-23 14:16:09 -04:00
committed by GitHub
parent 52178f78d1
commit db807ab4a6
3 changed files with 5 additions and 16 deletions

View File

@ -6,6 +6,7 @@ from django.urls import reverse
from dcim.choices import *
from dcim.constants import *
from netbox.config import ConfigItem
from netbox.models import NetBoxModel
from utilities.validators import ExclusionValidator
from .device_components import LinkTermination, PathEndpoint
@ -105,16 +106,16 @@ class PowerFeed(NetBoxModel, PathEndpoint, LinkTermination):
default=PowerFeedPhaseChoices.PHASE_SINGLE
)
voltage = models.SmallIntegerField(
default=POWERFEED_VOLTAGE_DEFAULT,
default=ConfigItem('POWERFEED_DEFAULT_VOLTAGE')
validators=[ExclusionValidator([0])]
)
amperage = models.PositiveSmallIntegerField(
validators=[MinValueValidator(1)],
default=POWERFEED_AMPERAGE_DEFAULT
default=ConfigItem('POWERFEED_DEFAULT_AMPERAGE')
)
max_utilization = models.PositiveSmallIntegerField(
validators=[MinValueValidator(1), MaxValueValidator(100)],
default=POWERFEED_MAX_UTILIZATION_DEFAULT,
default=ConfigItem('POWERFEED_DEFAULT_MAX_UTILIZATION')
help_text="Maximum permissible draw (percentage)"
)
available_power = models.PositiveIntegerField(

View File

@ -489,7 +489,7 @@ urlpatterns = [
# Power feeds
path('power-feeds/', views.PowerFeedListView.as_view(), name='powerfeed_list'),
path('power-feeds/add/', views.PowerFeedCreateView.as_view(), name='powerfeed_add'),
path('power-feeds/add/', views.PowerFeedEditView.as_view(), name='powerfeed_add'),
path('power-feeds/import/', views.PowerFeedBulkImportView.as_view(), name='powerfeed_import'),
path('power-feeds/edit/', views.PowerFeedBulkEditView.as_view(), name='powerfeed_bulk_edit'),
path('power-feeds/disconnect/', views.PowerFeedBulkDisconnectView.as_view(), name='powerfeed_bulk_disconnect'),

View File

@ -16,7 +16,6 @@ from circuits.models import Circuit
from extras.views import ObjectConfigContextView
from ipam.models import ASN, IPAddress, Prefix, Service, VLAN, VLANGroup
from ipam.tables import AssignedIPAddressesTable, InterfaceVLANTable
from netbox.config import ConfigItem
from netbox.views import generic
from utilities.forms import ConfirmationForm
from utilities.paginator import EnhancedPaginator, get_paginate_count
@ -3254,17 +3253,6 @@ class PowerFeedView(generic.ObjectView):
queryset = PowerFeed.objects.prefetch_related('power_panel', 'rack')
class PowerFeedCreateView(generic.ObjectEditView):
queryset = PowerFeed.objects.all()
form = forms.PowerFeedForm
def alter_object(self, obj, request, args, kwargs):
obj.voltage = ConfigItem('POWERFEED_DEFAULT_VOLTAGE')
obj.amperage = ConfigItem('POWERFEED_DEFAULT_AMPERAGE')
obj.max_utilization = ConfigItem('POWERFEED_DEFAULT_MAX_UTILIZATION')
return obj
class PowerFeedEditView(generic.ObjectEditView):
queryset = PowerFeed.objects.all()
form = forms.PowerFeedForm