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

Establish 4 core forms in netbox.forms.base

This commit is contained in:
jeremystretch
2022-01-28 15:48:15 -05:00
parent 0fe72376b1
commit f4776731ec
32 changed files with 380 additions and 366 deletions

View File

@@ -6,8 +6,8 @@ from timezone_field import TimeZoneFormField
from dcim.choices import *
from dcim.constants import *
from dcim.models import *
from extras.forms import AddRemoveTagsForm, CustomFieldModelBulkEditForm
from ipam.models import ASN, VLAN, VRF
from netbox.forms import NetBoxModelBulkEditForm
from tenancy.models import Tenant
from utilities.forms import (
add_blank_choice, BulkEditForm, BulkEditNullBooleanSelect, ColorField, CommentField, DynamicModelChoiceField,
@@ -57,7 +57,7 @@ __all__ = (
)
class RegionBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
class RegionBulkEditForm(NetBoxModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=Region.objects.all(),
widget=forms.MultipleHiddenInput
@@ -75,7 +75,7 @@ class RegionBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
nullable_fields = ['parent', 'description']
class SiteGroupBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
class SiteGroupBulkEditForm(NetBoxModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=SiteGroup.objects.all(),
widget=forms.MultipleHiddenInput
@@ -93,7 +93,7 @@ class SiteGroupBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
nullable_fields = ['parent', 'description']
class SiteBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
class SiteBulkEditForm(NetBoxModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=Site.objects.all(),
widget=forms.MultipleHiddenInput
@@ -137,7 +137,7 @@ class SiteBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
]
class LocationBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
class LocationBulkEditForm(NetBoxModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=Location.objects.all(),
widget=forms.MultipleHiddenInput
@@ -166,7 +166,7 @@ class LocationBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
nullable_fields = ['parent', 'tenant', 'description']
class RackRoleBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
class RackRoleBulkEditForm(NetBoxModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=RackRole.objects.all(),
widget=forms.MultipleHiddenInput
@@ -183,7 +183,7 @@ class RackRoleBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
nullable_fields = ['color', 'description']
class RackBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
class RackBulkEditForm(NetBoxModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=Rack.objects.all(),
widget=forms.MultipleHiddenInput
@@ -283,7 +283,7 @@ class RackBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
]
class RackReservationBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
class RackReservationBulkEditForm(NetBoxModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=RackReservation.objects.all(),
widget=forms.MultipleHiddenInput()
@@ -308,7 +308,7 @@ class RackReservationBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditFor
nullable_fields = []
class ManufacturerBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
class ManufacturerBulkEditForm(NetBoxModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=Manufacturer.objects.all(),
widget=forms.MultipleHiddenInput
@@ -322,7 +322,7 @@ class ManufacturerBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
nullable_fields = ['description']
class DeviceTypeBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
class DeviceTypeBulkEditForm(NetBoxModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=DeviceType.objects.all(),
widget=forms.MultipleHiddenInput()
@@ -353,7 +353,7 @@ class DeviceTypeBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
nullable_fields = ['part_number', 'airflow']
class ModuleTypeBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
class ModuleTypeBulkEditForm(NetBoxModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=ModuleType.objects.all(),
widget=forms.MultipleHiddenInput()
@@ -370,7 +370,7 @@ class ModuleTypeBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
nullable_fields = ['part_number']
class DeviceRoleBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
class DeviceRoleBulkEditForm(NetBoxModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=DeviceRole.objects.all(),
widget=forms.MultipleHiddenInput
@@ -392,7 +392,7 @@ class DeviceRoleBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
nullable_fields = ['color', 'description']
class PlatformBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
class PlatformBulkEditForm(NetBoxModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=Platform.objects.all(),
widget=forms.MultipleHiddenInput
@@ -415,7 +415,7 @@ class PlatformBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
nullable_fields = ['manufacturer', 'napalm_driver', 'description']
class DeviceBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
class DeviceBulkEditForm(NetBoxModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=Device.objects.all(),
widget=forms.MultipleHiddenInput()
@@ -476,7 +476,7 @@ class DeviceBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
]
class ModuleBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
class ModuleBulkEditForm(NetBoxModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=Module.objects.all(),
widget=forms.MultipleHiddenInput()
@@ -502,7 +502,7 @@ class ModuleBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
nullable_fields = ['serial']
class CableBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
class CableBulkEditForm(NetBoxModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=Cable.objects.all(),
widget=forms.MultipleHiddenInput
@@ -558,7 +558,7 @@ class CableBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
})
class VirtualChassisBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
class VirtualChassisBulkEditForm(NetBoxModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=VirtualChassis.objects.all(),
widget=forms.MultipleHiddenInput()
@@ -572,7 +572,7 @@ class VirtualChassisBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm
nullable_fields = ['domain']
class PowerPanelBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
class PowerPanelBulkEditForm(NetBoxModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=PowerPanel.objects.all(),
widget=forms.MultipleHiddenInput
@@ -611,7 +611,7 @@ class PowerPanelBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
nullable_fields = ['location']
class PowerFeedBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
class PowerFeedBulkEditForm(NetBoxModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=PowerFeed.objects.all(),
widget=forms.MultipleHiddenInput
@@ -939,8 +939,7 @@ class InventoryItemTemplateBulkEditForm(BulkEditForm):
class ConsolePortBulkEditForm(
form_from_model(ConsolePort, ['label', 'type', 'speed', 'mark_connected', 'description']),
AddRemoveTagsForm,
CustomFieldModelBulkEditForm
NetBoxModelBulkEditForm
):
pk = forms.ModelMultipleChoiceField(
queryset=ConsolePort.objects.all(),
@@ -957,8 +956,7 @@ class ConsolePortBulkEditForm(
class ConsoleServerPortBulkEditForm(
form_from_model(ConsoleServerPort, ['label', 'type', 'speed', 'mark_connected', 'description']),
AddRemoveTagsForm,
CustomFieldModelBulkEditForm
NetBoxModelBulkEditForm
):
pk = forms.ModelMultipleChoiceField(
queryset=ConsoleServerPort.objects.all(),
@@ -975,8 +973,7 @@ class ConsoleServerPortBulkEditForm(
class PowerPortBulkEditForm(
form_from_model(PowerPort, ['label', 'type', 'maximum_draw', 'allocated_draw', 'mark_connected', 'description']),
AddRemoveTagsForm,
CustomFieldModelBulkEditForm
NetBoxModelBulkEditForm
):
pk = forms.ModelMultipleChoiceField(
queryset=PowerPort.objects.all(),
@@ -993,8 +990,7 @@ class PowerPortBulkEditForm(
class PowerOutletBulkEditForm(
form_from_model(PowerOutlet, ['label', 'type', 'feed_leg', 'power_port', 'mark_connected', 'description']),
AddRemoveTagsForm,
CustomFieldModelBulkEditForm
NetBoxModelBulkEditForm
):
pk = forms.ModelMultipleChoiceField(
queryset=PowerOutlet.objects.all(),
@@ -1031,8 +1027,7 @@ class InterfaceBulkEditForm(
'label', 'type', 'parent', 'bridge', 'lag', 'speed', 'duplex', 'mac_address', 'wwn', 'mtu', 'mgmt_only', 'mark_connected',
'description', 'mode', 'rf_role', 'rf_channel', 'rf_channel_frequency', 'rf_channel_width', 'tx_power',
]),
AddRemoveTagsForm,
CustomFieldModelBulkEditForm
NetBoxModelBulkEditForm
):
pk = forms.ModelMultipleChoiceField(
queryset=Interface.objects.all(),
@@ -1154,8 +1149,7 @@ class InterfaceBulkEditForm(
class FrontPortBulkEditForm(
form_from_model(FrontPort, ['label', 'type', 'color', 'mark_connected', 'description']),
AddRemoveTagsForm,
CustomFieldModelBulkEditForm
NetBoxModelBulkEditForm
):
pk = forms.ModelMultipleChoiceField(
queryset=FrontPort.objects.all(),
@@ -1168,8 +1162,7 @@ class FrontPortBulkEditForm(
class RearPortBulkEditForm(
form_from_model(RearPort, ['label', 'type', 'color', 'mark_connected', 'description']),
AddRemoveTagsForm,
CustomFieldModelBulkEditForm
NetBoxModelBulkEditForm
):
pk = forms.ModelMultipleChoiceField(
queryset=RearPort.objects.all(),
@@ -1182,8 +1175,7 @@ class RearPortBulkEditForm(
class ModuleBayBulkEditForm(
form_from_model(DeviceBay, ['label', 'description']),
AddRemoveTagsForm,
CustomFieldModelBulkEditForm
NetBoxModelBulkEditForm
):
pk = forms.ModelMultipleChoiceField(
queryset=ModuleBay.objects.all(),
@@ -1196,8 +1188,7 @@ class ModuleBayBulkEditForm(
class DeviceBayBulkEditForm(
form_from_model(DeviceBay, ['label', 'description']),
AddRemoveTagsForm,
CustomFieldModelBulkEditForm
NetBoxModelBulkEditForm
):
pk = forms.ModelMultipleChoiceField(
queryset=DeviceBay.objects.all(),
@@ -1210,8 +1201,7 @@ class DeviceBayBulkEditForm(
class InventoryItemBulkEditForm(
form_from_model(InventoryItem, ['label', 'role', 'manufacturer', 'part_id', 'description']),
AddRemoveTagsForm,
CustomFieldModelBulkEditForm
NetBoxModelBulkEditForm
):
pk = forms.ModelMultipleChoiceField(
queryset=InventoryItem.objects.all(),
@@ -1234,7 +1224,7 @@ class InventoryItemBulkEditForm(
# Device component roles
#
class InventoryItemRoleBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
class InventoryItemRoleBulkEditForm(NetBoxModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=InventoryItemRole.objects.all(),
widget=forms.MultipleHiddenInput

View File

@@ -7,8 +7,8 @@ from django.utils.safestring import mark_safe
from dcim.choices import *
from dcim.constants import *
from dcim.models import *
from extras.forms import CustomFieldModelCSVForm
from ipam.models import VRF
from netbox.forms import NetBoxModelCSVForm
from tenancy.models import Tenant
from utilities.forms import CSVChoiceField, CSVContentTypeField, CSVModelChoiceField, CSVTypedChoiceField, SlugField
from virtualization.models import Cluster
@@ -46,7 +46,7 @@ __all__ = (
)
class RegionCSVForm(CustomFieldModelCSVForm):
class RegionCSVForm(NetBoxModelCSVForm):
parent = CSVModelChoiceField(
queryset=Region.objects.all(),
required=False,
@@ -59,7 +59,7 @@ class RegionCSVForm(CustomFieldModelCSVForm):
fields = ('name', 'slug', 'parent', 'description')
class SiteGroupCSVForm(CustomFieldModelCSVForm):
class SiteGroupCSVForm(NetBoxModelCSVForm):
parent = CSVModelChoiceField(
queryset=SiteGroup.objects.all(),
required=False,
@@ -72,7 +72,7 @@ class SiteGroupCSVForm(CustomFieldModelCSVForm):
fields = ('name', 'slug', 'parent', 'description')
class SiteCSVForm(CustomFieldModelCSVForm):
class SiteCSVForm(NetBoxModelCSVForm):
status = CSVChoiceField(
choices=SiteStatusChoices,
help_text='Operational status'
@@ -109,7 +109,7 @@ class SiteCSVForm(CustomFieldModelCSVForm):
}
class LocationCSVForm(CustomFieldModelCSVForm):
class LocationCSVForm(NetBoxModelCSVForm):
site = CSVModelChoiceField(
queryset=Site.objects.all(),
to_field_name='name',
@@ -136,7 +136,7 @@ class LocationCSVForm(CustomFieldModelCSVForm):
fields = ('site', 'parent', 'name', 'slug', 'tenant', 'description')
class RackRoleCSVForm(CustomFieldModelCSVForm):
class RackRoleCSVForm(NetBoxModelCSVForm):
slug = SlugField()
class Meta:
@@ -147,7 +147,7 @@ class RackRoleCSVForm(CustomFieldModelCSVForm):
}
class RackCSVForm(CustomFieldModelCSVForm):
class RackCSVForm(NetBoxModelCSVForm):
site = CSVModelChoiceField(
queryset=Site.objects.all(),
to_field_name='name'
@@ -205,7 +205,7 @@ class RackCSVForm(CustomFieldModelCSVForm):
self.fields['location'].queryset = self.fields['location'].queryset.filter(**params)
class RackReservationCSVForm(CustomFieldModelCSVForm):
class RackReservationCSVForm(NetBoxModelCSVForm):
site = CSVModelChoiceField(
queryset=Site.objects.all(),
to_field_name='name',
@@ -255,14 +255,14 @@ class RackReservationCSVForm(CustomFieldModelCSVForm):
self.fields['rack'].queryset = self.fields['rack'].queryset.filter(**params)
class ManufacturerCSVForm(CustomFieldModelCSVForm):
class ManufacturerCSVForm(NetBoxModelCSVForm):
class Meta:
model = Manufacturer
fields = ('name', 'slug', 'description')
class DeviceRoleCSVForm(CustomFieldModelCSVForm):
class DeviceRoleCSVForm(NetBoxModelCSVForm):
slug = SlugField()
class Meta:
@@ -273,7 +273,7 @@ class DeviceRoleCSVForm(CustomFieldModelCSVForm):
}
class PlatformCSVForm(CustomFieldModelCSVForm):
class PlatformCSVForm(NetBoxModelCSVForm):
slug = SlugField()
manufacturer = CSVModelChoiceField(
queryset=Manufacturer.objects.all(),
@@ -287,7 +287,7 @@ class PlatformCSVForm(CustomFieldModelCSVForm):
fields = ('name', 'slug', 'manufacturer', 'napalm_driver', 'napalm_args', 'description')
class BaseDeviceCSVForm(CustomFieldModelCSVForm):
class BaseDeviceCSVForm(NetBoxModelCSVForm):
device_role = CSVModelChoiceField(
queryset=DeviceRole.objects.all(),
to_field_name='name',
@@ -403,7 +403,7 @@ class DeviceCSVForm(BaseDeviceCSVForm):
self.fields['rack'].queryset = self.fields['rack'].queryset.filter(**params)
class ModuleCSVForm(CustomFieldModelCSVForm):
class ModuleCSVForm(NetBoxModelCSVForm):
device = CSVModelChoiceField(
queryset=Device.objects.all(),
to_field_name='name'
@@ -478,7 +478,7 @@ class ChildDeviceCSVForm(BaseDeviceCSVForm):
# Device components
#
class ConsolePortCSVForm(CustomFieldModelCSVForm):
class ConsolePortCSVForm(NetBoxModelCSVForm):
device = CSVModelChoiceField(
queryset=Device.objects.all(),
to_field_name='name'
@@ -501,7 +501,7 @@ class ConsolePortCSVForm(CustomFieldModelCSVForm):
fields = ('device', 'name', 'label', 'type', 'speed', 'mark_connected', 'description')
class ConsoleServerPortCSVForm(CustomFieldModelCSVForm):
class ConsoleServerPortCSVForm(NetBoxModelCSVForm):
device = CSVModelChoiceField(
queryset=Device.objects.all(),
to_field_name='name'
@@ -524,7 +524,7 @@ class ConsoleServerPortCSVForm(CustomFieldModelCSVForm):
fields = ('device', 'name', 'label', 'type', 'speed', 'mark_connected', 'description')
class PowerPortCSVForm(CustomFieldModelCSVForm):
class PowerPortCSVForm(NetBoxModelCSVForm):
device = CSVModelChoiceField(
queryset=Device.objects.all(),
to_field_name='name'
@@ -542,7 +542,7 @@ class PowerPortCSVForm(CustomFieldModelCSVForm):
)
class PowerOutletCSVForm(CustomFieldModelCSVForm):
class PowerOutletCSVForm(NetBoxModelCSVForm):
device = CSVModelChoiceField(
queryset=Device.objects.all(),
to_field_name='name'
@@ -591,7 +591,7 @@ class PowerOutletCSVForm(CustomFieldModelCSVForm):
self.fields['power_port'].queryset = PowerPort.objects.none()
class InterfaceCSVForm(CustomFieldModelCSVForm):
class InterfaceCSVForm(NetBoxModelCSVForm):
device = CSVModelChoiceField(
queryset=Device.objects.all(),
to_field_name='name'
@@ -655,7 +655,7 @@ class InterfaceCSVForm(CustomFieldModelCSVForm):
return self.cleaned_data['enabled']
class FrontPortCSVForm(CustomFieldModelCSVForm):
class FrontPortCSVForm(NetBoxModelCSVForm):
device = CSVModelChoiceField(
queryset=Device.objects.all(),
to_field_name='name'
@@ -703,7 +703,7 @@ class FrontPortCSVForm(CustomFieldModelCSVForm):
self.fields['rear_port'].queryset = RearPort.objects.none()
class RearPortCSVForm(CustomFieldModelCSVForm):
class RearPortCSVForm(NetBoxModelCSVForm):
device = CSVModelChoiceField(
queryset=Device.objects.all(),
to_field_name='name'
@@ -721,7 +721,7 @@ class RearPortCSVForm(CustomFieldModelCSVForm):
}
class ModuleBayCSVForm(CustomFieldModelCSVForm):
class ModuleBayCSVForm(NetBoxModelCSVForm):
device = CSVModelChoiceField(
queryset=Device.objects.all(),
to_field_name='name'
@@ -732,7 +732,7 @@ class ModuleBayCSVForm(CustomFieldModelCSVForm):
fields = ('device', 'name', 'label', 'position', 'description')
class DeviceBayCSVForm(CustomFieldModelCSVForm):
class DeviceBayCSVForm(NetBoxModelCSVForm):
device = CSVModelChoiceField(
queryset=Device.objects.all(),
to_field_name='name'
@@ -778,7 +778,7 @@ class DeviceBayCSVForm(CustomFieldModelCSVForm):
self.fields['installed_device'].queryset = Interface.objects.none()
class InventoryItemCSVForm(CustomFieldModelCSVForm):
class InventoryItemCSVForm(NetBoxModelCSVForm):
device = CSVModelChoiceField(
queryset=Device.objects.all(),
to_field_name='name'
@@ -827,7 +827,7 @@ class InventoryItemCSVForm(CustomFieldModelCSVForm):
# Device component roles
#
class InventoryItemRoleCSVForm(CustomFieldModelCSVForm):
class InventoryItemRoleCSVForm(NetBoxModelCSVForm):
slug = SlugField()
class Meta:
@@ -842,7 +842,7 @@ class InventoryItemRoleCSVForm(CustomFieldModelCSVForm):
# Cables
#
class CableCSVForm(CustomFieldModelCSVForm):
class CableCSVForm(NetBoxModelCSVForm):
# Termination A
side_a_device = CSVModelChoiceField(
queryset=Device.objects.all(),
@@ -947,7 +947,7 @@ class CableCSVForm(CustomFieldModelCSVForm):
# Virtual chassis
#
class VirtualChassisCSVForm(CustomFieldModelCSVForm):
class VirtualChassisCSVForm(NetBoxModelCSVForm):
master = CSVModelChoiceField(
queryset=Device.objects.all(),
to_field_name='name',
@@ -964,7 +964,7 @@ class VirtualChassisCSVForm(CustomFieldModelCSVForm):
# Power
#
class PowerPanelCSVForm(CustomFieldModelCSVForm):
class PowerPanelCSVForm(NetBoxModelCSVForm):
site = CSVModelChoiceField(
queryset=Site.objects.all(),
to_field_name='name',
@@ -990,7 +990,7 @@ class PowerPanelCSVForm(CustomFieldModelCSVForm):
self.fields['location'].queryset = self.fields['location'].queryset.filter(**params)
class PowerFeedCSVForm(CustomFieldModelCSVForm):
class PowerFeedCSVForm(NetBoxModelCSVForm):
site = CSVModelChoiceField(
queryset=Site.objects.all(),
to_field_name='name',

View File

@@ -1,7 +1,7 @@
from circuits.models import Circuit, CircuitTermination, Provider
from dcim.models import *
from extras.forms import CustomFieldModelForm
from extras.models import Tag
from netbox.forms import NetBoxModelForm
from tenancy.forms import TenancyForm
from utilities.forms import DynamicModelChoiceField, DynamicModelMultipleChoiceField, StaticSelect
@@ -18,7 +18,7 @@ __all__ = (
)
class ConnectCableToDeviceForm(TenancyForm, CustomFieldModelForm):
class ConnectCableToDeviceForm(TenancyForm, NetBoxModelForm):
"""
Base form for connecting a Cable to a Device component
"""
@@ -171,7 +171,7 @@ class ConnectCableToRearPortForm(ConnectCableToDeviceForm):
)
class ConnectCableToCircuitTerminationForm(TenancyForm, CustomFieldModelForm):
class ConnectCableToCircuitTerminationForm(TenancyForm, NetBoxModelForm):
termination_b_provider = DynamicModelChoiceField(
queryset=Provider.objects.all(),
label='Provider',
@@ -229,7 +229,7 @@ class ConnectCableToCircuitTerminationForm(TenancyForm, CustomFieldModelForm):
return getattr(self.cleaned_data['termination_b_id'], 'pk', None)
class ConnectCableToPowerFeedForm(TenancyForm, CustomFieldModelForm):
class ConnectCableToPowerFeedForm(TenancyForm, NetBoxModelForm):
termination_b_region = DynamicModelChoiceField(
queryset=Region.objects.all(),
label='Region',

View File

@@ -5,8 +5,9 @@ from django.utils.translation import gettext as _
from dcim.choices import *
from dcim.constants import *
from dcim.models import *
from extras.forms import CustomFieldModelFilterForm, LocalConfigContextFilterForm
from extras.forms import LocalConfigContextFilterForm
from ipam.models import ASN, VRF
from netbox.forms import NetBoxModelFilterSetForm
from tenancy.forms import TenancyFilterForm
from utilities.forms import (
APISelectMultiple, add_blank_choice, ColorField, DynamicModelMultipleChoiceField, FilterForm, StaticSelect,
@@ -52,7 +53,7 @@ __all__ = (
)
class DeviceComponentFilterForm(CustomFieldModelFilterForm):
class DeviceComponentFilterForm(NetBoxModelFilterSetForm):
name = forms.CharField(
required=False
)
@@ -103,7 +104,7 @@ class DeviceComponentFilterForm(CustomFieldModelFilterForm):
)
class RegionFilterForm(CustomFieldModelFilterForm):
class RegionFilterForm(NetBoxModelFilterSetForm):
model = Region
parent_id = DynamicModelMultipleChoiceField(
queryset=Region.objects.all(),
@@ -113,7 +114,7 @@ class RegionFilterForm(CustomFieldModelFilterForm):
tag = TagFilterField(model)
class SiteGroupFilterForm(CustomFieldModelFilterForm):
class SiteGroupFilterForm(NetBoxModelFilterSetForm):
model = SiteGroup
parent_id = DynamicModelMultipleChoiceField(
queryset=SiteGroup.objects.all(),
@@ -123,7 +124,7 @@ class SiteGroupFilterForm(CustomFieldModelFilterForm):
tag = TagFilterField(model)
class SiteFilterForm(TenancyFilterForm, CustomFieldModelFilterForm):
class SiteFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
model = Site
field_groups = [
['q', 'tag'],
@@ -154,7 +155,7 @@ class SiteFilterForm(TenancyFilterForm, CustomFieldModelFilterForm):
tag = TagFilterField(model)
class LocationFilterForm(TenancyFilterForm, CustomFieldModelFilterForm):
class LocationFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
model = Location
field_groups = [
['q', 'tag'],
@@ -192,12 +193,12 @@ class LocationFilterForm(TenancyFilterForm, CustomFieldModelFilterForm):
tag = TagFilterField(model)
class RackRoleFilterForm(CustomFieldModelFilterForm):
class RackRoleFilterForm(NetBoxModelFilterSetForm):
model = RackRole
tag = TagFilterField(model)
class RackFilterForm(TenancyFilterForm, CustomFieldModelFilterForm):
class RackFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
model = Rack
field_groups = [
['q', 'tag'],
@@ -270,7 +271,7 @@ class RackElevationFilterForm(RackFilterForm):
)
class RackReservationFilterForm(TenancyFilterForm, CustomFieldModelFilterForm):
class RackReservationFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
model = RackReservation
field_groups = [
['q', 'tag'],
@@ -308,12 +309,12 @@ class RackReservationFilterForm(TenancyFilterForm, CustomFieldModelFilterForm):
tag = TagFilterField(model)
class ManufacturerFilterForm(CustomFieldModelFilterForm):
class ManufacturerFilterForm(NetBoxModelFilterSetForm):
model = Manufacturer
tag = TagFilterField(model)
class DeviceTypeFilterForm(CustomFieldModelFilterForm):
class DeviceTypeFilterForm(NetBoxModelFilterSetForm):
model = DeviceType
field_groups = [
['q', 'tag'],
@@ -383,7 +384,7 @@ class DeviceTypeFilterForm(CustomFieldModelFilterForm):
tag = TagFilterField(model)
class ModuleTypeFilterForm(CustomFieldModelFilterForm):
class ModuleTypeFilterForm(NetBoxModelFilterSetForm):
model = ModuleType
field_groups = [
['q', 'tag'],
@@ -444,12 +445,12 @@ class ModuleTypeFilterForm(CustomFieldModelFilterForm):
tag = TagFilterField(model)
class DeviceRoleFilterForm(CustomFieldModelFilterForm):
class DeviceRoleFilterForm(NetBoxModelFilterSetForm):
model = DeviceRole
tag = TagFilterField(model)
class PlatformFilterForm(CustomFieldModelFilterForm):
class PlatformFilterForm(NetBoxModelFilterSetForm):
model = Platform
manufacturer_id = DynamicModelMultipleChoiceField(
queryset=Manufacturer.objects.all(),
@@ -459,7 +460,7 @@ class PlatformFilterForm(CustomFieldModelFilterForm):
tag = TagFilterField(model)
class DeviceFilterForm(LocalConfigContextFilterForm, TenancyFilterForm, CustomFieldModelFilterForm):
class DeviceFilterForm(LocalConfigContextFilterForm, TenancyFilterForm, NetBoxModelFilterSetForm):
model = Device
field_groups = [
['q', 'tag'],
@@ -613,7 +614,7 @@ class DeviceFilterForm(LocalConfigContextFilterForm, TenancyFilterForm, CustomFi
tag = TagFilterField(model)
class ModuleFilterForm(LocalConfigContextFilterForm, TenancyFilterForm, CustomFieldModelFilterForm):
class ModuleFilterForm(LocalConfigContextFilterForm, TenancyFilterForm, NetBoxModelFilterSetForm):
model = Module
field_groups = [
['q', 'tag'],
@@ -644,7 +645,7 @@ class ModuleFilterForm(LocalConfigContextFilterForm, TenancyFilterForm, CustomFi
tag = TagFilterField(model)
class VirtualChassisFilterForm(TenancyFilterForm, CustomFieldModelFilterForm):
class VirtualChassisFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
model = VirtualChassis
field_groups = [
['q', 'tag'],
@@ -673,7 +674,7 @@ class VirtualChassisFilterForm(TenancyFilterForm, CustomFieldModelFilterForm):
tag = TagFilterField(model)
class CableFilterForm(TenancyFilterForm, CustomFieldModelFilterForm):
class CableFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
model = Cable
field_groups = [
['q', 'tag'],
@@ -736,7 +737,7 @@ class CableFilterForm(TenancyFilterForm, CustomFieldModelFilterForm):
tag = TagFilterField(model)
class PowerPanelFilterForm(CustomFieldModelFilterForm):
class PowerPanelFilterForm(NetBoxModelFilterSetForm):
model = PowerPanel
field_groups = (
('q', 'tag'),
@@ -773,7 +774,7 @@ class PowerPanelFilterForm(CustomFieldModelFilterForm):
tag = TagFilterField(model)
class PowerFeedFilterForm(CustomFieldModelFilterForm):
class PowerFeedFilterForm(NetBoxModelFilterSetForm):
model = PowerFeed
field_groups = [
['q', 'tag'],
@@ -1103,7 +1104,7 @@ class InventoryItemFilterForm(DeviceComponentFilterForm):
# Device component roles
#
class InventoryItemRoleFilterForm(CustomFieldModelFilterForm):
class InventoryItemRoleFilterForm(NetBoxModelFilterSetForm):
model = InventoryItemRole
tag = TagFilterField(model)

View File

@@ -7,9 +7,9 @@ from timezone_field import TimeZoneFormField
from dcim.choices import *
from dcim.constants import *
from dcim.models import *
from extras.forms import CustomFieldModelForm
from extras.models import Tag
from ipam.models import ASN, IPAddress, VLAN, VLANGroup, VRF
from netbox.forms import NetBoxModelForm
from tenancy.forms import TenancyForm
from utilities.forms import (
APISelect, add_blank_choice, BootstrapMixin, ClearableFileInput, CommentField, ContentTypeChoiceField,
@@ -72,7 +72,7 @@ Tagged (All): Implies all VLANs are available (w/optional untagged VLAN)
"""
class RegionForm(CustomFieldModelForm):
class RegionForm(NetBoxModelForm):
parent = DynamicModelChoiceField(
queryset=Region.objects.all(),
required=False
@@ -90,7 +90,7 @@ class RegionForm(CustomFieldModelForm):
)
class SiteGroupForm(CustomFieldModelForm):
class SiteGroupForm(NetBoxModelForm):
parent = DynamicModelChoiceField(
queryset=SiteGroup.objects.all(),
required=False
@@ -108,7 +108,7 @@ class SiteGroupForm(CustomFieldModelForm):
)
class SiteForm(TenancyForm, CustomFieldModelForm):
class SiteForm(TenancyForm, NetBoxModelForm):
region = DynamicModelChoiceField(
queryset=Region.objects.all(),
required=False
@@ -173,7 +173,7 @@ class SiteForm(TenancyForm, CustomFieldModelForm):
}
class LocationForm(TenancyForm, CustomFieldModelForm):
class LocationForm(TenancyForm, NetBoxModelForm):
region = DynamicModelChoiceField(
queryset=Region.objects.all(),
required=False,
@@ -221,7 +221,7 @@ class LocationForm(TenancyForm, CustomFieldModelForm):
)
class RackRoleForm(CustomFieldModelForm):
class RackRoleForm(NetBoxModelForm):
slug = SlugField()
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
@@ -235,7 +235,7 @@ class RackRoleForm(CustomFieldModelForm):
]
class RackForm(TenancyForm, CustomFieldModelForm):
class RackForm(TenancyForm, NetBoxModelForm):
region = DynamicModelChoiceField(
queryset=Region.objects.all(),
required=False,
@@ -295,7 +295,7 @@ class RackForm(TenancyForm, CustomFieldModelForm):
}
class RackReservationForm(TenancyForm, CustomFieldModelForm):
class RackReservationForm(TenancyForm, NetBoxModelForm):
region = DynamicModelChoiceField(
queryset=Region.objects.all(),
required=False,
@@ -359,7 +359,7 @@ class RackReservationForm(TenancyForm, CustomFieldModelForm):
)
class ManufacturerForm(CustomFieldModelForm):
class ManufacturerForm(NetBoxModelForm):
slug = SlugField()
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
@@ -373,7 +373,7 @@ class ManufacturerForm(CustomFieldModelForm):
]
class DeviceTypeForm(CustomFieldModelForm):
class DeviceTypeForm(NetBoxModelForm):
manufacturer = DynamicModelChoiceField(
queryset=Manufacturer.objects.all()
)
@@ -412,7 +412,7 @@ class DeviceTypeForm(CustomFieldModelForm):
}
class ModuleTypeForm(CustomFieldModelForm):
class ModuleTypeForm(NetBoxModelForm):
manufacturer = DynamicModelChoiceField(
queryset=Manufacturer.objects.all()
)
@@ -429,7 +429,7 @@ class ModuleTypeForm(CustomFieldModelForm):
]
class DeviceRoleForm(CustomFieldModelForm):
class DeviceRoleForm(NetBoxModelForm):
slug = SlugField()
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
@@ -443,7 +443,7 @@ class DeviceRoleForm(CustomFieldModelForm):
]
class PlatformForm(CustomFieldModelForm):
class PlatformForm(NetBoxModelForm):
manufacturer = DynamicModelChoiceField(
queryset=Manufacturer.objects.all(),
required=False
@@ -466,7 +466,7 @@ class PlatformForm(CustomFieldModelForm):
}
class DeviceForm(TenancyForm, CustomFieldModelForm):
class DeviceForm(TenancyForm, NetBoxModelForm):
region = DynamicModelChoiceField(
queryset=Region.objects.all(),
required=False,
@@ -648,7 +648,7 @@ class DeviceForm(TenancyForm, CustomFieldModelForm):
self.fields['position'].widget.choices = [(position, f'U{position}')]
class ModuleForm(CustomFieldModelForm):
class ModuleForm(NetBoxModelForm):
device = DynamicModelChoiceField(
queryset=Device.objects.all(),
required=False,
@@ -688,7 +688,7 @@ class ModuleForm(CustomFieldModelForm):
]
class CableForm(TenancyForm, CustomFieldModelForm):
class CableForm(TenancyForm, NetBoxModelForm):
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
@@ -711,7 +711,7 @@ class CableForm(TenancyForm, CustomFieldModelForm):
}
class PowerPanelForm(CustomFieldModelForm):
class PowerPanelForm(NetBoxModelForm):
region = DynamicModelChoiceField(
queryset=Region.objects.all(),
required=False,
@@ -755,7 +755,7 @@ class PowerPanelForm(CustomFieldModelForm):
)
class PowerFeedForm(CustomFieldModelForm):
class PowerFeedForm(NetBoxModelForm):
region = DynamicModelChoiceField(
queryset=Region.objects.all(),
required=False,
@@ -823,7 +823,7 @@ class PowerFeedForm(CustomFieldModelForm):
# Virtual chassis
#
class VirtualChassisForm(CustomFieldModelForm):
class VirtualChassisForm(NetBoxModelForm):
master = forms.ModelChoiceField(
queryset=Device.objects.all(),
required=False,
@@ -1120,7 +1120,7 @@ class InventoryItemTemplateForm(BootstrapMixin, forms.ModelForm):
# Device components
#
class ConsolePortForm(CustomFieldModelForm):
class ConsolePortForm(NetBoxModelForm):
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
@@ -1138,7 +1138,7 @@ class ConsolePortForm(CustomFieldModelForm):
}
class ConsoleServerPortForm(CustomFieldModelForm):
class ConsoleServerPortForm(NetBoxModelForm):
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
@@ -1156,7 +1156,7 @@ class ConsoleServerPortForm(CustomFieldModelForm):
}
class PowerPortForm(CustomFieldModelForm):
class PowerPortForm(NetBoxModelForm):
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
@@ -1174,7 +1174,7 @@ class PowerPortForm(CustomFieldModelForm):
}
class PowerOutletForm(CustomFieldModelForm):
class PowerOutletForm(NetBoxModelForm):
power_port = DynamicModelChoiceField(
queryset=PowerPort.objects.all(),
required=False,
@@ -1199,7 +1199,7 @@ class PowerOutletForm(CustomFieldModelForm):
}
class InterfaceForm(InterfaceCommonForm, CustomFieldModelForm):
class InterfaceForm(InterfaceCommonForm, NetBoxModelForm):
parent = DynamicModelChoiceField(
queryset=Interface.objects.all(),
required=False,
@@ -1308,7 +1308,7 @@ class InterfaceForm(InterfaceCommonForm, CustomFieldModelForm):
}
class FrontPortForm(CustomFieldModelForm):
class FrontPortForm(NetBoxModelForm):
rear_port = DynamicModelChoiceField(
queryset=RearPort.objects.all(),
query_params={
@@ -1332,7 +1332,7 @@ class FrontPortForm(CustomFieldModelForm):
}
class RearPortForm(CustomFieldModelForm):
class RearPortForm(NetBoxModelForm):
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
@@ -1349,7 +1349,7 @@ class RearPortForm(CustomFieldModelForm):
}
class ModuleBayForm(CustomFieldModelForm):
class ModuleBayForm(NetBoxModelForm):
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
@@ -1365,7 +1365,7 @@ class ModuleBayForm(CustomFieldModelForm):
}
class DeviceBayForm(CustomFieldModelForm):
class DeviceBayForm(NetBoxModelForm):
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
@@ -1401,7 +1401,7 @@ class PopulateDeviceBayForm(BootstrapMixin, forms.Form):
).exclude(pk=device_bay.device.pk)
class InventoryItemForm(CustomFieldModelForm):
class InventoryItemForm(NetBoxModelForm):
parent = DynamicModelChoiceField(
queryset=InventoryItem.objects.all(),
required=False,
@@ -1451,7 +1451,7 @@ class InventoryItemForm(CustomFieldModelForm):
# Device component roles
#
class InventoryItemRoleForm(CustomFieldModelForm):
class InventoryItemRoleForm(NetBoxModelForm):
slug = SlugField()
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),

View File

@@ -1,8 +1,8 @@
from django import forms
from dcim.models import *
from extras.forms import CustomFieldModelForm
from extras.models import Tag
from netbox.forms import NetBoxModelForm
from utilities.forms import (
BootstrapMixin, DynamicModelChoiceField, DynamicModelMultipleChoiceField, ExpandableNameField,
)
@@ -149,7 +149,7 @@ class FrontPortCreateForm(DeviceComponentCreateForm):
}
class VirtualChassisCreateForm(CustomFieldModelForm):
class VirtualChassisCreateForm(NetBoxModelForm):
region = DynamicModelChoiceField(
queryset=Region.objects.all(),
required=False,