From c7ce3ac0467866b2ec11ac317b638dec05b5bdfc Mon Sep 17 00:00:00 2001 From: pl0xym0r <148605740+pl0xym0r@users.noreply.github.com> Date: Sat, 2 Nov 2024 04:49:18 +0000 Subject: [PATCH 1/2] 17871 add cluster on bulkedit device --- netbox/dcim/forms/bulk_edit.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/netbox/dcim/forms/bulk_edit.py b/netbox/dcim/forms/bulk_edit.py index 96036f4da1e..59bec81909d 100644 --- a/netbox/dcim/forms/bulk_edit.py +++ b/netbox/dcim/forms/bulk_edit.py @@ -6,6 +6,7 @@ from dcim.choices import * from dcim.constants import * from dcim.models import * +from virtualization.models import Cluster from extras.models import ConfigTemplate from ipam.models import ASN, VLAN, VLANGroup, VRF from netbox.forms import NetBoxModelBulkEditForm @@ -721,6 +722,14 @@ class DeviceBulkEditForm(NetBoxModelBulkEditForm): queryset=ConfigTemplate.objects.all(), required=False ) + cluster = DynamicModelChoiceField( + label=_('Cluster'), + queryset=Cluster.objects.all(), + required=False, + query_params={ + 'site_id': ['$site', 'null'] + }, + ) comments = CommentField() model = Device @@ -729,6 +738,7 @@ class DeviceBulkEditForm(NetBoxModelBulkEditForm): FieldSet('site', 'location', name=_('Location')), FieldSet('manufacturer', 'device_type', 'airflow', 'serial', name=_('Hardware')), FieldSet('config_template', name=_('Configuration')), + FieldSet('cluster', name=_('Virtualization')), ) nullable_fields = ( 'location', 'tenant', 'platform', 'serial', 'airflow', 'description', 'comments', From 56b44159b43253f123c9d984110ffb59562d14a1 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 7 Nov 2024 09:05:34 -0500 Subject: [PATCH 2/2] Make cluster assignment nullable; reorder imports --- netbox/dcim/forms/bulk_edit.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/netbox/dcim/forms/bulk_edit.py b/netbox/dcim/forms/bulk_edit.py index 59bec81909d..95ac0b96a15 100644 --- a/netbox/dcim/forms/bulk_edit.py +++ b/netbox/dcim/forms/bulk_edit.py @@ -6,7 +6,6 @@ from dcim.choices import * from dcim.constants import * from dcim.models import * -from virtualization.models import Cluster from extras.models import ConfigTemplate from ipam.models import ASN, VLAN, VLANGroup, VRF from netbox.forms import NetBoxModelBulkEditForm @@ -16,8 +15,9 @@ from utilities.forms.fields import ColorField, CommentField, DynamicModelChoiceField, DynamicModelMultipleChoiceField from utilities.forms.rendering import FieldSet, InlineFields from utilities.forms.widgets import BulkEditNullBooleanSelect, NumberWithOptions -from wireless.models import WirelessLAN, WirelessLANGroup +from virtualization.models import Cluster from wireless.choices import WirelessRoleChoices +from wireless.models import WirelessLAN, WirelessLANGroup __all__ = ( 'CableBulkEditForm', @@ -741,7 +741,7 @@ class DeviceBulkEditForm(NetBoxModelBulkEditForm): FieldSet('cluster', name=_('Virtualization')), ) nullable_fields = ( - 'location', 'tenant', 'platform', 'serial', 'airflow', 'description', 'comments', + 'location', 'tenant', 'platform', 'serial', 'airflow', 'description', 'cluster', 'comments', )