Browse Source

Finished implementing CSV imports

Jeremy Stretch 7 years ago
parent
commit
f66b0b7fea
1 changed files with 22 additions and 2 deletions
  1. 22 2
      netbox/virtualization/forms.py

+ 22 - 2
netbox/virtualization/forms.py

@@ -7,7 +7,7 @@ from django.db.models import Count
 
 
 from dcim.constants import VIFACE_FF_CHOICES
 from dcim.constants import VIFACE_FF_CHOICES
 from dcim.formfields import MACAddressFormField
 from dcim.formfields import MACAddressFormField
-from dcim.models import Device, Interface, Rack, Region, Site
+from dcim.models import Device, Interface, Platform, Rack, Region, Site
 from extras.forms import CustomFieldBulkEditForm, CustomFieldForm, CustomFieldFilterForm
 from extras.forms import CustomFieldBulkEditForm, CustomFieldForm, CustomFieldFilterForm
 from tenancy.forms import TenancyForm
 from tenancy.forms import TenancyForm
 from tenancy.models import Tenant
 from tenancy.models import Tenant
@@ -74,6 +74,7 @@ class ClusterCSVForm(forms.ModelForm):
     )
     )
 
 
     class Meta:
     class Meta:
+        model = Cluster
         fields = ['name', 'type', 'group']
         fields = ['name', 'type', 'group']
 
 
 
 
@@ -199,9 +200,28 @@ class VirtualMachineCSVForm(forms.ModelForm):
             'invalid_choice': 'Invalid cluster name.',
             'invalid_choice': 'Invalid cluster name.',
         }
         }
     )
     )
+    tenant = forms.ModelChoiceField(
+        queryset=Tenant.objects.all(),
+        required=False,
+        to_field_name='name',
+        help_text='Name of assigned tenant',
+        error_messages={
+            'invalid_choice': 'Tenant not found.'
+        }
+    )
+    platform = forms.ModelChoiceField(
+        queryset=Platform.objects.all(),
+        required=False,
+        to_field_name='name',
+        help_text='Name of assigned platform',
+        error_messages={
+            'invalid_choice': 'Invalid platform.',
+        }
+    )
 
 
     class Meta:
     class Meta:
-        fields = ['cluster', 'name', 'tenant', 'platform', 'vcpus', 'memory', 'disk', 'comments']
+        model = VirtualMachine
+        fields = ['name', 'cluster', 'tenant', 'platform', 'vcpus', 'memory', 'disk', 'comments']
 
 
 
 
 class VirtualMachineBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm):
 class VirtualMachineBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm):