7699 bulk_import

This commit is contained in:
Arthur Hanson 2024-10-23 13:04:12 -07:00
parent 286f56bfc6
commit 4c3d1ce95b

View File

@ -1,3 +1,4 @@
from django.contrib.contenttypes.models import ContentType
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from dcim.choices import InterfaceModeChoices from dcim.choices import InterfaceModeChoices
@ -6,8 +7,9 @@ from extras.models import ConfigTemplate
from ipam.models import VRF from ipam.models import VRF
from netbox.forms import NetBoxModelImportForm from netbox.forms import NetBoxModelImportForm
from tenancy.models import Tenant from tenancy.models import Tenant
from utilities.forms.fields import CSVChoiceField, CSVModelChoiceField, SlugField from utilities.forms.fields import CSVChoiceField, CSVContentTypeField, CSVModelChoiceField, SlugField
from virtualization.choices import * from virtualization.choices import *
from virtualization.constants import CLUSTER_SCOPE_TYPES
from virtualization.models import * from virtualization.models import *
__all__ = ( __all__ = (
@ -55,6 +57,11 @@ class ClusterImportForm(NetBoxModelImportForm):
choices=ClusterStatusChoices, choices=ClusterStatusChoices,
help_text=_('Operational status') help_text=_('Operational status')
) )
scope_type = CSVContentTypeField(
queryset=ContentType.objects.filter(model__in=CLUSTER_SCOPE_TYPES),
required=False,
label=_('Scope type (app & model)')
)
site = CSVModelChoiceField( site = CSVModelChoiceField(
label=_('Site'), label=_('Site'),
queryset=Site.objects.all(), queryset=Site.objects.all(),
@ -72,7 +79,10 @@ class ClusterImportForm(NetBoxModelImportForm):
class Meta: class Meta:
model = Cluster model = Cluster
fields = ('name', 'type', 'group', 'status', 'site', 'tenant', 'description', 'comments', 'tags') fields = ('name', 'type', 'group', 'status', 'scope_type', 'scope_id', 'tenant', 'description', 'comments', 'tags')
labels = {
'scope_id': 'Scope ID',
}
class VirtualMachineImportForm(NetBoxModelImportForm): class VirtualMachineImportForm(NetBoxModelImportForm):