File tree 2 files changed +15
-8
lines changed
2 files changed +15
-8
lines changed Original file line number Diff line number Diff line change @@ -427,7 +427,7 @@ class DeviceFromCSVForm(forms.ModelForm):
427
427
'invalid_choice' : 'Invalid site name.' ,
428
428
})
429
429
rack_name = forms .CharField ()
430
- face = forms .ChoiceField ( choices = [( 'Front' , 'Front' ), ( 'Rear' , 'Rear' )] )
430
+ face = forms .CharField ( required = False )
431
431
432
432
class Meta :
433
433
model = Device
@@ -446,7 +446,7 @@ def clean(self):
446
446
try :
447
447
self .instance .device_type = DeviceType .objects .get (manufacturer = manufacturer , model = model_name )
448
448
except DeviceType .DoesNotExist :
449
- self .add_error ('model_name' , "Invalid device type ({})" .format (model_name ))
449
+ self .add_error ('model_name' , "Invalid device type ({} {} )" .format (manufacturer , model_name ))
450
450
451
451
# Validate rack
452
452
if site and rack_name :
@@ -457,11 +457,15 @@ def clean(self):
457
457
458
458
def clean_face (self ):
459
459
face = self .cleaned_data ['face' ]
460
- if face .lower () == 'front' :
461
- return 0
462
- if face .lower () == 'rear' :
463
- return 1
464
- raise forms .ValidationError ("Invalid rack face ({})" .format (face ))
460
+ if face :
461
+ try :
462
+ return {
463
+ 'front' : 0 ,
464
+ 'rear' : 1 ,
465
+ }[face .lower ()]
466
+ except KeyError :
467
+ raise forms .ValidationError ('Invalid rack face ({}); must be "front" or "rear".' .format (face ))
468
+ return face
465
469
466
470
467
471
class DeviceImportForm (BulkImportForm , BootstrapMixin ):
Original file line number Diff line number Diff line change @@ -568,7 +568,10 @@ def clean(self):
568
568
raise ValidationError ("Must specify rack face with rack position." )
569
569
570
570
# Validate rack space
571
- rack_face = self .face if not self .device_type .is_full_depth else None
571
+ try :
572
+ rack_face = self .face if not self .device_type .is_full_depth else None
573
+ except DeviceType .DoesNotExist :
574
+ raise ValidationError ("Must specify device type." )
572
575
exclude_list = [self .pk ] if self .pk else []
573
576
try :
574
577
available_units = self .rack .get_available_units (u_height = self .device_type .u_height , rack_face = rack_face ,
You can’t perform that action at this time.
0 commit comments