[pve-devel] [PATCH pve-manager 2/2] ui: add "Bulk Pause" action to node

Hannes Laimer h.laimer at proxmox.com
Fri Feb 5 11:35:38 CET 2021


Signed-off-by: Hannes Laimer <h.laimer at 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





More information about the pve-devel mailing list