This will allow code reuse in a following patch.

No functional change.
---
 www/manager6/qemu/Clone.js   | 25 +++++++++++++++++++++++--
 www/manager6/qemu/CmdMenu.js | 18 +-----------------
 2 files changed, 24 insertions(+), 19 deletions(-)

diff --git a/www/manager6/qemu/Clone.js b/www/manager6/qemu/Clone.js
index 8a3b34a..cb7e670 100644
--- a/www/manager6/qemu/Clone.js
+++ b/www/manager6/qemu/Clone.js
@@ -19,8 +19,29 @@ Ext.define('PVE.window.Clone', {
        }
     },
 
-    // if set to true, will display an extra snapshot selector combobox
-    hasSnapshots: false,
+    statics: {
+       // display a snapshot selector only if needed
+       wrap: function(nodename, vmid, isTemplate) {
+           PVE.Utils.API2Request({
+               url: '/nodes/' + nodename + '/qemu/' + vmid +'/snapshot',
+               failure: function(response, opts) {
+                   Ext.Msg.alert('Error', response.htmlStatus);
+               },
+               success: function(response, opts) {
+                   var snapshotList = response.result.data;
+                   var hasSnapshots = snapshotList.length === 1 &&
+                       snapshotList[0].name === 'current' ? false : true;
+
+                   Ext.create('PVE.window.Clone', {
+                       nodename: nodename,
+                       vmid: vmid,
+                       isTemplate: isTemplate,
+                       hasSnapshots: hasSnapshots
+                   }).show();
+               }
+           });
+       }
+    },
 
     create_clone: function(values) {
        var me = this;
diff --git a/www/manager6/qemu/CmdMenu.js b/www/manager6/qemu/CmdMenu.js
index eabad65..aa525b8 100644
--- a/www/manager6/qemu/CmdMenu.js
+++ b/www/manager6/qemu/CmdMenu.js
@@ -129,23 +129,7 @@ Ext.define('PVE.qemu.CmdMenu', {
                iconCls: 'fa fa-fw fa-clone',
                hidden: caps.vms['VM.Clone'] ? false : true,
                handler: function() {
-                   PVE.Utils.API2Request({
-                       url: '/nodes/' + nodename + '/qemu/' + vmid 
+'/snapshot',
-                       failure: function(response, opts) {
-                           Ext.Msg.alert('Error', response.htmlStatus);
-                       },
-                       success: function(response, opts) {
-                           var snapshotList = response.result.data;
-                           var hasSnapshots = snapshotList.length === 1 &&
-                               snapshotList[0].name === 'current' ? false : 
true;
-
-                           Ext.create('PVE.window.Clone', {
-                               nodename: nodename,
-                               vmid: vmid,
-                               hasSnapshots: hasSnapshots
-                           }).show();
-                       }
-                   });
+                   PVE.window.Clone.wrap(nodename, vmid, me.isTemplate);
                }
            },
            {
-- 
2.1.4


_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to