Commit 0b3b0d7d authored by Dietmar Maurer's avatar Dietmar Maurer

GUI: mobe startall/stopall/migrateall into submenu

parent 4cecbd65
...@@ -555,7 +555,8 @@ Ext.define('PVE.Utils', { statics: { ...@@ -555,7 +555,8 @@ Ext.define('PVE.Utils', { statics: {
vzdump: ['', gettext('Backup') ], vzdump: ['', gettext('Backup') ],
aptupdate: ['', gettext('Update package database') ], aptupdate: ['', gettext('Update package database') ],
startall: [ '', gettext('Start all VMs and Containers') ], startall: [ '', gettext('Start all VMs and Containers') ],
stopall: [ '', gettext('Stop all VMs and Containers') ] stopall: [ '', gettext('Stop all VMs and Containers') ],
migrateall: [ '', gettext('Migrate all VMs and Containers') ]
}, },
format_task_description: function(type, id) { format_task_description: function(type, id) {
......
...@@ -28,48 +28,67 @@ Ext.define('PVE.node.Config', { ...@@ -28,48 +28,67 @@ Ext.define('PVE.node.Config', {
} }
}); });
}; };
var startallvmBtn = Ext.create('PVE.button.Button', { var actionBtn = Ext.create('Ext.Button', {
text: gettext('Start All VMs'), text: gettext('More'),
confirmMsg: Ext.String.format(gettext("Do you really want to start all Vms on node {0}?"), nodename), disabled: !caps.nodes['Sys.PowerMgmt'],
handler: function() { menu: new Ext.menu.Menu({
PVE.Utils.API2Request({ items: [
params: { force: 1 }, {
url: '/nodes/' + nodename + '/startall', text: gettext('Start All VMs'),
method: 'POST', icon: '/pve2/images/start.png',
waitMsgTarget: me, handler: function() {
failure: function(response, opts) { var msg = Ext.String.format(gettext("Do you really want to start all Vms on node {0}?"), nodename);
Ext.Msg.alert('Error', response.htmlStatus); Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) {
} if (btn !== 'yes') {
}); return;
} }
}); PVE.Utils.API2Request({
params: { force: 1 },
var stopallvmBtn = Ext.create('PVE.button.Button', { url: '/nodes/' + nodename + '/startall',
text: gettext('Stop All VMs'), method: 'POST',
confirmMsg: Ext.String.format(gettext("Do you really want to stop all Vms on node {0}?"), nodename), waitMsgTarget: me,
handler: function() { failure: function(response, opts) {
PVE.Utils.API2Request({ Ext.Msg.alert('Error', response.htmlStatus);
url: '/nodes/' + nodename + '/stopall', }
method: 'POST', });
waitMsgTarget: me, });
failure: function(response, opts) { }
Ext.Msg.alert('Error', response.htmlStatus); },
{
text: gettext('Stop All VMs'),
icon: '/pve2/images/gtk-stop.png',
handler: function() {
var msg = Ext.String.format(gettext("Do you really want to stop all Vms on node {0}?"), nodename);
Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) {
if (btn !== 'yes') {
return;
}
PVE.Utils.API2Request({
url: '/nodes/' + nodename + '/stopall',
method: 'POST',
waitMsgTarget: me,
failure: function(response, opts) {
Ext.Msg.alert('Error', response.htmlStatus);
}
});
});
}
},
{
text: gettext('Migrate All VMs'),
icon: '/pve2/images/forward.png',
handler: function() {
var win = Ext.create('PVE.window.MigrateAll', {
nodename: nodename,
});
win.show();
}
} }
}); ]
} })
}); });
var migrateallvmBtn = Ext.create('PVE.button.Button', {
text: gettext('Migrate All VMs'),
handler: function() {
var win = Ext.create('PVE.window.MigrateAll', {
nodename: nodename,
});
win.show();
me.mon(win, 'close', me.reload, me);
}
});
var restartBtn = Ext.create('PVE.button.Button', { var restartBtn = Ext.create('PVE.button.Button', {
text: gettext('Restart'), text: gettext('Restart'),
...@@ -102,7 +121,7 @@ Ext.define('PVE.node.Config', { ...@@ -102,7 +121,7 @@ Ext.define('PVE.node.Config', {
title: gettext('Node') + " '" + nodename + "'", title: gettext('Node') + " '" + nodename + "'",
hstateid: 'nodetab', hstateid: 'nodetab',
defaults: { statusStore: me.statusStore }, defaults: { statusStore: me.statusStore },
tbar: [ startallvmBtn, stopallvmBtn, migrateallvmBtn, restartBtn, shutdownBtn, shellBtn ] tbar: [ restartBtn, shutdownBtn, shellBtn, actionBtn]
}); });
if (caps.nodes['Sys.Audit']) { if (caps.nodes['Sys.Audit']) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment