]> git.proxmox.com Git - pve-manager.git/blame - www/manager/openvz/CmdMenu.js
improve ocf agent and openvz api
[pve-manager.git] / www / manager / openvz / CmdMenu.js
CommitLineData
176eee4f
DM
1Ext.define('PVE.openvz.CmdMenu', {
2 extend: 'Ext.menu.Menu',
3
4 initComponent: function() {
5 var me = this;
6
fb3feb55
DM
7 var nodename = me.pveSelNode.data.node;
8 if (!nodename) {
176eee4f
DM
9 throw "no node name specified";
10 }
11
fb3feb55
DM
12 var vmid = me.pveSelNode.data.vmid;
13 if (!vmid) {
176eee4f
DM
14 throw "no VM ID specified";
15 }
16
fb3feb55
DM
17 var vmname = me.pveSelNode.data.name;
18
176eee4f
DM
19 var vm_command = function(cmd, params) {
20 PVE.Utils.API2Request({
21 params: params,
fb3feb55 22 url: '/nodes/' + nodename + '/openvz/' + vmid + "/status/" + cmd,
176eee4f
DM
23 method: 'POST',
24 failure: function(response, opts) {
25 Ext.Msg.alert('Error', response.htmlStatus);
26 }
27 });
28 };
29
fb3feb55 30 me.title = "CT " + vmid;
176eee4f
DM
31
32 me.items = [
33 {
a2dca26b 34 text: gettext('Start'),
176eee4f
DM
35 icon: '/pve2/images/start.png',
36 handler: function() {
37 vm_command('start');
38 }
39 },
40 {
a2dca26b 41 text: gettext('Shutdown'),
176eee4f
DM
42 icon: '/pve2/images/stop.png',
43 handler: function() {
fb3feb55 44 var msg = Ext.String.format(gettext("Do you really want to shutdown VM {0}?"), vmid);
a2dca26b 45 Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) {
176eee4f
DM
46 if (btn !== 'yes') {
47 return;
48 }
49
51ed1415 50 vm_command('shutdown');
176eee4f
DM
51 });
52 }
53 },
54 {
a2dca26b 55 text: gettext('Console'),
176eee4f
DM
56 icon: '/pve2/images/display.png',
57 handler: function() {
fb3feb55 58 PVE.Utils.openConoleWindow('openvz', vmid, nodename, vmname);
176eee4f
DM
59 }
60 }
61 ];
62
63 me.callParent();
64 }
65});