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

Reply via email to