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

#1493: Extended DeviceRole to include a toggle indicating applicability to virtual machines

This commit is contained in:
Jeremy Stretch
2017-09-29 12:11:20 -04:00
parent 0deae84ecb
commit a6599874db
7 changed files with 34 additions and 7 deletions

View File

@@ -253,7 +253,7 @@ class VirtualMachineCSVForm(forms.ModelForm):
}
)
role = forms.ModelChoiceField(
queryset=DeviceRole.objects.all(),
queryset=DeviceRole.objects.filter(vm_role=True),
required=False,
to_field_name='name',
help_text='Name of functional role',
@@ -289,7 +289,7 @@ class VirtualMachineBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm):
pk = forms.ModelMultipleChoiceField(queryset=VirtualMachine.objects.all(), widget=forms.MultipleHiddenInput)
status = forms.ChoiceField(choices=add_blank_choice(STATUS_CHOICES), required=False, initial='')
cluster = forms.ModelChoiceField(queryset=Cluster.objects.all(), required=False)
role = forms.ModelChoiceField(queryset=DeviceRole.objects.all(), required=False)
role = forms.ModelChoiceField(queryset=DeviceRole.objects.filter(vm_role=True), required=False)
tenant = forms.ModelChoiceField(queryset=Tenant.objects.all(), required=False)
platform = forms.ModelChoiceField(queryset=Platform.objects.all(), required=False)
vcpus = forms.IntegerField(required=False, label='vCPUs')
@@ -321,7 +321,7 @@ class VirtualMachineFilterForm(BootstrapMixin, CustomFieldFilterForm):
label='Cluster'
)
role = FilterChoiceField(
queryset=DeviceRole.objects.annotate(filter_count=Count('virtual_machines')),
queryset=DeviceRole.objects.filter(vm_role=True).annotate(filter_count=Count('virtual_machines')),
to_field_name='slug',
null_option=(0, 'None')
)

View File

@@ -181,6 +181,7 @@ class VirtualMachine(CreatedUpdatedModel, CustomFieldModel):
)
role = models.ForeignKey(
to='dcim.DeviceRole',
limit_choices_to={'vm_role': True},
on_delete=models.PROTECT,
related_name='virtual_machines',
blank=True,