]>
Commit | Line | Data |
---|---|---|
34c61eaf | 1 | Ext.define('PVE.menu.TemplateMenu', { |
d5b5cc83 DM |
2 | extend: 'Ext.menu.Menu', |
3 | ||
4 | initComponent: function() { | |
5 | var me = this; | |
6 | ||
7 | var nodename = me.pveSelNode.data.node; | |
8 | if (!nodename) { | |
9 | throw "no node name specified"; | |
10 | } | |
11 | ||
12 | var vmid = me.pveSelNode.data.vmid; | |
13 | if (!vmid) { | |
14 | throw "no VM ID specified"; | |
15 | } | |
16 | ||
34c61eaf DC |
17 | var guestType = me.pveSelNode.data.type; |
18 | if (guestType !== 'qemu' && guestType != 'lxc') { | |
19 | throw "invalid guest type"; | |
20 | } | |
21 | ||
d5b5cc83 DM |
22 | var vmname = me.pveSelNode.data.name; |
23 | ||
24 | var template = me.pveSelNode.data.template; | |
25 | ||
26 | var vm_command = function(cmd, params) { | |
e7ade592 | 27 | Proxmox.Utils.API2Request({ |
d5b5cc83 | 28 | params: params, |
34c61eaf | 29 | url: '/nodes/' + nodename + '/' + guestType + '/' + vmid + "/status/" + cmd, |
d5b5cc83 DM |
30 | method: 'POST', |
31 | failure: function(response, opts) { | |
32 | Ext.Msg.alert(gettext('Error'), response.htmlStatus); | |
f6710aac | 33 | }, |
d5b5cc83 DM |
34 | }); |
35 | }; | |
36 | ||
34c61eaf | 37 | me.title = (guestType === 'qemu' ? 'VM ' : 'CT ') + vmid; |
d5b5cc83 DM |
38 | |
39 | me.items = [ | |
40 | { | |
41 | text: gettext('Migrate'), | |
d4333933 | 42 | iconCls: 'fa fa-fw fa-send-o', |
d5b5cc83 DM |
43 | handler: function() { |
44 | var win = Ext.create('PVE.window.Migrate', { | |
34c61eaf | 45 | vmtype: guestType, |
d5b5cc83 | 46 | nodename: nodename, |
f6710aac | 47 | vmid: vmid, |
d5b5cc83 DM |
48 | }); |
49 | win.show(); | |
f6710aac | 50 | }, |
d5b5cc83 DM |
51 | }, |
52 | { | |
53 | text: gettext('Clone'), | |
d4333933 | 54 | iconCls: 'fa fa-fw fa-clone', |
d5b5cc83 DM |
55 | handler: function() { |
56 | var win = Ext.create('PVE.window.Clone', { | |
57 | nodename: nodename, | |
34c61eaf | 58 | guestType: guestType, |
d5b5cc83 | 59 | vmid: vmid, |
f6710aac | 60 | isTemplate: template, |
d5b5cc83 DM |
61 | }); |
62 | win.show(); | |
f6710aac TL |
63 | }, |
64 | }, | |
d5b5cc83 DM |
65 | ]; |
66 | ||
67 | me.callParent(); | |
f6710aac | 68 | }, |
d5b5cc83 | 69 | }); |