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) {
......
...@@ -29,10 +29,20 @@ Ext.define('PVE.node.Config', { ...@@ -29,10 +29,20 @@ Ext.define('PVE.node.Config', {
}); });
}; };
var startallvmBtn = Ext.create('PVE.button.Button', { var actionBtn = Ext.create('Ext.Button', {
text: gettext('More'),
disabled: !caps.nodes['Sys.PowerMgmt'],
menu: new Ext.menu.Menu({
items: [
{
text: gettext('Start All VMs'), text: gettext('Start All VMs'),
confirmMsg: Ext.String.format(gettext("Do you really want to start all Vms on node {0}?"), nodename), icon: '/pve2/images/start.png',
handler: function() { handler: function() {
var msg = Ext.String.format(gettext("Do you really want to start all Vms on node {0}?"), nodename);
Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) {
if (btn !== 'yes') {
return;
}
PVE.Utils.API2Request({ PVE.Utils.API2Request({
params: { force: 1 }, params: { force: 1 },
url: '/nodes/' + nodename + '/startall', url: '/nodes/' + nodename + '/startall',
...@@ -42,13 +52,19 @@ Ext.define('PVE.node.Config', { ...@@ -42,13 +52,19 @@ Ext.define('PVE.node.Config', {
Ext.Msg.alert('Error', response.htmlStatus); Ext.Msg.alert('Error', response.htmlStatus);
} }
}); });
}
}); });
}
var stopallvmBtn = Ext.create('PVE.button.Button', { },
{
text: gettext('Stop All VMs'), text: gettext('Stop All VMs'),
confirmMsg: Ext.String.format(gettext("Do you really want to stop all Vms on node {0}?"), nodename), icon: '/pve2/images/gtk-stop.png',
handler: function() { 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({ PVE.Utils.API2Request({
url: '/nodes/' + nodename + '/stopall', url: '/nodes/' + nodename + '/stopall',
method: 'POST', method: 'POST',
...@@ -57,18 +73,21 @@ Ext.define('PVE.node.Config', { ...@@ -57,18 +73,21 @@ Ext.define('PVE.node.Config', {
Ext.Msg.alert('Error', response.htmlStatus); Ext.Msg.alert('Error', response.htmlStatus);
} }
}); });
}
}); });
}
var migrateallvmBtn = Ext.create('PVE.button.Button', { },
{
text: gettext('Migrate All VMs'), text: gettext('Migrate All VMs'),
icon: '/pve2/images/forward.png',
handler: function() { handler: function() {
var win = Ext.create('PVE.window.MigrateAll', { var win = Ext.create('PVE.window.MigrateAll', {
nodename: nodename, nodename: nodename,
}); });
win.show(); win.show();
me.mon(win, 'close', me.reload, me);
} }
}
]
})
}); });
var restartBtn = Ext.create('PVE.button.Button', { var restartBtn = Ext.create('PVE.button.Button', {
...@@ -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