Add Validation msg in Create Extra Spec Form under Volume Type Panel
This patch add a validation message when a user try to 'Create' a extra spec with an existing key name under Volume Type panel. Change-Id: I6a1eac269e616ba0861a41eda5eac1b1a4cdd1d0 Closes-Bug: #1818826
This commit is contained in:
parent
8f335a42f6
commit
a85687cb7e
|
@ -34,6 +34,20 @@ class CreateExtraSpec(forms.SelfHandlingForm):
|
|||
error_messages=KEY_ERROR_MESSAGES)
|
||||
value = forms.CharField(max_length=255, label=_("Value"))
|
||||
|
||||
def clean(self):
|
||||
data = super(CreateExtraSpec, self).clean()
|
||||
type_id = self.initial['type_id']
|
||||
extra_list = api.cinder.volume_type_extra_get(self.request,
|
||||
type_id)
|
||||
for extra in extra_list:
|
||||
if extra.key.lower() == data['key'].lower():
|
||||
error_msg = _('Key with name "%s" already exists. Use Edit to '
|
||||
'update the value, else create key with '
|
||||
'different name.') % data['key']
|
||||
raise forms.ValidationError(error_msg)
|
||||
|
||||
return data
|
||||
|
||||
def handle(self, request, data):
|
||||
type_id = self.initial['type_id']
|
||||
try:
|
||||
|
|
|
@ -54,7 +54,8 @@ class VolTypeExtrasTests(test.BaseAdminViewTests):
|
|||
self.mock_volume_type_extra_get.assert_called_once_with(
|
||||
test.IsHttpRequest(), vol_type.id)
|
||||
|
||||
@test.create_mocks({api.cinder: ('volume_type_extra_set', )})
|
||||
@test.create_mocks({api.cinder: ('volume_type_extra_set',
|
||||
'volume_type_extra_get')})
|
||||
def test_extra_create_post(self):
|
||||
vol_type = self.cinder_volume_types.first()
|
||||
create_url = reverse(
|
||||
|
|
Loading…
Reference in New Issue