Signed-off-by: Alexandre Derumier <aderum...@odiso.com> --- www/manager/qemu/HardwareView.js | 36 +++++++++++++++++++++++++++++++++++- www/manager/qemu/Options.js | 36 +++++++++++++++++++++++++++++++++++- 2 files changed, 70 insertions(+), 2 deletions(-)
diff --git a/www/manager/qemu/HardwareView.js b/www/manager/qemu/HardwareView.js index 60f462b..50bf6aa 100644 --- a/www/manager/qemu/HardwareView.js +++ b/www/manager/qemu/HardwareView.js @@ -370,6 +370,39 @@ Ext.define('PVE.qemu.HardwareView', { } }); + var revert_btn = new PVE.button.Button({ + text: gettext('Revert'), + selModel: sm, + disabled: true, + enableFn: function(rec) { + if (!rec) { + return false; + } + if(!rec.data['pending'] && !rec.data['delete']){ + return false; + } + var rowdef = rows[rec.data.key]; + + return true; + }, + handler: function(b, e, rec) { + PVE.Utils.API2Request({ + url: '/api2/extjs/' + baseurl, + waitMsgTarget: me, + method: 'PUT', + params: { + 'revert': rec.data.key + }, + callback: function() { + reload(); + }, + failure: function (response, opts) { + Ext.Msg.alert('Error',response.htmlStatus); + } + }); + } + }); + Ext.applyIf(me, { url: '/api2/json/' + 'nodes/' + nodename + '/qemu/' + vmid + '/pending', selModel: sm, @@ -425,7 +458,8 @@ Ext.define('PVE.qemu.HardwareView', { edit_btn, resize_btn, move_btn, - diskthrottle_btn + diskthrottle_btn, + revert_btn ], rows: rows, sorterFn: sorterFn, diff --git a/www/manager/qemu/Options.js b/www/manager/qemu/Options.js index 49e8641..8ad7bb8 100644 --- a/www/manager/qemu/Options.js +++ b/www/manager/qemu/Options.js @@ -302,6 +302,33 @@ Ext.define('PVE.qemu.Options', { handler: run_editor }); + var revert_btn = new PVE.button.Button({ + text: gettext('Revert'), + disabled: true, + handler: function() { + var sm = me.getSelectionModel(); + var rec = sm.getSelection()[0]; + if (!rec) { + return; + } + + PVE.Utils.API2Request({ + url: '/api2/extjs/' + baseurl, + waitMsgTarget: me, + method: 'PUT', + params: { + 'revert': rec.data.key + }, + callback: function() { + reload(); + }, + failure: function (response, opts) { + Ext.Msg.alert('Error',response.htmlStatus); + } + }); + } + }); + var set_button_status = function() { var sm = me.getSelectionModel(); var rec = sm.getSelection()[0]; @@ -310,6 +337,13 @@ Ext.define('PVE.qemu.Options', { edit_btn.disable(); return; } + + if(rec.data['pending'] || rec.data['delete']){ + revert_btn.setDisabled(false); + }else { + revert_btn.setDisabled(true); + } + var rowdef = rows[rec.data.key]; edit_btn.setDisabled(!rowdef.editor); }; @@ -317,7 +351,7 @@ Ext.define('PVE.qemu.Options', { Ext.applyIf(me, { url: "/api2/json/nodes/" + nodename + "/qemu/" + vmid + "/pending", cwidth1: 170, - tbar: [ edit_btn ], + tbar: [ edit_btn, revert_btn ], rows: rows, listeners: { itemdblclick: run_editor, -- 1.7.10.4 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel