]> git.proxmox.com Git - pve-manager.git/commitdiff
implement revert button
authorAlexandre Derumier <aderumier@odiso.com>
Fri, 2 Jan 2015 14:18:10 +0000 (15:18 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Thu, 8 Jan 2015 11:57:07 +0000 (12:57 +0100)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
www/manager/qemu/HardwareView.js
www/manager/qemu/Options.js

index 488d3229cec0e926d5161483fac8e1e3bad05a5f..7a2e336f2ac55a4fe6014b216d1c41ba10615f4c 100644 (file)
@@ -369,6 +369,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,
@@ -424,7 +457,8 @@ Ext.define('PVE.qemu.HardwareView', {
                edit_btn,
                resize_btn,
                move_btn,
-               diskthrottle_btn
+               diskthrottle_btn,
+               revert_btn
            ],
            rows: rows,
            sorterFn: sorterFn,
index 49e8641ecad99854e5ea22e217270a1e6184caa9..8ad7bb8973319b075c10bc380f68e0be0520748a 100644 (file)
@@ -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,