@@ -140,18 +133,17 @@
-
+ |
{{ volume.name }}
|
-
+ |
{{ volume.mountType }}
|
-
+ |
{{ volume.mountOptions.host || volume.mountOptions.diskPath || volume.hostPath }}{{ volume.mountOptions.remoteDir }}
{{ volume.hostPath }}
|
-
|
diff --git a/src/views/volumes.js b/src/views/volumes.js
index b88319ed1..aeea6e918 100644
--- a/src/views/volumes.js
+++ b/src/views/volumes.js
@@ -54,13 +54,10 @@ angular.module('Application').controller('VolumesController', ['$scope', '$locat
});
}
- $scope.volumeConfigure = {
+ $scope.volumeAdd = {
error: null,
busy: false,
- adding: false,
- volume: null,
-
name: '',
hostPath: '',
@@ -75,116 +72,78 @@ angular.module('Application').controller('VolumesController', ['$scope', '$locat
privateKey: '',
reset: function () {
- $scope.volumeConfigure.error = null;
- $scope.volumeConfigure.busy = false;
- $scope.volumeConfigure.adding = false;
- $scope.volumeConfigure.volume = null;
- $scope.volumeConfigure.name = '';
- $scope.volumeConfigure.hostPath = '';
- $scope.volumeConfigure.mountType = 'noop';
- $scope.volumeConfigure.host = '';
- $scope.volumeConfigure.remoteDir = '';
- $scope.volumeConfigure.username = '';
- $scope.volumeConfigure.password = '';
- $scope.volumeConfigure.diskPath = '';
- $scope.volumeConfigure.user = '';
- $scope.volumeConfigure.port = 22;
- $scope.volumeConfigure.privateKey = '';
+ $scope.volumeAdd.error = null;
+ $scope.volumeAdd.busy = false;
+ $scope.volumeAdd.name = '';
+ $scope.volumeAdd.hostPath = '';
+ $scope.volumeAdd.mountType = 'noop';
+ $scope.volumeAdd.host = '';
+ $scope.volumeAdd.remoteDir = '';
+ $scope.volumeAdd.username = '';
+ $scope.volumeAdd.password = '';
+ $scope.volumeAdd.diskPath = '';
+ $scope.volumeAdd.user = '';
+ $scope.volumeAdd.port = 22;
+ $scope.volumeAdd.privateKey = '';
- $scope.volumeConfigureForm.$setPristine();
- $scope.volumeConfigureForm.$setUntouched();
+ $scope.volumeAddForm.$setPristine();
+ $scope.volumeAddForm.$setUntouched();
},
- show: function (volume) {
- $scope.volumeConfigure.reset();
+ show: function () {
+ $scope.volumeAdd.reset();
- $scope.volumeConfigure.volume = volume || null;
-
- if (volume) {
- $scope.volumeConfigure.adding = false;
- $scope.volumeConfigure.name = volume.name;
- $scope.volumeConfigure.hostPath = volume.hostPath;
- $scope.volumeConfigure.mountType = volume.mountType;
-
- if (volume.mountType === 'cifs') {
- $scope.volumeConfigure.host = volume.mountOptions.host;
- $scope.volumeConfigure.remoteDir = volume.mountOptions.remoteDir;
- $scope.volumeConfigure.username = volume.mountOptions.username;
- $scope.volumeConfigure.password = volume.mountOptions.password;
- } else if (volume.mountType === 'nfs') {
- $scope.volumeConfigure.host = volume.mountOptions.host;
- $scope.volumeConfigure.remoteDir = volume.mountOptions.remoteDir;
- } else if (volume.mountType === 'sshfs') {
- $scope.volumeConfigure.host = volume.mountOptions.host;
- $scope.volumeConfigure.port = volume.mountOptions.port;
- $scope.volumeConfigure.remoteDir = volume.mountOptions.remoteDir;
- $scope.volumeConfigure.user = volume.mountOptions.user;
- $scope.volumeConfigure.privateKey = volume.mountOptions.privateKey;
- } else if (volume.mountType === 'ext4') {
- $scope.volumeConfigure.diskPath = volume.mountOptions.diskPath;
- }
- } else {
- $scope.volumeConfigure.adding = true;
- }
-
- $('#volumeConfigureModal').modal('show');
+ $('#volumeAddModal').modal('show');
},
submit: function () {
- $scope.volumeConfigure.busy = true;
- $scope.volumeConfigure.error = null;
+ $scope.volumeAdd.busy = true;
+ $scope.volumeAdd.error = null;
var mountOptions = null;
- if ($scope.volumeConfigure.mountType === 'cifs') {
+ if ($scope.volumeAdd.mountType === 'cifs') {
mountOptions = {
- host: $scope.volumeConfigure.host,
- remoteDir: $scope.volumeConfigure.remoteDir,
- username: $scope.volumeConfigure.username,
- password: $scope.volumeConfigure.password
+ host: $scope.volumeAdd.host,
+ remoteDir: $scope.volumeAdd.remoteDir,
+ username: $scope.volumeAdd.username,
+ password: $scope.volumeAdd.password
};
- } else if ($scope.volumeConfigure.mountType === 'nfs') {
+ } else if ($scope.volumeAdd.mountType === 'nfs') {
mountOptions = {
- host: $scope.volumeConfigure.host,
- remoteDir: $scope.volumeConfigure.remoteDir,
+ host: $scope.volumeAdd.host,
+ remoteDir: $scope.volumeAdd.remoteDir,
};
- } else if ($scope.volumeConfigure.mountType === 'sshfs') {
+ } else if ($scope.volumeAdd.mountType === 'sshfs') {
mountOptions = {
- host: $scope.volumeConfigure.host,
- port: $scope.volumeConfigure.port,
- remoteDir: $scope.volumeConfigure.remoteDir,
- user: $scope.volumeConfigure.user,
- privateKey: $scope.volumeConfigure.privateKey,
+ host: $scope.volumeAdd.host,
+ port: $scope.volumeAdd.port,
+ remoteDir: $scope.volumeAdd.remoteDir,
+ user: $scope.volumeAdd.user,
+ privateKey: $scope.volumeAdd.privateKey,
};
- } else if ($scope.volumeConfigure.mountType === 'ext4') {
+ } else if ($scope.volumeAdd.mountType === 'ext4') {
mountOptions = {
- diskPath: $scope.volumeConfigure.diskPath
+ diskPath: $scope.volumeAdd.diskPath
};
}
var hostPath;
- if ($scope.volumeConfigure.mountType === 'noop') {
- hostPath = $scope.volumeConfigure.hostPath; // settable by user
+ if ($scope.volumeAdd.mountType === 'noop') {
+ hostPath = $scope.volumeAdd.hostPath; // settable by user
} else {
- hostPath = '/mnt/volumes/' + $scope.volumeConfigure.name; // hardcoded in UI for ease of use
+ hostPath = '/mnt/volumes/' + $scope.volumeAdd.name; // hardcoded in UI for ease of use
}
- var func;
- if ($scope.volumeConfigure.adding) {
- func = Client.addVolume.bind(Client, $scope.volumeConfigure.name, hostPath, $scope.volumeConfigure.mountType, mountOptions);
- } else {
- func = Client.updateVolume.bind(Client, $scope.volumeConfigure.volume.id, $scope.volumeConfigure.mountType, mountOptions);
- }
-
- func(function (error) {
- $scope.volumeConfigure.busy = false;
+ Client.addVolume($scope.volumeAdd.name, hostPath, $scope.volumeAdd.mountType, mountOptions, function (error) {
+ $scope.volumeAdd.busy = false;
if (error) {
- $scope.volumeConfigure.error = error.message;
+ $scope.volumeAdd.error = error.message;
return;
}
- $('#volumeConfigureModal').modal('hide');
- $scope.volumeConfigure.reset();
+ $('#volumeAddModal').modal('hide');
+ $scope.volumeAdd.reset();
refreshVolumes();
});
@@ -240,7 +199,7 @@ angular.module('Application').controller('VolumesController', ['$scope', '$locat
});
// setup all the dialog focus handling
- ['volumeConfigureModal', 'volumeRemoveModal'].forEach(function (id) {
+ ['volumeAddModal', 'volumeRemoveModal'].forEach(function (id) {
$('#' + id).on('shown.bs.modal', function () {
$(this).find('[autofocus]:first').focus();
});