diff --git a/docs/release-notes/version-2.11.md b/docs/release-notes/version-2.11.md index 711b6f4b1..162bbaf13 100644 --- a/docs/release-notes/version-2.11.md +++ b/docs/release-notes/version-2.11.md @@ -10,6 +10,7 @@ * [#6740](https://github.com/netbox-community/netbox/issues/6740) - Add import button to VM interfaces list * [#6892](https://github.com/netbox-community/netbox/issues/6892) - Fix validation of unit ranges when creating a rack reservation +* [#6902](https://github.com/netbox-community/netbox/issues/6902) - Populate device field when cloning device components --- diff --git a/netbox/dcim/models/device_components.py b/netbox/dcim/models/device_components.py index 6ac0d7753..6b67ad302 100644 --- a/netbox/dcim/models/device_components.py +++ b/netbox/dcim/models/device_components.py @@ -230,6 +230,7 @@ class ConsolePort(ComponentModel, CableTermination, PathEndpoint): ) csv_headers = ['device', 'name', 'label', 'type', 'speed', 'mark_connected', 'description'] + clone_fields = ['device', 'type', 'speed'] class Meta: ordering = ('device', '_name') @@ -273,6 +274,7 @@ class ConsoleServerPort(ComponentModel, CableTermination, PathEndpoint): ) csv_headers = ['device', 'name', 'label', 'type', 'speed', 'mark_connected', 'description'] + clone_fields = ['device', 'type', 'speed'] class Meta: ordering = ('device', '_name') @@ -324,6 +326,7 @@ class PowerPort(ComponentModel, CableTermination, PathEndpoint): csv_headers = [ 'device', 'name', 'label', 'type', 'mark_connected', 'maximum_draw', 'allocated_draw', 'description', ] + clone_fields = ['device', 'maximum_draw', 'allocated_draw'] class Meta: ordering = ('device', '_name') @@ -434,6 +437,7 @@ class PowerOutlet(ComponentModel, CableTermination, PathEndpoint): ) csv_headers = ['device', 'name', 'label', 'type', 'mark_connected', 'power_port', 'feed_leg', 'description'] + clone_fields = ['device', 'type', 'power_port', 'feed_leg'] class Meta: ordering = ('device', '_name') @@ -577,6 +581,7 @@ class Interface(ComponentModel, BaseInterface, CableTermination, PathEndpoint): 'device', 'name', 'label', 'parent', 'lag', 'type', 'enabled', 'mark_connected', 'mac_address', 'mtu', 'mgmt_only', 'description', 'mode', ] + clone_fields = ['device', 'parent', 'lag', 'type', 'mgmt_only'] class Meta: ordering = ('device', CollateAsChar('_name')) @@ -711,6 +716,7 @@ class FrontPort(ComponentModel, CableTermination): csv_headers = [ 'device', 'name', 'label', 'type', 'mark_connected', 'rear_port', 'rear_port_position', 'description', ] + clone_fields = ['device', 'type'] class Meta: ordering = ('device', '_name') @@ -767,6 +773,7 @@ class RearPort(ComponentModel, CableTermination): MaxValueValidator(REARPORT_POSITIONS_MAX) ] ) + clone_fields = ['device', 'type', 'positions'] csv_headers = ['device', 'name', 'label', 'type', 'mark_connected', 'positions', 'description'] @@ -818,6 +825,7 @@ class DeviceBay(ComponentModel): ) csv_headers = ['device', 'name', 'label', 'installed_device', 'description'] + clone_fields = ['device'] class Meta: ordering = ('device', '_name') @@ -913,6 +921,7 @@ class InventoryItem(MPTTModel, ComponentModel): csv_headers = [ 'device', 'name', 'label', 'manufacturer', 'part_id', 'serial', 'asset_tag', 'discovered', 'description', ] + clone_fields = ['device', 'parent', 'manufacturer', 'part_id'] class Meta: ordering = ('device__id', 'parent__id', '_name')