[pve-devel] [PATCH v4 manager] close #584: ui qemu: changed remove unused disk to asynchron call
Tim Marx
t.marx at proxmox.com
Thu Oct 18 13:23:28 CEST 2018
Signed-off-by: Tim Marx <t.marx at proxmox.com>
---
Changes since v3:
* corrected glitch in PATCH
* used isUnusedDisk in isUsedDisk method
www/manager6/qemu/HardwareView.js | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/www/manager6/qemu/HardwareView.js b/www/manager6/qemu/HardwareView.js
index a1bccc3c..f2a3e244 100644
--- a/www/manager6/qemu/HardwareView.js
+++ b/www/manager6/qemu/HardwareView.js
@@ -356,6 +356,7 @@ Ext.define('PVE.qemu.HardwareView', {
selModel: sm,
disabled: true,
dangerous: true,
+ RESTMethod: 'PUT',
confirmMsg: function(rec) {
var warn = gettext('Are you sure you want to remove entry {0}');
if (this.text === this.altText) {
@@ -376,7 +377,7 @@ Ext.define('PVE.qemu.HardwareView', {
Proxmox.Utils.API2Request({
url: '/api2/extjs/' + baseurl,
waitMsgTarget: me,
- method: 'PUT',
+ method: b.RESTMethod,
params: {
'delete': rec.data.key
},
@@ -385,6 +386,20 @@ Ext.define('PVE.qemu.HardwareView', {
},
failure: function (response, opts) {
Ext.Msg.alert('Error', response.htmlStatus);
+ },
+ success: function(response, options) {
+ if (b.RESTMethod === 'POST') {
+ var upid = response.result.data;
+ var win = Ext.create('Proxmox.window.TaskProgress', {
+ upid: upid,
+ listeners: {
+ destroy: function () {
+ me.reload();
+ }
+ }
+ });
+ win.show();
+ }
}
});
},
@@ -488,7 +503,8 @@ Ext.define('PVE.qemu.HardwareView', {
var rowdef = rows[key];
var pending = rec.data['delete'] || me.hasPendingChanges(key);
- var isUsedDisk = !key.match(/^unused\d+/) &&
+ var isUnusedDisk = key.match(/^unused\d+/);
+ var isUsedDisk = !isUnusedDisk &&
rowdef.tdCls == 'pve-itype-icon-storage' &&
(value && !value.match(/media=cdrom/));
@@ -498,6 +514,7 @@ Ext.define('PVE.qemu.HardwareView', {
remove_btn.setDisabled(rec.data['delete'] || (rowdef.never_delete === true));
remove_btn.setText((isUsedDisk && !isCloudInit) ? remove_btn.altText : remove_btn.defaultText);
+ remove_btn.RESTMethod = isUnusedDisk ? 'POST':'PUT';
edit_btn.setDisabled(rec.data['delete'] || !rowdef.editor || isCloudInit);
--
2.11.0
More information about the pve-devel
mailing list