Signed-off-by: Hannes Laimer <h.lai...@proxmox.com> --- www/manager6/Utils.js | 1 + www/manager6/form/VMSelector.js | 10 ++++++++++ www/manager6/node/CmdMenu.js | 15 +++++++++++++++ www/manager6/node/Config.js | 13 +++++++++++++ 4 files changed, 39 insertions(+)
diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js index 5278152d..941eb44a 100644 --- a/www/manager6/Utils.js +++ b/www/manager6/Utils.js @@ -1706,6 +1706,7 @@ Ext.define('PVE.Utils', { spiceshell: ['', gettext('Shell') + ' (Spice)'], startall: ['', gettext('Start all VMs and Containers')], stopall: ['', gettext('Stop all VMs and Containers')], + suspendall: ['', gettext('Pause all VMs')], unknownimgdel: ['', gettext('Destroy image from unknown guest')], vncproxy: ['VM/CT', gettext('Console')], vncshell: ['', gettext('Shell')], diff --git a/www/manager6/form/VMSelector.js b/www/manager6/form/VMSelector.js index 6a51a73d..0c176a9b 100644 --- a/www/manager6/form/VMSelector.js +++ b/www/manager6/form/VMSelector.js @@ -180,6 +180,7 @@ Ext.define('PVE.form.VMSelector', { // only show the relevant guests by default if (me.action) { var statusfilter = ''; + var typefilter = ''; switch (me.action) { case 'startall': statusfilter = 'stopped'; @@ -187,6 +188,10 @@ Ext.define('PVE.form.VMSelector', { case 'stopall': statusfilter = 'running'; break; + case 'suspendall': + statusfilter = 'running'; + typefilter = 'qemu'; + break; } if (statusfilter !== '') { me.store.filters.add({ @@ -197,6 +202,11 @@ Ext.define('PVE.form.VMSelector', { operator: 'in', property: 'status', value: [statusfilter], + }, { + id: 'x-gridfilter-type', + operator: 'in', + property: 'type', + value: [typefilter], }); } } diff --git a/www/manager6/node/CmdMenu.js b/www/manager6/node/CmdMenu.js index b650bfa0..38001343 100644 --- a/www/manager6/node/CmdMenu.js +++ b/www/manager6/node/CmdMenu.js @@ -60,6 +60,21 @@ Ext.define('PVE.node.CmdMenu', { win.show(); }, }, + { + text: gettext('Bulk Pause'), + itemId: 'bulksuspend', + iconCls: 'fa fa-fw fa-pause', + handler: function() { + var me = this.up('menu'); + var win = Ext.create('PVE.window.BulkAction', { + nodename: me.nodename, + title: gettext('Bulk Pause'), + btnText: gettext('Pause'), + action: 'suspendall', + }); + win.show(); + }, + }, { text: gettext('Bulk Migrate'), itemId: 'bulkmigrate', diff --git a/www/manager6/node/Config.js b/www/manager6/node/Config.js index ef3ac32c..55e09c58 100644 --- a/www/manager6/node/Config.js +++ b/www/manager6/node/Config.js @@ -63,6 +63,19 @@ Ext.define('PVE.node.Config', { win.show(); }, }, + { + text: gettext('Bulk Pause'), + iconCls: 'fa fa-fw fa-pause', + handler: function() { + var win = Ext.create('PVE.window.BulkAction', { + nodename: nodename, + title: gettext('Bulk Pause'), + btnText: gettext('Pause'), + action: 'suspendall', + }); + win.show(); + }, + }, { text: gettext('Bulk Migrate'), iconCls: 'fa fa-fw fa-send-o', -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel