Răsfoiți Sursa

Add tags field to NetBoxModelForm

jeremystretch 3 ani în urmă
părinte
comite
ffc29d14a8

+ 0 - 16
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')),

+ 0 - 12
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 = [

+ 0 - 116
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

+ 0 - 4
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

+ 0 - 61
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

+ 4 - 0
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)

+ 0 - 20
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')),

+ 0 - 20
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

+ 0 - 12
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')),