diff --git a/www/manager6/qemu/TemplateMenu.js b/www/manager6/qemu/TemplateMenu.js new file mode 100644 index 00000000..8c9be92f --- /dev/null +++ b/www/manager6/qemu/TemplateMenu.js @@ -0,0 +1,63 @@ +Ext.define('PVE.qemu.TemplateMenu', { + extend: 'Ext.menu.Menu', + + initComponent: function() { + var me = this; + + var nodename = me.pveSelNode.data.node; + if (!nodename) { + throw "no node name specified"; + } + + var vmid = me.pveSelNode.data.vmid; + if (!vmid) { + throw "no VM ID specified"; + } + + var vmname = me.pveSelNode.data.name; + + var template = me.pveSelNode.data.template; + + var vm_command = function(cmd, params) { + PVE.Utils.API2Request({ + params: params, + url: '/nodes/' + nodename + '/qemu/' + vmid + "/status/" + cmd, + method: 'POST', + failure: function(response, opts) { + Ext.Msg.alert(gettext('Error'), response.htmlStatus); + } + }); + }; + + me.title = "VM " + vmid; + + me.items = [ + { + text: gettext('Migrate'), + icon: '/pve2/images/forward.png', + handler: function() { + var win = Ext.create('PVE.window.Migrate', { + vmtype: 'qemu', + nodename: nodename, + vmid: vmid + }); + win.show(); + } + }, + { + text: gettext('Clone'), + icon: '/pve2/images/forward.png', + handler: function() { + var win = Ext.create('PVE.window.Clone', { + nodename: nodename, + vmid: vmid, + isTemplate: template + }); + win.show(); + } + } + ]; + + me.callParent(); + } +});