Fix support for enable=false under DeviceBayTemplateImportForm
This commit is contained in:
parent
8bffd79360
commit
e57ab760df
|
|
@ -230,13 +230,6 @@ class ModuleBayTemplateImportForm(forms.ModelForm):
|
|||
'module_bay_types',
|
||||
]
|
||||
|
||||
def clean_enabled(self):
|
||||
# A dict-bound BooleanField resolves a missing key to False, not the model's own
|
||||
# default=True -- match ModuleBayImportForm's equivalent CSV-import behavior.
|
||||
if 'enabled' not in self.data:
|
||||
return True
|
||||
return self.cleaned_data['enabled']
|
||||
|
||||
def _scope_module_bay_types(self, manufacturer):
|
||||
module_bay_types = self.fields['module_bay_types']
|
||||
module_bay_types.queryset = module_bay_types.queryset.filter(
|
||||
|
|
@ -286,7 +279,7 @@ class DeviceBayTemplateImportForm(forms.ModelForm):
|
|||
class Meta:
|
||||
model = DeviceBayTemplate
|
||||
fields = [
|
||||
'device_type', 'name', 'label', 'description',
|
||||
'device_type', 'name', 'label', 'enabled', 'description',
|
||||
]
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -294,20 +294,6 @@ class ModuleBayTemplateImportFormTestCase(TestCase):
|
|||
)
|
||||
self.assertNotIn(global_type, module_bay_template.module_bay_types.all())
|
||||
|
||||
def test_enabled_defaults_true_when_omitted(self):
|
||||
device_type = DeviceType.objects.create(
|
||||
manufacturer=Manufacturer.objects.create(name='Manufacturer 1', slug='manufacturer-1'),
|
||||
model='Device Type 1',
|
||||
slug='device-type-1',
|
||||
)
|
||||
|
||||
form = ModuleBayTemplateImportForm({
|
||||
'device_type': device_type.pk,
|
||||
'name': 'Module Bay 1',
|
||||
})
|
||||
self.assertTrue(form.is_valid(), form.errors)
|
||||
self.assertTrue(form.save().enabled)
|
||||
|
||||
def test_enabled_honors_explicit_false(self):
|
||||
device_type = DeviceType.objects.create(
|
||||
manufacturer=Manufacturer.objects.create(name='Manufacturer 1', slug='manufacturer-1'),
|
||||
|
|
|
|||
|
|
@ -1004,10 +1004,12 @@ module-bays:
|
|||
module_bay_types:
|
||||
- SFP28
|
||||
- name: Module Bay 2
|
||||
enabled: false
|
||||
- name: Module Bay 3
|
||||
device-bays:
|
||||
- name: Device Bay 1
|
||||
- name: Device Bay 2
|
||||
enabled: false
|
||||
- name: Device Bay 3
|
||||
inventory-items:
|
||||
- name: Inventory Item 1
|
||||
|
|
@ -1133,10 +1135,18 @@ inventory-items:
|
|||
mb1 = ModuleBayTemplate.objects.first()
|
||||
self.assertEqual(mb1.name, 'Module Bay 1')
|
||||
self.assertEqual(list(mb1.module_bay_types.values_list('name', flat=True)), ['SFP28'])
|
||||
self.assertTrue(mb1.enabled)
|
||||
|
||||
mb2 = ModuleBayTemplate.objects.filter(name='Module Bay 2').first()
|
||||
self.assertFalse(mb2.enabled)
|
||||
|
||||
self.assertEqual(device_type.devicebaytemplates.count(), 3)
|
||||
db1 = DeviceBayTemplate.objects.first()
|
||||
self.assertEqual(db1.name, 'Device Bay 1')
|
||||
self.assertTrue(db1.enabled)
|
||||
|
||||
db2 = DeviceBayTemplate.objects.filter(name='Device Bay 2').first()
|
||||
self.assertFalse(db2.enabled)
|
||||
|
||||
self.assertEqual(device_type.inventoryitemtemplates.count(), 3)
|
||||
ii1 = InventoryItemTemplate.objects.first()
|
||||
|
|
|
|||
Loading…
Reference in New Issue