def update_cell(self, request, data, volume_type_id, cell_name, new_cell_value): # inline update volume type name and/or description try: vol_type_obj = data # updating changed value by new value setattr(vol_type_obj, cell_name, new_cell_value) name_value = getattr(vol_type_obj, 'name', None) desc_value = getattr(vol_type_obj, 'description', None) cinder.volume_type_update( request, volume_type_id, name=name_value, description=desc_value) except Exception as ex: if ex.code and ex.code == 409: error_message = _('New name conflicts with another ' 'volume type.') else: error_message = _('Unable to update the volume type.') exceptions.handle(request, error_message) return False return True
def handle(self, request, data): volume_type_id = self.initial['id'] try: cinder.volume_type_update(request, volume_type_id, data['name'], data['description'], data['is_public']) message = _('Successfully updated volume type.') messages.success(request, message) return True except Exception as ex: redirect = reverse("horizon:admin:volumes:index") if ex.code == 409: error_message = _('New name conflicts with another ' 'volume type.') else: error_message = _('Unable to update volume type.') exceptions.handle(request, error_message, redirect=redirect)
def test_update_volume_type(self): volume_type = self.cinder_volume_types.first() formData = {'name': volume_type.name, 'description': 'test desc updated'} volume_type = cinder.volume_type_get( IsA(http.HttpRequest), volume_type.id).AndReturn(volume_type) cinder.volume_type_update( IsA(http.HttpRequest), volume_type.id, formData['name'], formData['description']).AndReturn(volume_type) self.mox.ReplayAll() url = reverse('horizon:admin:volumes:volume_types:update_type', args=[volume_type.id]) res = self.client.post(url, formData) self.assertNoFormErrors(res) redirect = reverse('horizon:admin:volumes:volume_types_tab') self.assertRedirectsNoFollow(res, redirect)
def test_update_volume_type(self): volume_type = self.cinder_volume_types.first() formData = { 'name': volume_type.name, 'description': 'test desc updated' } volume_type = cinder.volume_type_get(IsA( http.HttpRequest), volume_type.id).AndReturn(volume_type) cinder.volume_type_update( IsA(http.HttpRequest), volume_type.id, formData['name'], formData['description']).AndReturn(volume_type) self.mox.ReplayAll() url = reverse('horizon:admin:volumes:volume_types:update_type', args=[volume_type.id]) res = self.client.post(url, formData) self.assertNoFormErrors(res) redirect = reverse('horizon:admin:volumes:volume_types_tab') self.assertRedirectsNoFollow(res, redirect)
def handle(self, request, data): volume_type_id = self.initial['id'] try: cinder.volume_type_update(request, volume_type_id, data['name'], data['description']) message = _('Successfully updated volume type.') messages.success(request, message) return True except Exception as ex: redirect = reverse("horizon:admin:volumes:index") if ex.code == 409: error_message = _('New name conflicts with another ' 'volume type.') else: error_message = _('Unable to update volume type.') exceptions.handle(request, error_message, redirect=redirect)