all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Jonas Theisen <j.theisen@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [PATCH pve-manager] fix #5001: ui: add context menu with bulk actions for pools in resource tree
Date: Fri, 30 Oct 2026 11:06:18 +0100	[thread overview]
Message-ID: <20261030100700.82807-1-j.theisen@proxmox.com> (raw)

The pool view groups guests by their pool, but unlike the tag view it
offers no context menu on the pool tree-node itself. Add one with the
same guest bulk actions as the datacenter and tag menus.

The bulk action window opens with the pool filter pre-selected for the
pool the menu was opened on. Only guests that are direct members of
that pool are selected, guests in nested sub-pools are not, matching
how the pool filter works when set manually.

Fixes: https://bugzilla.proxmox.com/show_bug.cgi?id=5001
Signed-off-by: Jonas Theisen <j.theisen@proxmox.com>
---
 www/manager6/Utils.js             |  4 ++++
 www/manager6/dc/CmdMenu.js        | 26 ++++++++++++++++++++++++++
 www/manager6/window/BulkAction.js |  3 +++
 3 files changed, 33 insertions(+)

diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js
index 8b99371d..ced25763 100644
--- a/www/manager6/Utils.js
+++ b/www/manager6/Utils.js
@@ -1630,6 +1630,10 @@ Ext.define('PVE.Utils', {
                 menu = Ext.create('PVE.dc.TagCmdMenu', {
                     tag: record.data.tag,
                 });
+            } else if (type === 'pool') {
+                menu = Ext.create('PVE.dc.PoolCmdMenu', {
+                    pool: record.data.pool,
+                });
             } else if (record?.isRoot()) {
                 menu = Ext.create('PVE.dc.CmdMenu', {
                     pveSelNode: record,
diff --git a/www/manager6/dc/CmdMenu.js b/www/manager6/dc/CmdMenu.js
index 5bb4d7d1..f47132ee 100644
--- a/www/manager6/dc/CmdMenu.js
+++ b/www/manager6/dc/CmdMenu.js
@@ -127,3 +127,29 @@ Ext.define('PVE.dc.TagCmdMenu', {
         me.callParent();
     },
 });
+
+Ext.define('PVE.dc.PoolCmdMenu', {
+    extend: 'PVE.dc.CmdMenu',
+    xtype: 'poolCmdMenu',
+
+    minWidth: 220,
+
+    initComponent: function () {
+        let me = this;
+
+        if (!me.pool) {
+            throw 'no pool specified';
+        }
+
+        me.title = `${gettext('Pool')} '${me.pool}'`;
+        if (PVE.ClusterName?.length) {
+            me.title += ` (${PVE.ClusterName})`;
+        }
+
+        me.extraHandlerArgs = {
+            prefilterPool: me.pool,
+        };
+
+        me.callParent();
+    },
+});
diff --git a/www/manager6/window/BulkAction.js b/www/manager6/window/BulkAction.js
index 2e3066a3..7e58fb3f 100644
--- a/www/manager6/window/BulkAction.js
+++ b/www/manager6/window/BulkAction.js
@@ -557,6 +557,9 @@ Ext.define('PVE.window.BulkAction', {
         if (me.prefilterIncludeTag) {
             me.down('#includetagfilter').setValue(me.prefilterIncludeTag);
         }
+        if (me.prefilterPool) {
+            me.down('#poolfilter').setValue(me.prefilterPool);
+        }
 
         form.on('validitychange', function () {
             let valid = form.isValid();
-- 
2.47.3





             reply	other threads:[~2026-10-30 10:07 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-30 10:06 Jonas Theisen [this message]
2026-10-30 10:06 ` [PATCH pve-manager] ui: tag menu: show cluster name instead of undefined in title Jonas Theisen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261030100700.82807-1-j.theisen@proxmox.com \
    --to=j.theisen@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal