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:
@ -6,6 +6,7 @@ from django.urls import reverse
|
|||||||
|
|
||||||
from dcim.choices import *
|
from dcim.choices import *
|
||||||
from dcim.constants import *
|
from dcim.constants import *
|
||||||
|
from netbox.config import ConfigItem
|
||||||
from netbox.models import NetBoxModel
|
from netbox.models import NetBoxModel
|
||||||
from utilities.validators import ExclusionValidator
|
from utilities.validators import ExclusionValidator
|
||||||
from .device_components import LinkTermination, PathEndpoint
|
from .device_components import LinkTermination, PathEndpoint
|
||||||
@ -105,16 +106,16 @@ class PowerFeed(NetBoxModel, PathEndpoint, LinkTermination):
|
|||||||
default=PowerFeedPhaseChoices.PHASE_SINGLE
|
default=PowerFeedPhaseChoices.PHASE_SINGLE
|
||||||
)
|
)
|
||||||
voltage = models.SmallIntegerField(
|
voltage = models.SmallIntegerField(
|
||||||
default=POWERFEED_VOLTAGE_DEFAULT,
|
default=ConfigItem('POWERFEED_DEFAULT_VOLTAGE')
|
||||||
validators=[ExclusionValidator([0])]
|
validators=[ExclusionValidator([0])]
|
||||||
)
|
)
|
||||||
amperage = models.PositiveSmallIntegerField(
|
amperage = models.PositiveSmallIntegerField(
|
||||||
validators=[MinValueValidator(1)],
|
validators=[MinValueValidator(1)],
|
||||||
default=POWERFEED_AMPERAGE_DEFAULT
|
default=ConfigItem('POWERFEED_DEFAULT_AMPERAGE')
|
||||||
)
|
)
|
||||||
max_utilization = models.PositiveSmallIntegerField(
|
max_utilization = models.PositiveSmallIntegerField(
|
||||||
validators=[MinValueValidator(1), MaxValueValidator(100)],
|
validators=[MinValueValidator(1), MaxValueValidator(100)],
|
||||||
default=POWERFEED_MAX_UTILIZATION_DEFAULT,
|
default=ConfigItem('POWERFEED_DEFAULT_MAX_UTILIZATION')
|
||||||
help_text="Maximum permissible draw (percentage)"
|
help_text="Maximum permissible draw (percentage)"
|
||||||
)
|
)
|
||||||
available_power = models.PositiveIntegerField(
|
available_power = models.PositiveIntegerField(
|
||||||
|
@ -489,7 +489,7 @@ urlpatterns = [
|
|||||||
|
|
||||||
# Power feeds
|
# Power feeds
|
||||||
path('power-feeds/', views.PowerFeedListView.as_view(), name='powerfeed_list'),
|
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/import/', views.PowerFeedBulkImportView.as_view(), name='powerfeed_import'),
|
||||||
path('power-feeds/edit/', views.PowerFeedBulkEditView.as_view(), name='powerfeed_bulk_edit'),
|
path('power-feeds/edit/', views.PowerFeedBulkEditView.as_view(), name='powerfeed_bulk_edit'),
|
||||||
path('power-feeds/disconnect/', views.PowerFeedBulkDisconnectView.as_view(), name='powerfeed_bulk_disconnect'),
|
path('power-feeds/disconnect/', views.PowerFeedBulkDisconnectView.as_view(), name='powerfeed_bulk_disconnect'),
|
||||||
|
@ -16,7 +16,6 @@ from circuits.models import Circuit
|
|||||||
from extras.views import ObjectConfigContextView
|
from extras.views import ObjectConfigContextView
|
||||||
from ipam.models import ASN, IPAddress, Prefix, Service, VLAN, VLANGroup
|
from ipam.models import ASN, IPAddress, Prefix, Service, VLAN, VLANGroup
|
||||||
from ipam.tables import AssignedIPAddressesTable, InterfaceVLANTable
|
from ipam.tables import AssignedIPAddressesTable, InterfaceVLANTable
|
||||||
from netbox.config import ConfigItem
|
|
||||||
from netbox.views import generic
|
from netbox.views import generic
|
||||||
from utilities.forms import ConfirmationForm
|
from utilities.forms import ConfirmationForm
|
||||||
from utilities.paginator import EnhancedPaginator, get_paginate_count
|
from utilities.paginator import EnhancedPaginator, get_paginate_count
|
||||||
@ -3254,17 +3253,6 @@ class PowerFeedView(generic.ObjectView):
|
|||||||
queryset = PowerFeed.objects.prefetch_related('power_panel', 'rack')
|
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):
|
class PowerFeedEditView(generic.ObjectEditView):
|
||||||
queryset = PowerFeed.objects.all()
|
queryset = PowerFeed.objects.all()
|
||||||
form = forms.PowerFeedForm
|
form = forms.PowerFeedForm
|
||||||
|
Reference in New Issue
Block a user