From ca5cf33c8f45f816dc58d66b86f0e0bc5fb324d6 Mon Sep 17 00:00:00 2001 From: Anthony Lapenna Date: Wed, 7 Sep 2016 18:21:46 +1200 Subject: [PATCH] fix(volumes): display an error message when trying to delete a bound volume --- app/components/volumes/volumesController.js | 10 +++++++--- app/shared/services.js | 6 ++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/components/volumes/volumesController.js b/app/components/volumes/volumesController.js index 621f9a573..90c9880e5 100644 --- a/app/components/volumes/volumesController.js +++ b/app/components/volumes/volumesController.js @@ -36,9 +36,13 @@ function ($scope, $state, Volume, Messages) { if (volume.Checked) { counter = counter + 1; Volume.remove({name: volume.Name}, function (d) { - Messages.send("Volume deleted", volume.Name); - var index = $scope.volumes.indexOf(volume); - $scope.volumes.splice(index, 1); + if (d.message) { + Messages.error("Unable to remove volume", {}, d.message); + } else { + Messages.send("Volume deleted", volume.Name); + var index = $scope.volumes.indexOf(volume); + $scope.volumes.splice(index, 1); + } complete(); }, function (e) { Messages.error("Failure", e, "Unable to remove volume"); diff --git a/app/shared/services.js b/app/shared/services.js index b715ebc1d..c6cc56501 100644 --- a/app/shared/services.js +++ b/app/shared/services.js @@ -165,7 +165,9 @@ angular.module('portainer.services', ['ngResource', 'ngSanitize']) query: {method: 'GET'}, get: {method: 'GET'}, create: {method: 'POST', params: {action: 'create'}, transformResponse: genericHandler}, - remove: {method: 'DELETE'} + remove: { + method: 'DELETE', transformResponse: genericHandler + } }); }]) .factory('Config', ['$resource', 'CONFIG_ENDPOINT', function ConfigFactory($resource, CONFIG_ENDPOINT) { @@ -212,7 +214,7 @@ angular.module('portainer.services', ['ngResource', 'ngSanitize']) msg = e.data.message; } else if (e.message) { msg = e.message; - } else if (e.data.length > 0 && e.data[0].message) { + } else if (e.data && e.data.length > 0 && e.data[0].message) { msg = e.data[0].message; } $.gritter.add({