mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-23 20:12:42 -06:00
Rename bulk import form base classes
This commit is contained in:
@@ -7,7 +7,7 @@ from circuits.constants import *
|
|||||||
from circuits.models import *
|
from circuits.models import *
|
||||||
from dcim.models import Interface
|
from dcim.models import Interface
|
||||||
from netbox.choices import DistanceUnitChoices
|
from netbox.choices import DistanceUnitChoices
|
||||||
from netbox.forms import NetBoxModelImportForm, OrganizationalModelBulkImportForm, PrimaryModelBulkImportForm
|
from netbox.forms import NetBoxModelImportForm, OrganizationalModelImportForm, PrimaryModelImportForm
|
||||||
from tenancy.models import Tenant
|
from tenancy.models import Tenant
|
||||||
from utilities.forms.fields import CSVChoiceField, CSVContentTypeField, CSVModelChoiceField, SlugField
|
from utilities.forms.fields import CSVChoiceField, CSVContentTypeField, CSVModelChoiceField, SlugField
|
||||||
|
|
||||||
@@ -28,7 +28,7 @@ __all__ = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class ProviderImportForm(PrimaryModelBulkImportForm):
|
class ProviderImportForm(PrimaryModelImportForm):
|
||||||
slug = SlugField()
|
slug = SlugField()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@@ -38,7 +38,7 @@ class ProviderImportForm(PrimaryModelBulkImportForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class ProviderAccountImportForm(PrimaryModelBulkImportForm):
|
class ProviderAccountImportForm(PrimaryModelImportForm):
|
||||||
provider = CSVModelChoiceField(
|
provider = CSVModelChoiceField(
|
||||||
label=_('Provider'),
|
label=_('Provider'),
|
||||||
queryset=Provider.objects.all(),
|
queryset=Provider.objects.all(),
|
||||||
@@ -53,7 +53,7 @@ class ProviderAccountImportForm(PrimaryModelBulkImportForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class ProviderNetworkImportForm(PrimaryModelBulkImportForm):
|
class ProviderNetworkImportForm(PrimaryModelImportForm):
|
||||||
provider = CSVModelChoiceField(
|
provider = CSVModelChoiceField(
|
||||||
label=_('Provider'),
|
label=_('Provider'),
|
||||||
queryset=Provider.objects.all(),
|
queryset=Provider.objects.all(),
|
||||||
@@ -68,7 +68,7 @@ class ProviderNetworkImportForm(PrimaryModelBulkImportForm):
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class CircuitTypeImportForm(OrganizationalModelBulkImportForm):
|
class CircuitTypeImportForm(OrganizationalModelImportForm):
|
||||||
slug = SlugField()
|
slug = SlugField()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@@ -76,7 +76,7 @@ class CircuitTypeImportForm(OrganizationalModelBulkImportForm):
|
|||||||
fields = ('name', 'slug', 'color', 'description', 'owner', 'tags')
|
fields = ('name', 'slug', 'color', 'description', 'owner', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class CircuitImportForm(PrimaryModelBulkImportForm):
|
class CircuitImportForm(PrimaryModelImportForm):
|
||||||
provider = CSVModelChoiceField(
|
provider = CSVModelChoiceField(
|
||||||
label=_('Provider'),
|
label=_('Provider'),
|
||||||
queryset=Provider.objects.all(),
|
queryset=Provider.objects.all(),
|
||||||
@@ -165,7 +165,7 @@ class CircuitTerminationImportForm(NetBoxModelImportForm, BaseCircuitTermination
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class CircuitGroupImportForm(OrganizationalModelBulkImportForm):
|
class CircuitGroupImportForm(OrganizationalModelImportForm):
|
||||||
tenant = CSVModelChoiceField(
|
tenant = CSVModelChoiceField(
|
||||||
label=_('Tenant'),
|
label=_('Tenant'),
|
||||||
queryset=Tenant.objects.all(),
|
queryset=Tenant.objects.all(),
|
||||||
@@ -195,14 +195,14 @@ class CircuitGroupAssignmentImportForm(NetBoxModelImportForm):
|
|||||||
fields = ('member_type', 'member_id', 'group', 'priority')
|
fields = ('member_type', 'member_id', 'group', 'priority')
|
||||||
|
|
||||||
|
|
||||||
class VirtualCircuitTypeImportForm(OrganizationalModelBulkImportForm):
|
class VirtualCircuitTypeImportForm(OrganizationalModelImportForm):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = VirtualCircuitType
|
model = VirtualCircuitType
|
||||||
fields = ('name', 'slug', 'color', 'description', 'owner', 'tags')
|
fields = ('name', 'slug', 'color', 'description', 'owner', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class VirtualCircuitImportForm(PrimaryModelBulkImportForm):
|
class VirtualCircuitImportForm(PrimaryModelImportForm):
|
||||||
provider_network = CSVModelChoiceField(
|
provider_network = CSVModelChoiceField(
|
||||||
label=_('Provider network'),
|
label=_('Provider network'),
|
||||||
queryset=ProviderNetwork.objects.all(),
|
queryset=ProviderNetwork.objects.all(),
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
from core.models import *
|
from core.models import *
|
||||||
from netbox.forms import PrimaryModelBulkImportForm
|
from netbox.forms import PrimaryModelImportForm
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
'DataSourceImportForm',
|
'DataSourceImportForm',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class DataSourceImportForm(PrimaryModelBulkImportForm):
|
class DataSourceImportForm(PrimaryModelImportForm):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = DataSource
|
model = DataSource
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ from extras.models import ConfigTemplate
|
|||||||
from ipam.models import VRF, IPAddress
|
from ipam.models import VRF, IPAddress
|
||||||
from netbox.choices import *
|
from netbox.choices import *
|
||||||
from netbox.forms import (
|
from netbox.forms import (
|
||||||
NestedGroupModelBulkImportForm, NetBoxModelImportForm, OrganizationalModelBulkImportForm, OwnerCSVMixin,
|
NestedGroupModelImportForm, NetBoxModelImportForm, OrganizationalModelImportForm, OwnerCSVMixin,
|
||||||
PrimaryModelBulkImportForm,
|
PrimaryModelImportForm,
|
||||||
)
|
)
|
||||||
from tenancy.models import Tenant
|
from tenancy.models import Tenant
|
||||||
from utilities.forms.fields import (
|
from utilities.forms.fields import (
|
||||||
@@ -61,7 +61,7 @@ __all__ = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class RegionImportForm(NestedGroupModelBulkImportForm):
|
class RegionImportForm(NestedGroupModelImportForm):
|
||||||
parent = CSVModelChoiceField(
|
parent = CSVModelChoiceField(
|
||||||
label=_('Parent'),
|
label=_('Parent'),
|
||||||
queryset=Region.objects.all(),
|
queryset=Region.objects.all(),
|
||||||
@@ -75,7 +75,7 @@ class RegionImportForm(NestedGroupModelBulkImportForm):
|
|||||||
fields = ('name', 'slug', 'parent', 'description', 'owner', 'comments', 'tags')
|
fields = ('name', 'slug', 'parent', 'description', 'owner', 'comments', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class SiteGroupImportForm(NestedGroupModelBulkImportForm):
|
class SiteGroupImportForm(NestedGroupModelImportForm):
|
||||||
parent = CSVModelChoiceField(
|
parent = CSVModelChoiceField(
|
||||||
label=_('Parent'),
|
label=_('Parent'),
|
||||||
queryset=SiteGroup.objects.all(),
|
queryset=SiteGroup.objects.all(),
|
||||||
@@ -89,7 +89,7 @@ class SiteGroupImportForm(NestedGroupModelBulkImportForm):
|
|||||||
fields = ('name', 'slug', 'parent', 'description', 'owner', 'comments', 'tags')
|
fields = ('name', 'slug', 'parent', 'description', 'owner', 'comments', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class SiteImportForm(PrimaryModelBulkImportForm):
|
class SiteImportForm(PrimaryModelImportForm):
|
||||||
status = CSVChoiceField(
|
status = CSVChoiceField(
|
||||||
label=_('Status'),
|
label=_('Status'),
|
||||||
choices=SiteStatusChoices,
|
choices=SiteStatusChoices,
|
||||||
@@ -132,7 +132,7 @@ class SiteImportForm(PrimaryModelBulkImportForm):
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class LocationImportForm(NestedGroupModelBulkImportForm):
|
class LocationImportForm(NestedGroupModelImportForm):
|
||||||
site = CSVModelChoiceField(
|
site = CSVModelChoiceField(
|
||||||
label=_('Site'),
|
label=_('Site'),
|
||||||
queryset=Site.objects.all(),
|
queryset=Site.objects.all(),
|
||||||
@@ -178,14 +178,14 @@ class LocationImportForm(NestedGroupModelBulkImportForm):
|
|||||||
self.fields['parent'].queryset = self.fields['parent'].queryset.filter(**params)
|
self.fields['parent'].queryset = self.fields['parent'].queryset.filter(**params)
|
||||||
|
|
||||||
|
|
||||||
class RackRoleImportForm(OrganizationalModelBulkImportForm):
|
class RackRoleImportForm(OrganizationalModelImportForm):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = RackRole
|
model = RackRole
|
||||||
fields = ('name', 'slug', 'color', 'description', 'owner', 'tags')
|
fields = ('name', 'slug', 'color', 'description', 'owner', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class RackTypeImportForm(PrimaryModelBulkImportForm):
|
class RackTypeImportForm(PrimaryModelImportForm):
|
||||||
manufacturer = forms.ModelChoiceField(
|
manufacturer = forms.ModelChoiceField(
|
||||||
label=_('Manufacturer'),
|
label=_('Manufacturer'),
|
||||||
queryset=Manufacturer.objects.all(),
|
queryset=Manufacturer.objects.all(),
|
||||||
@@ -233,7 +233,7 @@ class RackTypeImportForm(PrimaryModelBulkImportForm):
|
|||||||
super().__init__(data, *args, **kwargs)
|
super().__init__(data, *args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
class RackImportForm(PrimaryModelBulkImportForm):
|
class RackImportForm(PrimaryModelImportForm):
|
||||||
site = CSVModelChoiceField(
|
site = CSVModelChoiceField(
|
||||||
label=_('Site'),
|
label=_('Site'),
|
||||||
queryset=Site.objects.all(),
|
queryset=Site.objects.all(),
|
||||||
@@ -335,7 +335,7 @@ class RackImportForm(PrimaryModelBulkImportForm):
|
|||||||
raise forms.ValidationError(_("U height must be set if not specifying a rack type."))
|
raise forms.ValidationError(_("U height must be set if not specifying a rack type."))
|
||||||
|
|
||||||
|
|
||||||
class RackReservationImportForm(PrimaryModelBulkImportForm):
|
class RackReservationImportForm(PrimaryModelImportForm):
|
||||||
site = CSVModelChoiceField(
|
site = CSVModelChoiceField(
|
||||||
label=_('Site'),
|
label=_('Site'),
|
||||||
queryset=Site.objects.all(),
|
queryset=Site.objects.all(),
|
||||||
@@ -395,14 +395,14 @@ class RackReservationImportForm(PrimaryModelBulkImportForm):
|
|||||||
self.fields['rack'].queryset = self.fields['rack'].queryset.filter(**params)
|
self.fields['rack'].queryset = self.fields['rack'].queryset.filter(**params)
|
||||||
|
|
||||||
|
|
||||||
class ManufacturerImportForm(OrganizationalModelBulkImportForm):
|
class ManufacturerImportForm(OrganizationalModelImportForm):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Manufacturer
|
model = Manufacturer
|
||||||
fields = ('name', 'slug', 'description', 'owner', 'tags')
|
fields = ('name', 'slug', 'description', 'owner', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class DeviceTypeImportForm(PrimaryModelBulkImportForm):
|
class DeviceTypeImportForm(PrimaryModelImportForm):
|
||||||
manufacturer = CSVModelChoiceField(
|
manufacturer = CSVModelChoiceField(
|
||||||
label=_('Manufacturer'),
|
label=_('Manufacturer'),
|
||||||
queryset=Manufacturer.objects.all(),
|
queryset=Manufacturer.objects.all(),
|
||||||
@@ -437,7 +437,7 @@ class DeviceTypeImportForm(PrimaryModelBulkImportForm):
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class ModuleTypeProfileImportForm(PrimaryModelBulkImportForm):
|
class ModuleTypeProfileImportForm(PrimaryModelImportForm):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = ModuleTypeProfile
|
model = ModuleTypeProfile
|
||||||
@@ -446,7 +446,7 @@ class ModuleTypeProfileImportForm(PrimaryModelBulkImportForm):
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class ModuleTypeImportForm(PrimaryModelBulkImportForm):
|
class ModuleTypeImportForm(PrimaryModelImportForm):
|
||||||
profile = forms.ModelChoiceField(
|
profile = forms.ModelChoiceField(
|
||||||
label=_('Profile'),
|
label=_('Profile'),
|
||||||
queryset=ModuleTypeProfile.objects.all(),
|
queryset=ModuleTypeProfile.objects.all(),
|
||||||
@@ -484,7 +484,7 @@ class ModuleTypeImportForm(PrimaryModelBulkImportForm):
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class DeviceRoleImportForm(NestedGroupModelBulkImportForm):
|
class DeviceRoleImportForm(NestedGroupModelImportForm):
|
||||||
parent = CSVModelChoiceField(
|
parent = CSVModelChoiceField(
|
||||||
label=_('Parent'),
|
label=_('Parent'),
|
||||||
queryset=DeviceRole.objects.all(),
|
queryset=DeviceRole.objects.all(),
|
||||||
@@ -510,7 +510,7 @@ class DeviceRoleImportForm(NestedGroupModelBulkImportForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class PlatformImportForm(NestedGroupModelBulkImportForm):
|
class PlatformImportForm(NestedGroupModelImportForm):
|
||||||
parent = CSVModelChoiceField(
|
parent = CSVModelChoiceField(
|
||||||
label=_('Parent'),
|
label=_('Parent'),
|
||||||
queryset=Platform.objects.all(),
|
queryset=Platform.objects.all(),
|
||||||
@@ -543,7 +543,7 @@ class PlatformImportForm(NestedGroupModelBulkImportForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class BaseDeviceImportForm(PrimaryModelBulkImportForm):
|
class BaseDeviceImportForm(PrimaryModelImportForm):
|
||||||
role = CSVModelChoiceField(
|
role = CSVModelChoiceField(
|
||||||
label=_('Device role'),
|
label=_('Device role'),
|
||||||
queryset=DeviceRole.objects.all(),
|
queryset=DeviceRole.objects.all(),
|
||||||
@@ -717,7 +717,7 @@ class DeviceImportForm(BaseDeviceImportForm):
|
|||||||
self.instance.parent_bay = device_bay
|
self.instance.parent_bay = device_bay
|
||||||
|
|
||||||
|
|
||||||
class ModuleImportForm(ModuleCommonForm, PrimaryModelBulkImportForm):
|
class ModuleImportForm(ModuleCommonForm, PrimaryModelImportForm):
|
||||||
device = CSVModelChoiceField(
|
device = CSVModelChoiceField(
|
||||||
label=_('Device'),
|
label=_('Device'),
|
||||||
queryset=Device.objects.all(),
|
queryset=Device.objects.all(),
|
||||||
@@ -1263,7 +1263,7 @@ class InventoryItemImportForm(OwnerCSVMixin, NetBoxModelImportForm):
|
|||||||
# Device component roles
|
# Device component roles
|
||||||
#
|
#
|
||||||
|
|
||||||
class InventoryItemRoleImportForm(OrganizationalModelBulkImportForm):
|
class InventoryItemRoleImportForm(OrganizationalModelImportForm):
|
||||||
slug = SlugField()
|
slug = SlugField()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@@ -1275,7 +1275,7 @@ class InventoryItemRoleImportForm(OrganizationalModelBulkImportForm):
|
|||||||
# Addressing
|
# Addressing
|
||||||
#
|
#
|
||||||
|
|
||||||
class MACAddressImportForm(PrimaryModelBulkImportForm):
|
class MACAddressImportForm(PrimaryModelImportForm):
|
||||||
device = CSVModelChoiceField(
|
device = CSVModelChoiceField(
|
||||||
label=_('Device'),
|
label=_('Device'),
|
||||||
queryset=Device.objects.all(),
|
queryset=Device.objects.all(),
|
||||||
@@ -1360,7 +1360,7 @@ class MACAddressImportForm(PrimaryModelBulkImportForm):
|
|||||||
# Cables
|
# Cables
|
||||||
#
|
#
|
||||||
|
|
||||||
class CableImportForm(PrimaryModelBulkImportForm):
|
class CableImportForm(PrimaryModelImportForm):
|
||||||
# Termination A
|
# Termination A
|
||||||
side_a_site = CSVModelChoiceField(
|
side_a_site = CSVModelChoiceField(
|
||||||
label=_('Side A site'),
|
label=_('Side A site'),
|
||||||
@@ -1543,7 +1543,7 @@ class CableImportForm(PrimaryModelBulkImportForm):
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
class VirtualChassisImportForm(PrimaryModelBulkImportForm):
|
class VirtualChassisImportForm(PrimaryModelImportForm):
|
||||||
master = CSVModelChoiceField(
|
master = CSVModelChoiceField(
|
||||||
label=_('Master'),
|
label=_('Master'),
|
||||||
queryset=Device.objects.all(),
|
queryset=Device.objects.all(),
|
||||||
@@ -1561,7 +1561,7 @@ class VirtualChassisImportForm(PrimaryModelBulkImportForm):
|
|||||||
# Power
|
# Power
|
||||||
#
|
#
|
||||||
|
|
||||||
class PowerPanelImportForm(PrimaryModelBulkImportForm):
|
class PowerPanelImportForm(PrimaryModelImportForm):
|
||||||
site = CSVModelChoiceField(
|
site = CSVModelChoiceField(
|
||||||
label=_('Site'),
|
label=_('Site'),
|
||||||
queryset=Site.objects.all(),
|
queryset=Site.objects.all(),
|
||||||
@@ -1589,7 +1589,7 @@ class PowerPanelImportForm(PrimaryModelBulkImportForm):
|
|||||||
self.fields['location'].queryset = self.fields['location'].queryset.filter(**params)
|
self.fields['location'].queryset = self.fields['location'].queryset.filter(**params)
|
||||||
|
|
||||||
|
|
||||||
class PowerFeedImportForm(PrimaryModelBulkImportForm):
|
class PowerFeedImportForm(PrimaryModelImportForm):
|
||||||
site = CSVModelChoiceField(
|
site = CSVModelChoiceField(
|
||||||
label=_('Site'),
|
label=_('Site'),
|
||||||
queryset=Site.objects.all(),
|
queryset=Site.objects.all(),
|
||||||
@@ -1671,7 +1671,7 @@ class PowerFeedImportForm(PrimaryModelBulkImportForm):
|
|||||||
self.fields['rack'].queryset = self.fields['rack'].queryset.filter(**params)
|
self.fields['rack'].queryset = self.fields['rack'].queryset.filter(**params)
|
||||||
|
|
||||||
|
|
||||||
class VirtualDeviceContextImportForm(PrimaryModelBulkImportForm):
|
class VirtualDeviceContextImportForm(PrimaryModelImportForm):
|
||||||
device = CSVModelChoiceField(
|
device = CSVModelChoiceField(
|
||||||
label=_('Device'),
|
label=_('Device'),
|
||||||
queryset=Device.objects.all(),
|
queryset=Device.objects.all(),
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ from core.models import ObjectType
|
|||||||
from extras.choices import *
|
from extras.choices import *
|
||||||
from extras.models import *
|
from extras.models import *
|
||||||
from netbox.events import get_event_type_choices
|
from netbox.events import get_event_type_choices
|
||||||
from netbox.forms import NetBoxModelImportForm, OwnerCSVMixin, PrimaryModelBulkImportForm
|
from netbox.forms import NetBoxModelImportForm, OwnerCSVMixin, PrimaryModelImportForm
|
||||||
from users.models import Group, User
|
from users.models import Group, User
|
||||||
from utilities.forms import CSVModelForm
|
from utilities.forms import CSVModelForm
|
||||||
from utilities.forms.fields import (
|
from utilities.forms.fields import (
|
||||||
@@ -150,7 +150,7 @@ class ExportTemplateImportForm(OwnerCSVMixin, CSVModelForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class ConfigContextProfileImportForm(PrimaryModelBulkImportForm):
|
class ConfigContextProfileImportForm(PrimaryModelImportForm):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = ConfigContextProfile
|
model = ConfigContextProfile
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from dcim.forms.mixins import ScopedImportForm
|
|||||||
from ipam.choices import *
|
from ipam.choices import *
|
||||||
from ipam.constants import *
|
from ipam.constants import *
|
||||||
from ipam.models import *
|
from ipam.models import *
|
||||||
from netbox.forms import NetBoxModelImportForm, OrganizationalModelBulkImportForm, PrimaryModelBulkImportForm
|
from netbox.forms import NetBoxModelImportForm, OrganizationalModelImportForm, PrimaryModelImportForm
|
||||||
from tenancy.models import Tenant
|
from tenancy.models import Tenant
|
||||||
from utilities.forms.fields import (
|
from utilities.forms.fields import (
|
||||||
CSVChoiceField, CSVContentTypeField, CSVModelChoiceField, CSVModelMultipleChoiceField, SlugField,
|
CSVChoiceField, CSVContentTypeField, CSVModelChoiceField, CSVModelMultipleChoiceField, SlugField,
|
||||||
@@ -36,7 +36,7 @@ __all__ = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class VRFImportForm(PrimaryModelBulkImportForm):
|
class VRFImportForm(PrimaryModelImportForm):
|
||||||
tenant = CSVModelChoiceField(
|
tenant = CSVModelChoiceField(
|
||||||
label=_('Tenant'),
|
label=_('Tenant'),
|
||||||
queryset=Tenant.objects.all(),
|
queryset=Tenant.objects.all(),
|
||||||
@@ -65,7 +65,7 @@ class VRFImportForm(PrimaryModelBulkImportForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class RouteTargetImportForm(PrimaryModelBulkImportForm):
|
class RouteTargetImportForm(PrimaryModelImportForm):
|
||||||
tenant = CSVModelChoiceField(
|
tenant = CSVModelChoiceField(
|
||||||
label=_('Tenant'),
|
label=_('Tenant'),
|
||||||
queryset=Tenant.objects.all(),
|
queryset=Tenant.objects.all(),
|
||||||
@@ -79,7 +79,7 @@ class RouteTargetImportForm(PrimaryModelBulkImportForm):
|
|||||||
fields = ('name', 'tenant', 'description', 'owner', 'comments', 'tags')
|
fields = ('name', 'tenant', 'description', 'owner', 'comments', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class RIRImportForm(OrganizationalModelBulkImportForm):
|
class RIRImportForm(OrganizationalModelImportForm):
|
||||||
slug = SlugField()
|
slug = SlugField()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@@ -87,7 +87,7 @@ class RIRImportForm(OrganizationalModelBulkImportForm):
|
|||||||
fields = ('name', 'slug', 'is_private', 'description', 'owner', 'tags')
|
fields = ('name', 'slug', 'is_private', 'description', 'owner', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class AggregateImportForm(PrimaryModelBulkImportForm):
|
class AggregateImportForm(PrimaryModelImportForm):
|
||||||
rir = CSVModelChoiceField(
|
rir = CSVModelChoiceField(
|
||||||
label=_('RIR'),
|
label=_('RIR'),
|
||||||
queryset=RIR.objects.all(),
|
queryset=RIR.objects.all(),
|
||||||
@@ -107,7 +107,7 @@ class AggregateImportForm(PrimaryModelBulkImportForm):
|
|||||||
fields = ('prefix', 'rir', 'tenant', 'date_added', 'description', 'owner', 'comments', 'tags')
|
fields = ('prefix', 'rir', 'tenant', 'date_added', 'description', 'owner', 'comments', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class ASNRangeImportForm(OrganizationalModelBulkImportForm):
|
class ASNRangeImportForm(OrganizationalModelImportForm):
|
||||||
rir = CSVModelChoiceField(
|
rir = CSVModelChoiceField(
|
||||||
label=_('RIR'),
|
label=_('RIR'),
|
||||||
queryset=RIR.objects.all(),
|
queryset=RIR.objects.all(),
|
||||||
@@ -127,7 +127,7 @@ class ASNRangeImportForm(OrganizationalModelBulkImportForm):
|
|||||||
fields = ('name', 'slug', 'rir', 'start', 'end', 'tenant', 'description', 'owner', 'tags')
|
fields = ('name', 'slug', 'rir', 'start', 'end', 'tenant', 'description', 'owner', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class ASNImportForm(PrimaryModelBulkImportForm):
|
class ASNImportForm(PrimaryModelImportForm):
|
||||||
rir = CSVModelChoiceField(
|
rir = CSVModelChoiceField(
|
||||||
label=_('RIR'),
|
label=_('RIR'),
|
||||||
queryset=RIR.objects.all(),
|
queryset=RIR.objects.all(),
|
||||||
@@ -147,14 +147,14 @@ class ASNImportForm(PrimaryModelBulkImportForm):
|
|||||||
fields = ('asn', 'rir', 'tenant', 'description', 'owner', 'comments', 'tags')
|
fields = ('asn', 'rir', 'tenant', 'description', 'owner', 'comments', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class RoleImportForm(OrganizationalModelBulkImportForm):
|
class RoleImportForm(OrganizationalModelImportForm):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Role
|
model = Role
|
||||||
fields = ('name', 'slug', 'weight', 'description', 'owner', 'tags')
|
fields = ('name', 'slug', 'weight', 'description', 'owner', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class PrefixImportForm(ScopedImportForm, PrimaryModelBulkImportForm):
|
class PrefixImportForm(ScopedImportForm, PrimaryModelImportForm):
|
||||||
vrf = CSVModelChoiceField(
|
vrf = CSVModelChoiceField(
|
||||||
label=_('VRF'),
|
label=_('VRF'),
|
||||||
queryset=VRF.objects.all(),
|
queryset=VRF.objects.all(),
|
||||||
@@ -243,7 +243,7 @@ class PrefixImportForm(ScopedImportForm, PrimaryModelBulkImportForm):
|
|||||||
self.fields['vlan'].queryset = queryset
|
self.fields['vlan'].queryset = queryset
|
||||||
|
|
||||||
|
|
||||||
class IPRangeImportForm(PrimaryModelBulkImportForm):
|
class IPRangeImportForm(PrimaryModelImportForm):
|
||||||
vrf = CSVModelChoiceField(
|
vrf = CSVModelChoiceField(
|
||||||
label=_('VRF'),
|
label=_('VRF'),
|
||||||
queryset=VRF.objects.all(),
|
queryset=VRF.objects.all(),
|
||||||
@@ -279,7 +279,7 @@ class IPRangeImportForm(PrimaryModelBulkImportForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class IPAddressImportForm(PrimaryModelBulkImportForm):
|
class IPAddressImportForm(PrimaryModelImportForm):
|
||||||
vrf = CSVModelChoiceField(
|
vrf = CSVModelChoiceField(
|
||||||
label=_('VRF'),
|
label=_('VRF'),
|
||||||
queryset=VRF.objects.all(),
|
queryset=VRF.objects.all(),
|
||||||
@@ -427,7 +427,7 @@ class IPAddressImportForm(PrimaryModelBulkImportForm):
|
|||||||
return ipaddress
|
return ipaddress
|
||||||
|
|
||||||
|
|
||||||
class FHRPGroupImportForm(PrimaryModelBulkImportForm):
|
class FHRPGroupImportForm(PrimaryModelImportForm):
|
||||||
protocol = CSVChoiceField(
|
protocol = CSVChoiceField(
|
||||||
label=_('Protocol'),
|
label=_('Protocol'),
|
||||||
choices=FHRPGroupProtocolChoices
|
choices=FHRPGroupProtocolChoices
|
||||||
@@ -443,7 +443,7 @@ class FHRPGroupImportForm(PrimaryModelBulkImportForm):
|
|||||||
fields = ('protocol', 'group_id', 'auth_type', 'auth_key', 'name', 'description', 'owner', 'comments', 'tags')
|
fields = ('protocol', 'group_id', 'auth_type', 'auth_key', 'name', 'description', 'owner', 'comments', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class VLANGroupImportForm(OrganizationalModelBulkImportForm):
|
class VLANGroupImportForm(OrganizationalModelImportForm):
|
||||||
scope_type = CSVContentTypeField(
|
scope_type = CSVContentTypeField(
|
||||||
queryset=ContentType.objects.filter(model__in=VLANGROUP_SCOPE_TYPES),
|
queryset=ContentType.objects.filter(model__in=VLANGROUP_SCOPE_TYPES),
|
||||||
required=False,
|
required=False,
|
||||||
@@ -468,7 +468,7 @@ class VLANGroupImportForm(OrganizationalModelBulkImportForm):
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class VLANImportForm(PrimaryModelBulkImportForm):
|
class VLANImportForm(PrimaryModelImportForm):
|
||||||
site = CSVModelChoiceField(
|
site = CSVModelChoiceField(
|
||||||
label=_('Site'),
|
label=_('Site'),
|
||||||
queryset=Site.objects.all(),
|
queryset=Site.objects.all(),
|
||||||
@@ -524,7 +524,7 @@ class VLANImportForm(PrimaryModelBulkImportForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class VLANTranslationPolicyImportForm(PrimaryModelBulkImportForm):
|
class VLANTranslationPolicyImportForm(PrimaryModelImportForm):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = VLANTranslationPolicy
|
model = VLANTranslationPolicy
|
||||||
@@ -544,7 +544,7 @@ class VLANTranslationRuleImportForm(NetBoxModelImportForm):
|
|||||||
fields = ('policy', 'local_vid', 'remote_vid')
|
fields = ('policy', 'local_vid', 'remote_vid')
|
||||||
|
|
||||||
|
|
||||||
class ServiceTemplateImportForm(PrimaryModelBulkImportForm):
|
class ServiceTemplateImportForm(PrimaryModelImportForm):
|
||||||
protocol = CSVChoiceField(
|
protocol = CSVChoiceField(
|
||||||
label=_('Protocol'),
|
label=_('Protocol'),
|
||||||
choices=ServiceProtocolChoices,
|
choices=ServiceProtocolChoices,
|
||||||
@@ -556,7 +556,7 @@ class ServiceTemplateImportForm(PrimaryModelBulkImportForm):
|
|||||||
fields = ('name', 'protocol', 'ports', 'description', 'owner', 'comments', 'tags')
|
fields = ('name', 'protocol', 'ports', 'description', 'owner', 'comments', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class ServiceImportForm(PrimaryModelBulkImportForm):
|
class ServiceImportForm(PrimaryModelImportForm):
|
||||||
parent_object_type = CSVContentTypeField(
|
parent_object_type = CSVContentTypeField(
|
||||||
queryset=ContentType.objects.filter(SERVICE_ASSIGNMENT_MODELS),
|
queryset=ContentType.objects.filter(SERVICE_ASSIGNMENT_MODELS),
|
||||||
required=True,
|
required=True,
|
||||||
|
|||||||
@@ -9,11 +9,11 @@ from utilities.forms.fields import CSVModelMultipleChoiceField, CSVModelChoiceFi
|
|||||||
from .model_forms import NetBoxModelForm
|
from .model_forms import NetBoxModelForm
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
'NestedGroupModelBulkImportForm',
|
'NestedGroupModelImportForm',
|
||||||
'NetBoxModelImportForm',
|
'NetBoxModelImportForm',
|
||||||
'OrganizationalModelBulkImportForm',
|
'OrganizationalModelImportForm',
|
||||||
'OwnerCSVMixin',
|
'OwnerCSVMixin',
|
||||||
'PrimaryModelBulkImportForm'
|
'PrimaryModelImportForm'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -48,21 +48,21 @@ class OwnerCSVMixin(forms.Form):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class PrimaryModelBulkImportForm(OwnerCSVMixin, NetBoxModelImportForm):
|
class PrimaryModelImportForm(OwnerCSVMixin, NetBoxModelImportForm):
|
||||||
"""
|
"""
|
||||||
Bulk import form for models which inherit from PrimaryModel.
|
Bulk import form for models which inherit from PrimaryModel.
|
||||||
"""
|
"""
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class OrganizationalModelBulkImportForm(OwnerCSVMixin, NetBoxModelImportForm):
|
class OrganizationalModelImportForm(OwnerCSVMixin, NetBoxModelImportForm):
|
||||||
"""
|
"""
|
||||||
Bulk import form for models which inherit from OrganizationalModel.
|
Bulk import form for models which inherit from OrganizationalModel.
|
||||||
"""
|
"""
|
||||||
slug = SlugField()
|
slug = SlugField()
|
||||||
|
|
||||||
|
|
||||||
class NestedGroupModelBulkImportForm(OwnerCSVMixin, NetBoxModelImportForm):
|
class NestedGroupModelImportForm(OwnerCSVMixin, NetBoxModelImportForm):
|
||||||
"""
|
"""
|
||||||
Bulk import form for models which inherit from NestedGroupModel.
|
Bulk import form for models which inherit from NestedGroupModel.
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ from django.contrib.contenttypes.models import ContentType
|
|||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from netbox.forms import (
|
from netbox.forms import (
|
||||||
NestedGroupModelBulkImportForm, NetBoxModelImportForm, OrganizationalModelBulkImportForm,
|
NestedGroupModelImportForm, NetBoxModelImportForm, OrganizationalModelImportForm,
|
||||||
PrimaryModelBulkImportForm,
|
PrimaryModelImportForm,
|
||||||
)
|
)
|
||||||
from tenancy.models import *
|
from tenancy.models import *
|
||||||
from utilities.forms.fields import CSVContentTypeField, CSVModelChoiceField, CSVModelMultipleChoiceField, SlugField
|
from utilities.forms.fields import CSVContentTypeField, CSVModelChoiceField, CSVModelMultipleChoiceField, SlugField
|
||||||
@@ -23,7 +23,7 @@ __all__ = (
|
|||||||
# Tenants
|
# Tenants
|
||||||
#
|
#
|
||||||
|
|
||||||
class TenantGroupImportForm(NestedGroupModelBulkImportForm):
|
class TenantGroupImportForm(NestedGroupModelImportForm):
|
||||||
parent = CSVModelChoiceField(
|
parent = CSVModelChoiceField(
|
||||||
label=_('Parent'),
|
label=_('Parent'),
|
||||||
queryset=TenantGroup.objects.all(),
|
queryset=TenantGroup.objects.all(),
|
||||||
@@ -37,7 +37,7 @@ class TenantGroupImportForm(NestedGroupModelBulkImportForm):
|
|||||||
fields = ('name', 'slug', 'parent', 'description', 'owner', 'comments', 'tags')
|
fields = ('name', 'slug', 'parent', 'description', 'owner', 'comments', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class TenantImportForm(PrimaryModelBulkImportForm):
|
class TenantImportForm(PrimaryModelImportForm):
|
||||||
slug = SlugField()
|
slug = SlugField()
|
||||||
group = CSVModelChoiceField(
|
group = CSVModelChoiceField(
|
||||||
label=_('Group'),
|
label=_('Group'),
|
||||||
@@ -56,7 +56,7 @@ class TenantImportForm(PrimaryModelBulkImportForm):
|
|||||||
# Contacts
|
# Contacts
|
||||||
#
|
#
|
||||||
|
|
||||||
class ContactGroupImportForm(NestedGroupModelBulkImportForm):
|
class ContactGroupImportForm(NestedGroupModelImportForm):
|
||||||
parent = CSVModelChoiceField(
|
parent = CSVModelChoiceField(
|
||||||
label=_('Parent'),
|
label=_('Parent'),
|
||||||
queryset=ContactGroup.objects.all(),
|
queryset=ContactGroup.objects.all(),
|
||||||
@@ -70,14 +70,14 @@ class ContactGroupImportForm(NestedGroupModelBulkImportForm):
|
|||||||
fields = ('name', 'slug', 'parent', 'description', 'owner', 'comments', 'tags')
|
fields = ('name', 'slug', 'parent', 'description', 'owner', 'comments', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class ContactRoleImportForm(OrganizationalModelBulkImportForm):
|
class ContactRoleImportForm(OrganizationalModelImportForm):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = ContactRole
|
model = ContactRole
|
||||||
fields = ('name', 'slug', 'description', 'owner', 'tags')
|
fields = ('name', 'slug', 'description', 'owner', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class ContactImportForm(PrimaryModelBulkImportForm):
|
class ContactImportForm(PrimaryModelImportForm):
|
||||||
groups = CSVModelMultipleChoiceField(
|
groups = CSVModelMultipleChoiceField(
|
||||||
queryset=ContactGroup.objects.all(),
|
queryset=ContactGroup.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ from dcim.models import Device, DeviceRole, Platform, Site
|
|||||||
from extras.models import ConfigTemplate
|
from extras.models import ConfigTemplate
|
||||||
from ipam.models import VRF
|
from ipam.models import VRF
|
||||||
from netbox.forms import (
|
from netbox.forms import (
|
||||||
NetBoxModelImportForm, OrganizationalModelBulkImportForm, OwnerCSVMixin, PrimaryModelBulkImportForm,
|
NetBoxModelImportForm, OrganizationalModelImportForm, OwnerCSVMixin, PrimaryModelImportForm,
|
||||||
)
|
)
|
||||||
from tenancy.models import Tenant
|
from tenancy.models import Tenant
|
||||||
from utilities.forms.fields import CSVChoiceField, CSVModelChoiceField
|
from utilities.forms.fields import CSVChoiceField, CSVModelChoiceField
|
||||||
@@ -23,21 +23,21 @@ __all__ = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class ClusterTypeImportForm(OrganizationalModelBulkImportForm):
|
class ClusterTypeImportForm(OrganizationalModelImportForm):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = ClusterType
|
model = ClusterType
|
||||||
fields = ('name', 'slug', 'description', 'owner', 'tags')
|
fields = ('name', 'slug', 'description', 'owner', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class ClusterGroupImportForm(OrganizationalModelBulkImportForm):
|
class ClusterGroupImportForm(OrganizationalModelImportForm):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = ClusterGroup
|
model = ClusterGroup
|
||||||
fields = ('name', 'slug', 'description', 'owner', 'tags')
|
fields = ('name', 'slug', 'description', 'owner', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class ClusterImportForm(ScopedImportForm, PrimaryModelBulkImportForm):
|
class ClusterImportForm(ScopedImportForm, PrimaryModelImportForm):
|
||||||
type = CSVModelChoiceField(
|
type = CSVModelChoiceField(
|
||||||
label=_('Type'),
|
label=_('Type'),
|
||||||
queryset=ClusterType.objects.all(),
|
queryset=ClusterType.objects.all(),
|
||||||
@@ -82,7 +82,7 @@ class ClusterImportForm(ScopedImportForm, PrimaryModelBulkImportForm):
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class VirtualMachineImportForm(PrimaryModelBulkImportForm):
|
class VirtualMachineImportForm(PrimaryModelImportForm):
|
||||||
status = CSVChoiceField(
|
status = CSVChoiceField(
|
||||||
label=_('Status'),
|
label=_('Status'),
|
||||||
choices=VirtualMachineStatusChoices,
|
choices=VirtualMachineStatusChoices,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ from django.utils.translation import gettext_lazy as _
|
|||||||
|
|
||||||
from dcim.models import Device, Interface
|
from dcim.models import Device, Interface
|
||||||
from ipam.models import IPAddress, VLAN
|
from ipam.models import IPAddress, VLAN
|
||||||
from netbox.forms import NetBoxModelImportForm, OrganizationalModelBulkImportForm, PrimaryModelBulkImportForm
|
from netbox.forms import NetBoxModelImportForm, OrganizationalModelImportForm, PrimaryModelImportForm
|
||||||
from tenancy.models import Tenant
|
from tenancy.models import Tenant
|
||||||
from utilities.forms.fields import CSVChoiceField, CSVModelChoiceField, CSVModelMultipleChoiceField
|
from utilities.forms.fields import CSVChoiceField, CSVModelChoiceField, CSVModelMultipleChoiceField
|
||||||
from virtualization.models import VirtualMachine, VMInterface
|
from virtualization.models import VirtualMachine, VMInterface
|
||||||
@@ -24,14 +24,14 @@ __all__ = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class TunnelGroupImportForm(OrganizationalModelBulkImportForm):
|
class TunnelGroupImportForm(OrganizationalModelImportForm):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = TunnelGroup
|
model = TunnelGroup
|
||||||
fields = ('name', 'slug', 'description', 'owner', 'tags')
|
fields = ('name', 'slug', 'description', 'owner', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class TunnelImportForm(PrimaryModelBulkImportForm):
|
class TunnelImportForm(PrimaryModelImportForm):
|
||||||
status = CSVChoiceField(
|
status = CSVChoiceField(
|
||||||
label=_('Status'),
|
label=_('Status'),
|
||||||
choices=TunnelStatusChoices,
|
choices=TunnelStatusChoices,
|
||||||
@@ -139,7 +139,7 @@ class TunnelTerminationImportForm(NetBoxModelImportForm):
|
|||||||
return super().save(*args, **kwargs)
|
return super().save(*args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
class IKEProposalImportForm(PrimaryModelBulkImportForm):
|
class IKEProposalImportForm(PrimaryModelImportForm):
|
||||||
authentication_method = CSVChoiceField(
|
authentication_method = CSVChoiceField(
|
||||||
label=_('Authentication method'),
|
label=_('Authentication method'),
|
||||||
choices=AuthenticationMethodChoices
|
choices=AuthenticationMethodChoices
|
||||||
@@ -166,7 +166,7 @@ class IKEProposalImportForm(PrimaryModelBulkImportForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class IKEPolicyImportForm(PrimaryModelBulkImportForm):
|
class IKEPolicyImportForm(PrimaryModelImportForm):
|
||||||
version = CSVChoiceField(
|
version = CSVChoiceField(
|
||||||
label=_('Version'),
|
label=_('Version'),
|
||||||
choices=IKEVersionChoices
|
choices=IKEVersionChoices
|
||||||
@@ -189,7 +189,7 @@ class IKEPolicyImportForm(PrimaryModelBulkImportForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class IPSecProposalImportForm(PrimaryModelBulkImportForm):
|
class IPSecProposalImportForm(PrimaryModelImportForm):
|
||||||
encryption_algorithm = CSVChoiceField(
|
encryption_algorithm = CSVChoiceField(
|
||||||
label=_('Encryption algorithm'),
|
label=_('Encryption algorithm'),
|
||||||
choices=EncryptionAlgorithmChoices,
|
choices=EncryptionAlgorithmChoices,
|
||||||
@@ -209,7 +209,7 @@ class IPSecProposalImportForm(PrimaryModelBulkImportForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class IPSecPolicyImportForm(PrimaryModelBulkImportForm):
|
class IPSecPolicyImportForm(PrimaryModelImportForm):
|
||||||
pfs_group = CSVChoiceField(
|
pfs_group = CSVChoiceField(
|
||||||
label=_('Diffie-Hellman group for Perfect Forward Secrecy'),
|
label=_('Diffie-Hellman group for Perfect Forward Secrecy'),
|
||||||
choices=DHGroupChoices,
|
choices=DHGroupChoices,
|
||||||
@@ -228,7 +228,7 @@ class IPSecPolicyImportForm(PrimaryModelBulkImportForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class IPSecProfileImportForm(PrimaryModelBulkImportForm):
|
class IPSecProfileImportForm(PrimaryModelImportForm):
|
||||||
mode = CSVChoiceField(
|
mode = CSVChoiceField(
|
||||||
label=_('Mode'),
|
label=_('Mode'),
|
||||||
choices=IPSecModeChoices,
|
choices=IPSecModeChoices,
|
||||||
@@ -252,7 +252,7 @@ class IPSecProfileImportForm(PrimaryModelBulkImportForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class L2VPNImportForm(PrimaryModelBulkImportForm):
|
class L2VPNImportForm(PrimaryModelImportForm):
|
||||||
tenant = CSVModelChoiceField(
|
tenant = CSVModelChoiceField(
|
||||||
label=_('Tenant'),
|
label=_('Tenant'),
|
||||||
queryset=Tenant.objects.all(),
|
queryset=Tenant.objects.all(),
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ from dcim.forms.mixins import ScopedImportForm
|
|||||||
from dcim.models import Device, Interface, Site
|
from dcim.models import Device, Interface, Site
|
||||||
from ipam.models import VLAN
|
from ipam.models import VLAN
|
||||||
from netbox.choices import *
|
from netbox.choices import *
|
||||||
from netbox.forms import NestedGroupModelBulkImportForm, PrimaryModelBulkImportForm
|
from netbox.forms import NestedGroupModelImportForm, PrimaryModelImportForm
|
||||||
from tenancy.models import Tenant
|
from tenancy.models import Tenant
|
||||||
from utilities.forms.fields import CSVChoiceField, CSVModelChoiceField
|
from utilities.forms.fields import CSVChoiceField, CSVModelChoiceField
|
||||||
from wireless.choices import *
|
from wireless.choices import *
|
||||||
@@ -18,7 +18,7 @@ __all__ = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class WirelessLANGroupImportForm(NestedGroupModelBulkImportForm):
|
class WirelessLANGroupImportForm(NestedGroupModelImportForm):
|
||||||
parent = CSVModelChoiceField(
|
parent = CSVModelChoiceField(
|
||||||
label=_('Parent'),
|
label=_('Parent'),
|
||||||
queryset=WirelessLANGroup.objects.all(),
|
queryset=WirelessLANGroup.objects.all(),
|
||||||
@@ -32,7 +32,7 @@ class WirelessLANGroupImportForm(NestedGroupModelBulkImportForm):
|
|||||||
fields = ('name', 'slug', 'parent', 'description', 'owner', 'comments', 'tags')
|
fields = ('name', 'slug', 'parent', 'description', 'owner', 'comments', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class WirelessLANImportForm(ScopedImportForm, PrimaryModelBulkImportForm):
|
class WirelessLANImportForm(ScopedImportForm, PrimaryModelImportForm):
|
||||||
group = CSVModelChoiceField(
|
group = CSVModelChoiceField(
|
||||||
label=_('Group'),
|
label=_('Group'),
|
||||||
queryset=WirelessLANGroup.objects.all(),
|
queryset=WirelessLANGroup.objects.all(),
|
||||||
@@ -83,7 +83,7 @@ class WirelessLANImportForm(ScopedImportForm, PrimaryModelBulkImportForm):
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class WirelessLinkImportForm(PrimaryModelBulkImportForm):
|
class WirelessLinkImportForm(PrimaryModelImportForm):
|
||||||
# Termination A
|
# Termination A
|
||||||
site_a = CSVModelChoiceField(
|
site_a = CSVModelChoiceField(
|
||||||
label=_('Site A'),
|
label=_('Site A'),
|
||||||
|
|||||||
Reference in New Issue
Block a user