mirror of
https://github.com/netbox-community/netbox.git
synced 2026-04-27 03:09:31 +02:00
@@ -5,9 +5,11 @@ from dcim.forms.mixins import ScopedImportForm
|
||||
from dcim.models import Device, DeviceRole, Platform, Site
|
||||
from extras.models import ConfigTemplate
|
||||
from ipam.models import VRF
|
||||
from netbox.forms import NetBoxModelImportForm
|
||||
from netbox.forms import (
|
||||
NetBoxModelImportForm, OrganizationalModelImportForm, OwnerCSVMixin, PrimaryModelImportForm,
|
||||
)
|
||||
from tenancy.models import Tenant
|
||||
from utilities.forms.fields import CSVChoiceField, CSVModelChoiceField, SlugField
|
||||
from utilities.forms.fields import CSVChoiceField, CSVModelChoiceField
|
||||
from virtualization.choices import *
|
||||
from virtualization.models import *
|
||||
|
||||
@@ -21,23 +23,21 @@ __all__ = (
|
||||
)
|
||||
|
||||
|
||||
class ClusterTypeImportForm(NetBoxModelImportForm):
|
||||
slug = SlugField()
|
||||
class ClusterTypeImportForm(OrganizationalModelImportForm):
|
||||
|
||||
class Meta:
|
||||
model = ClusterType
|
||||
fields = ('name', 'slug', 'description', 'tags')
|
||||
fields = ('name', 'slug', 'description', 'owner', 'tags')
|
||||
|
||||
|
||||
class ClusterGroupImportForm(NetBoxModelImportForm):
|
||||
slug = SlugField()
|
||||
class ClusterGroupImportForm(OrganizationalModelImportForm):
|
||||
|
||||
class Meta:
|
||||
model = ClusterGroup
|
||||
fields = ('name', 'slug', 'description', 'tags')
|
||||
fields = ('name', 'slug', 'description', 'owner', 'tags')
|
||||
|
||||
|
||||
class ClusterImportForm(ScopedImportForm, NetBoxModelImportForm):
|
||||
class ClusterImportForm(ScopedImportForm, PrimaryModelImportForm):
|
||||
type = CSVModelChoiceField(
|
||||
label=_('Type'),
|
||||
queryset=ClusterType.objects.all(),
|
||||
@@ -74,14 +74,15 @@ class ClusterImportForm(ScopedImportForm, NetBoxModelImportForm):
|
||||
class Meta:
|
||||
model = Cluster
|
||||
fields = (
|
||||
'name', 'type', 'group', 'status', 'scope_type', 'scope_id', 'tenant', 'description', 'comments', 'tags',
|
||||
'name', 'type', 'group', 'status', 'scope_type', 'scope_id', 'tenant', 'description', 'owner', 'comments',
|
||||
'tags',
|
||||
)
|
||||
labels = {
|
||||
'scope_id': _('Scope ID'),
|
||||
}
|
||||
|
||||
|
||||
class VirtualMachineImportForm(NetBoxModelImportForm):
|
||||
class VirtualMachineImportForm(PrimaryModelImportForm):
|
||||
status = CSVChoiceField(
|
||||
label=_('Status'),
|
||||
choices=VirtualMachineStatusChoices,
|
||||
@@ -143,11 +144,11 @@ class VirtualMachineImportForm(NetBoxModelImportForm):
|
||||
model = VirtualMachine
|
||||
fields = (
|
||||
'name', 'status', 'role', 'site', 'cluster', 'device', 'tenant', 'platform', 'vcpus', 'memory', 'disk',
|
||||
'description', 'serial', 'config_template', 'comments', 'tags',
|
||||
'description', 'serial', 'config_template', 'comments', 'owner', 'tags',
|
||||
)
|
||||
|
||||
|
||||
class VMInterfaceImportForm(NetBoxModelImportForm):
|
||||
class VMInterfaceImportForm(OwnerCSVMixin, NetBoxModelImportForm):
|
||||
virtual_machine = CSVModelChoiceField(
|
||||
label=_('Virtual machine'),
|
||||
queryset=VirtualMachine.objects.all(),
|
||||
@@ -185,7 +186,7 @@ class VMInterfaceImportForm(NetBoxModelImportForm):
|
||||
model = VMInterface
|
||||
fields = (
|
||||
'virtual_machine', 'name', 'parent', 'bridge', 'enabled', 'mtu', 'description', 'mode',
|
||||
'vrf', 'tags'
|
||||
'vrf', 'owner', 'tags'
|
||||
)
|
||||
|
||||
def __init__(self, data=None, *args, **kwargs):
|
||||
@@ -208,7 +209,7 @@ class VMInterfaceImportForm(NetBoxModelImportForm):
|
||||
return self.cleaned_data['enabled']
|
||||
|
||||
|
||||
class VirtualDiskImportForm(NetBoxModelImportForm):
|
||||
class VirtualDiskImportForm(OwnerCSVMixin, NetBoxModelImportForm):
|
||||
virtual_machine = CSVModelChoiceField(
|
||||
label=_('Virtual machine'),
|
||||
queryset=VirtualMachine.objects.all(),
|
||||
@@ -218,5 +219,5 @@ class VirtualDiskImportForm(NetBoxModelImportForm):
|
||||
class Meta:
|
||||
model = VirtualDisk
|
||||
fields = (
|
||||
'virtual_machine', 'name', 'size', 'description', 'tags'
|
||||
'virtual_machine', 'name', 'size', 'description', 'owner', 'tags'
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user