Просмотр исходного кода

Fixes #8978: Fix instantiation of front ports when provisioning a module

jeremystretch 3 лет назад
Родитель
Сommit
7a54658710

+ 1 - 0
docs/release-notes/version-3.2.md

@@ -155,6 +155,7 @@ Where it is desired to limit the range of available VLANs within a group, users
 * [#8872](https://github.com/netbox-community/netbox/issues/8872) - Enable filtering by custom object fields
 * [#8970](https://github.com/netbox-community/netbox/issues/8970) - Permit nested inventory item templates on device types
 * [#8976](https://github.com/netbox-community/netbox/issues/8976) - Add missing `object_type` field on CustomField REST API serializer
+* [#8978](https://github.com/netbox-community/netbox/issues/8978) - Fix instantiation of front ports when provisioning a module
 
 ### Other Changes
 

+ 4 - 2
netbox/dcim/models/device_component_templates.py

@@ -280,7 +280,8 @@ class PowerOutletTemplate(ModularComponentTemplateModel):
 
     def instantiate(self, **kwargs):
         if self.power_port:
-            power_port = PowerPort.objects.get(name=self.power_port.name, **kwargs)
+            power_port_name = self.power_port.resolve_name(kwargs.get('module'))
+            power_port = PowerPort.objects.get(name=power_port_name, **kwargs)
         else:
             power_port = None
         return self.component_model(
@@ -390,7 +391,8 @@ class FrontPortTemplate(ModularComponentTemplateModel):
 
     def instantiate(self, **kwargs):
         if self.rear_port:
-            rear_port = RearPort.objects.get(name=self.rear_port.name, **kwargs)
+            rear_port_name = self.rear_port.resolve_name(kwargs.get('module'))
+            rear_port = RearPort.objects.get(name=rear_port_name, **kwargs)
         else:
             rear_port = None
         return self.component_model(