1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Add tags field to NetBoxModelForm

This commit is contained in:
jeremystretch
2022-03-10 15:08:23 -05:00
parent 7cffa6ebcc
commit ffc29d14a8
9 changed files with 4 additions and 261 deletions

View File

@ -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')),

View File

@ -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 = [

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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')),

View File

@ -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

View File

@ -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')),