Explorar el Código

Closes #7702: Add power feed defaults to user configurations

Hunter Johnston hace 3 años
padre
commit
db807ab4a6
Se han modificado 3 ficheros con 5 adiciones y 16 borrados
  1. 4 3
      netbox/dcim/models/power.py
  2. 1 1
      netbox/dcim/urls.py
  3. 0 12
      netbox/dcim/views.py

+ 4 - 3
netbox/dcim/models/power.py

@@ -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(

+ 1 - 1
netbox/dcim/urls.py

@@ -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'),

+ 0 - 12
netbox/dcim/views.py

@@ -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