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

Reply via email to