From ffc29d14a82c5a0b375da944eb01c76eafddaec8 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 10 Mar 2022 15:08:23 -0500 Subject: [PATCH] Add tags field to NetBoxModelForm --- netbox/circuits/forms/models.py | 16 ---- netbox/dcim/forms/connections.py | 12 --- netbox/dcim/forms/models.py | 116 -------------------------- netbox/dcim/forms/object_create.py | 4 - netbox/ipam/forms/models.py | 61 -------------- netbox/netbox/forms/base.py | 4 + netbox/tenancy/forms/models.py | 20 ----- netbox/virtualization/forms/models.py | 20 ----- netbox/wireless/forms/models.py | 12 --- 9 files changed, 4 insertions(+), 261 deletions(-) diff --git a/netbox/circuits/forms/models.py b/netbox/circuits/forms/models.py index 869fe03c6..c7d7f8438 100644 --- a/netbox/circuits/forms/models.py +++ b/netbox/circuits/forms/models.py @@ -22,10 +22,6 @@ __all__ = ( class ProviderForm(NetBoxModelForm): slug = SlugField() comments = CommentField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('Provider', ('name', 'slug', 'asn', 'tags')), @@ -59,10 +55,6 @@ class ProviderNetworkForm(NetBoxModelForm): queryset=Provider.objects.all() ) comments = CommentField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('Provider Network', ('provider', 'name', 'service_id', 'description', 'tags')), @@ -77,10 +69,6 @@ class ProviderNetworkForm(NetBoxModelForm): class CircuitTypeForm(NetBoxModelForm): slug = SlugField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = CircuitType @@ -97,10 +85,6 @@ class CircuitForm(TenancyForm, NetBoxModelForm): queryset=CircuitType.objects.all() ) comments = CommentField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('Circuit', ('provider', 'cid', 'type', 'status', 'install_date', 'commit_rate', 'description', 'tags')), diff --git a/netbox/dcim/forms/connections.py b/netbox/dcim/forms/connections.py index 7ae6a898a..1ba7adf84 100644 --- a/netbox/dcim/forms/connections.py +++ b/netbox/dcim/forms/connections.py @@ -70,10 +70,6 @@ class ConnectCableToDeviceForm(TenancyForm, NetBoxModelForm): 'rack_id': '$termination_b_rack', } ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = Cable @@ -212,10 +208,6 @@ class ConnectCableToCircuitTerminationForm(TenancyForm, NetBoxModelForm): 'circuit_id': '$termination_b_circuit' } ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta(ConnectCableToDeviceForm.Meta): fields = [ @@ -274,10 +266,6 @@ class ConnectCableToPowerFeedForm(TenancyForm, NetBoxModelForm): 'power_panel_id': '$termination_b_powerpanel' } ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta(ConnectCableToDeviceForm.Meta): fields = [ diff --git a/netbox/dcim/forms/models.py b/netbox/dcim/forms/models.py index d5704e6c5..4bebe88a0 100644 --- a/netbox/dcim/forms/models.py +++ b/netbox/dcim/forms/models.py @@ -78,10 +78,6 @@ class RegionForm(NetBoxModelForm): required=False ) slug = SlugField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = Region @@ -96,10 +92,6 @@ class SiteGroupForm(NetBoxModelForm): required=False ) slug = SlugField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = SiteGroup @@ -129,10 +121,6 @@ class SiteForm(TenancyForm, NetBoxModelForm): widget=StaticSelect() ) comments = CommentField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('Site', ( @@ -204,10 +192,6 @@ class LocationForm(TenancyForm, NetBoxModelForm): } ) slug = SlugField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('Location', ( @@ -225,10 +209,6 @@ class LocationForm(TenancyForm, NetBoxModelForm): class RackRoleForm(NetBoxModelForm): slug = SlugField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = RackRole @@ -271,10 +251,6 @@ class RackForm(TenancyForm, NetBoxModelForm): required=False ) comments = CommentField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = Rack @@ -344,10 +320,6 @@ class RackReservationForm(TenancyForm, NetBoxModelForm): ), widget=StaticSelect() ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('Reservation', ('region', 'site', 'location', 'rack', 'units', 'user', 'description', 'tags')), @@ -364,10 +336,6 @@ class RackReservationForm(TenancyForm, NetBoxModelForm): class ManufacturerForm(NetBoxModelForm): slug = SlugField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = Manufacturer @@ -384,10 +352,6 @@ class DeviceTypeForm(NetBoxModelForm): slug_source='model' ) comments = CommentField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('Device Type', ( @@ -421,10 +385,6 @@ class ModuleTypeForm(NetBoxModelForm): queryset=Manufacturer.objects.all() ) comments = CommentField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = ModuleType @@ -435,10 +395,6 @@ class ModuleTypeForm(NetBoxModelForm): class DeviceRoleForm(NetBoxModelForm): slug = SlugField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = DeviceRole @@ -455,10 +411,6 @@ class PlatformForm(NetBoxModelForm): slug = SlugField( max_length=64 ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = Platform @@ -564,10 +516,6 @@ class DeviceForm(TenancyForm, NetBoxModelForm): required=False, label='' ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = Device @@ -679,10 +627,6 @@ class ModuleForm(NetBoxModelForm): } ) comments = CommentField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) replicate_components = forms.BooleanField( required=False, initial=True, @@ -713,10 +657,6 @@ class ModuleForm(NetBoxModelForm): class CableForm(TenancyForm, NetBoxModelForm): - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = Cable @@ -764,10 +704,6 @@ class PowerPanelForm(NetBoxModelForm): 'site_id': '$site' } ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('Power Panel', ('region', 'site_group', 'site', 'location', 'name', 'tags')), @@ -820,10 +756,6 @@ class PowerFeedForm(NetBoxModelForm): } ) comments = CommentField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('Power Panel', ('region', 'site', 'power_panel')), @@ -854,10 +786,6 @@ class VirtualChassisForm(NetBoxModelForm): queryset=Device.objects.all(), required=False, ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = VirtualChassis @@ -1155,10 +1083,6 @@ class ConsolePortForm(NetBoxModelForm): 'device_id': '$device', } ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = ConsolePort @@ -1180,10 +1104,6 @@ class ConsoleServerPortForm(NetBoxModelForm): 'device_id': '$device', } ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = ConsoleServerPort @@ -1205,10 +1125,6 @@ class PowerPortForm(NetBoxModelForm): 'device_id': '$device', } ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = PowerPort @@ -1238,10 +1154,6 @@ class PowerOutletForm(NetBoxModelForm): 'device_id': '$device', } ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = PowerOutlet @@ -1330,10 +1242,6 @@ class InterfaceForm(InterfaceCommonForm, NetBoxModelForm): required=False, label='VRF' ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('Interface', ('device', 'module', 'name', 'type', 'speed', 'duplex', 'label', 'description', 'tags')), @@ -1387,10 +1295,6 @@ class FrontPortForm(NetBoxModelForm): 'device_id': '$device', } ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = FrontPort @@ -1412,10 +1316,6 @@ class RearPortForm(NetBoxModelForm): 'device_id': '$device', } ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = RearPort @@ -1429,10 +1329,6 @@ class RearPortForm(NetBoxModelForm): class ModuleBayForm(NetBoxModelForm): - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = ModuleBay @@ -1445,10 +1341,6 @@ class ModuleBayForm(NetBoxModelForm): class DeviceBayForm(NetBoxModelForm): - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = DeviceBay @@ -1506,10 +1398,6 @@ class InventoryItemForm(NetBoxModelForm): required=False, widget=forms.HiddenInput ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('Inventory Item', ('device', 'parent', 'name', 'label', 'role', 'description', 'tags')), @@ -1533,10 +1421,6 @@ class InventoryItemForm(NetBoxModelForm): class InventoryItemRoleForm(NetBoxModelForm): slug = SlugField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = InventoryItemRole diff --git a/netbox/dcim/forms/object_create.py b/netbox/dcim/forms/object_create.py index a13548d81..8618a3b9d 100644 --- a/netbox/dcim/forms/object_create.py +++ b/netbox/dcim/forms/object_create.py @@ -243,10 +243,6 @@ class VirtualChassisCreateForm(NetBoxModelForm): required=False, help_text='Position of the first member device. Increases by one for each additional member.' ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = VirtualChassis diff --git a/netbox/ipam/forms/models.py b/netbox/ipam/forms/models.py index 68016a0e5..aa9d7a283 100644 --- a/netbox/ipam/forms/models.py +++ b/netbox/ipam/forms/models.py @@ -48,10 +48,6 @@ class VRFForm(TenancyForm, NetBoxModelForm): queryset=RouteTarget.objects.all(), required=False ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('VRF', ('name', 'rd', 'enforce_unique', 'description', 'tags')), @@ -74,11 +70,6 @@ class VRFForm(TenancyForm, NetBoxModelForm): class RouteTargetForm(TenancyForm, NetBoxModelForm): - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) - fieldsets = ( ('Route Target', ('name', 'description', 'tags')), ('Tenancy', ('tenant_group', 'tenant')), @@ -93,10 +84,6 @@ class RouteTargetForm(TenancyForm, NetBoxModelForm): class RIRForm(NetBoxModelForm): slug = SlugField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = RIR @@ -110,10 +97,6 @@ class AggregateForm(TenancyForm, NetBoxModelForm): queryset=RIR.objects.all(), label='RIR' ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('Aggregate', ('prefix', 'rir', 'date_added', 'description', 'tags')), @@ -144,10 +127,6 @@ class ASNForm(TenancyForm, NetBoxModelForm): label='Sites', required=False ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('ASN', ('asn', 'rir', 'sites', 'description', 'tags')), @@ -181,10 +160,6 @@ class ASNForm(TenancyForm, NetBoxModelForm): class RoleForm(NetBoxModelForm): slug = SlugField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = Role @@ -247,10 +222,6 @@ class PrefixForm(TenancyForm, NetBoxModelForm): queryset=Role.objects.all(), required=False ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('Prefix', ('prefix', 'status', 'vrf', 'role', 'is_pool', 'mark_utilized', 'description', 'tags')), @@ -279,10 +250,6 @@ class IPRangeForm(TenancyForm, NetBoxModelForm): queryset=Role.objects.all(), required=False ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('IP Range', ('vrf', 'start_address', 'end_address', 'role', 'status', 'description', 'tags')), @@ -414,10 +381,6 @@ class IPAddressForm(TenancyForm, NetBoxModelForm): required=False, label='Make this the primary IP for the device/VM' ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = IPAddress @@ -518,10 +481,6 @@ class IPAddressBulkAddForm(TenancyForm, NetBoxModelForm): required=False, label='VRF' ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = IPAddress @@ -547,10 +506,6 @@ class IPAddressAssignForm(BootstrapMixin, forms.Form): class FHRPGroupForm(NetBoxModelForm): - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) # Optionally create a new IPAddress along with the FHRPGroup ip_vrf = DynamicModelChoiceField( @@ -701,10 +656,6 @@ class VLANGroupForm(NetBoxModelForm): } ) slug = SlugField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('VLAN Group', ('name', 'slug', 'description', 'tags')), @@ -802,10 +753,6 @@ class VLANForm(TenancyForm, NetBoxModelForm): queryset=Role.objects.all(), required=False ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = VLAN @@ -833,10 +780,6 @@ class ServiceTemplateForm(NetBoxModelForm): ), help_text="Comma-separated list of one or more port numbers. A range may be specified using a hyphen." ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = ServiceTemplate @@ -871,10 +814,6 @@ class ServiceForm(NetBoxModelForm): 'virtual_machine_id': '$virtual_machine', } ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = Service diff --git a/netbox/netbox/forms/base.py b/netbox/netbox/forms/base.py index 0666fbe58..c842c6c06 100644 --- a/netbox/netbox/forms/base.py +++ b/netbox/netbox/forms/base.py @@ -25,6 +25,10 @@ class NetBoxModelForm(BootstrapMixin, CustomFieldsMixin, forms.ModelForm): the rendered form (optional). If not defined, the all fields will be rendered as a single section. """ fieldsets = () + tags = DynamicModelMultipleChoiceField( + queryset=Tag.objects.all(), + required=False + ) def _get_content_type(self): return ContentType.objects.get_for_model(self._meta.model) diff --git a/netbox/tenancy/forms/models.py b/netbox/tenancy/forms/models.py index 5fe299cad..35b631d43 100644 --- a/netbox/tenancy/forms/models.py +++ b/netbox/tenancy/forms/models.py @@ -28,10 +28,6 @@ class TenantGroupForm(NetBoxModelForm): required=False ) slug = SlugField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = TenantGroup @@ -47,10 +43,6 @@ class TenantForm(NetBoxModelForm): required=False ) comments = CommentField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('Tenant', ('name', 'slug', 'group', 'description', 'tags')), @@ -73,10 +65,6 @@ class ContactGroupForm(NetBoxModelForm): required=False ) slug = SlugField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = ContactGroup @@ -85,10 +73,6 @@ class ContactGroupForm(NetBoxModelForm): class ContactRoleForm(NetBoxModelForm): slug = SlugField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = ContactRole @@ -101,10 +85,6 @@ class ContactForm(NetBoxModelForm): required=False ) comments = CommentField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('Contact', ('group', 'name', 'title', 'phone', 'email', 'address', 'tags')), diff --git a/netbox/virtualization/forms/models.py b/netbox/virtualization/forms/models.py index e488ac23a..314b0bddf 100644 --- a/netbox/virtualization/forms/models.py +++ b/netbox/virtualization/forms/models.py @@ -28,10 +28,6 @@ __all__ = ( class ClusterTypeForm(NetBoxModelForm): slug = SlugField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = ClusterType @@ -42,10 +38,6 @@ class ClusterTypeForm(NetBoxModelForm): class ClusterGroupForm(NetBoxModelForm): slug = SlugField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = ClusterGroup @@ -85,10 +77,6 @@ class ClusterForm(TenancyForm, NetBoxModelForm): } ) comments = CommentField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('Cluster', ('name', 'type', 'group', 'region', 'site_group', 'site', 'tags')), @@ -202,10 +190,6 @@ class VirtualMachineForm(TenancyForm, NetBoxModelForm): required=False, label='' ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('Virtual Machine', ('name', 'role', 'status', 'tags')), @@ -318,10 +302,6 @@ class VMInterfaceForm(InterfaceCommonForm, NetBoxModelForm): required=False, label='VRF' ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = VMInterface diff --git a/netbox/wireless/forms/models.py b/netbox/wireless/forms/models.py index 2ed4a5766..64c9e96ef 100644 --- a/netbox/wireless/forms/models.py +++ b/netbox/wireless/forms/models.py @@ -18,10 +18,6 @@ class WirelessLANGroupForm(NetBoxModelForm): required=False ) slug = SlugField() - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) class Meta: model = WirelessLANGroup @@ -40,10 +36,6 @@ class WirelessLANForm(NetBoxModelForm): required=False, label='VLAN' ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('Wireless LAN', ('ssid', 'group', 'description', 'tags')), @@ -137,10 +129,6 @@ class WirelessLinkForm(NetBoxModelForm): disabled_indicator='_occupied', label='Interface' ) - tags = DynamicModelMultipleChoiceField( - queryset=Tag.objects.all(), - required=False - ) fieldsets = ( ('Side A', ('site_a', 'location_a', 'device_a', 'interface_a')),