From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 0D81A1FF168 for ; Tue, 12 Nov 2024 14:15:47 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id A872D29797; Tue, 12 Nov 2024 14:15:45 +0100 (CET) From: Timothy Nicholson To: pve-devel@lists.proxmox.com Date: Tue, 12 Nov 2024 14:15:09 +0100 Message-Id: <20241112131509.159661-1-t.nicholson@proxmox.com> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.046 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment KAM_LAZY_DOMAIN_SECURITY 1 Sending domain does not have any anti-forgery methods RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RDNS_NONE 0.793 Delivered to internal network by a host with no rDNS SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_NONE 0.001 SPF: sender does not publish an SPF Record Subject: [pve-devel] [PATCH manager v4] fix #5810: ui: show confirmation/warning dialog for sdn apply X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" Signed-off-by: Timothy Nicholson --- changes since v3 [0]: - implement conditional warning message that displays which node(s) have pending changes. I'd be thankful for any feedback, as this can probably be refined in some way. [0]: https://lore.proxmox.com/pve-devel/20241112120255.127300-1-t.nicholson@proxmox.com/ www/manager6/sdn/StatusView.js | 48 +++++++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 9 deletions(-) diff --git a/www/manager6/sdn/StatusView.js b/www/manager6/sdn/StatusView.js index 970aa919..009f5fee 100644 --- a/www/manager6/sdn/StatusView.js +++ b/www/manager6/sdn/StatusView.js @@ -40,16 +40,46 @@ Ext.define('PVE.sdn.StatusView', { tbar: [ { text: gettext('Apply'), - handler: function() { - Proxmox.Utils.API2Request({ - url: '/cluster/sdn/', - method: 'PUT', - waitMsgTarget: me, - failure: function(response, opts) { - Ext.Msg.alert(gettext('Error'), response.htmlStatus); - }, - }); + handler: async function() { + const applyChanges = () => { + Proxmox.Utils.API2Request({ + url: '/cluster/sdn', + method: 'PUT', + waitMsgTarget: me, + failure: response => Ext.Msg.alert(gettext('Error'), response.htmlStatus), + }); + }; + + let nodesPending = []; + let { result: nodesResult } = await Proxmox.Async.api2({ url: '/nodes' }); + + await Promise.all(nodesResult.data.map(async(node) => { + let { result: networkResult } = await + Proxmox.Async.api2({ url: `/nodes/${node.node}/network` }); + if (networkResult.changes !== undefined) { + nodesPending.push(node.node); + } + })); + + if (nodesPending.length > 0) { + Ext.Msg.show({ + title: gettext('Confirm'), + msg: `${gettext('There are pending network changes on node(s)')} [${nodesPending}]. ` + + `${gettext('These will also be applied. Proceed?')}`, + icon: Ext.Msg.QUESTION, + buttons: Ext.Msg.YESNO, + callback: function(btn) { + if (btn === 'yes') { + applyChanges(); + } + }, + }); + } else { + applyChanges(); + } }, + + }, ], viewConfig: { -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel