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 E33F11FF183 for ; Wed, 30 Jul 2025 09:35:16 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id B838F34F5A; Wed, 30 Jul 2025 09:36:41 +0200 (CEST) Mime-Version: 1.0 Date: Wed, 30 Jul 2025 09:36:37 +0200 Message-Id: To: "Proxmox Backup Server development discussion" , "Christian Ebner" From: "Lukas Wagner" X-Mailer: aerc 0.20.1-0-g2ecb8770224a References: <20250729165249.855831-1-c.ebner@proxmox.com> In-Reply-To: <20250729165249.855831-1-c.ebner@proxmox.com> X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1753860986814 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.019 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 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. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [item.id, proxmox.com] Subject: Re: [pbs-devel] [PATCH proxmox-backup] ui: switch datastore destroy label text on backend type X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Backup Server development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" On Tue Jul 29, 2025 at 6:52 PM CEST, Christian Ebner wrote: > Load also the backend configuration via the rstore, but do not show > it in the grid. By passing the backend type along to the datastore > destroy window, the destroy all data checkbox label is set based on > the given type. > > Signed-off-by: Christian Ebner > --- > Note: This is the ui followup for the datastore destroy dialog as requested in: > https://lore.proxmox.com/pbs-devel/DBOL7XELUICP.1CAPP8NTAR2KR@proxmox.com/ > > www/datastore/OptionView.js | 23 ++++++++++++++++++++++- > 1 file changed, 22 insertions(+), 1 deletion(-) > > diff --git a/www/datastore/OptionView.js b/www/datastore/OptionView.js > index 913bdfc74..9aafd2e9c 100644 > --- a/www/datastore/OptionView.js > +++ b/www/datastore/OptionView.js > @@ -18,6 +18,10 @@ Ext.define('PBS.window.SafeDatastoreDestroy', { > ? gettext('All backup snapshots and their data will be permanently destroyed!') > : gettext('Configuration change only, no data will be deleted.'), > destroyNoteCls: (get) => (get('destroyData') ? 'pmx-hint' : ''), > + destroyCheckboxLabel: (get) => > + get('backendType') === 's3' > + ? gettext('Remove data from S3 bucket and local cache (dangerous!)') > + : gettext('Destroy all data (dangerous!)'), > }, > }, > > @@ -46,10 +50,10 @@ Ext.define('PBS.window.SafeDatastoreDestroy', { > { > xtype: 'proxmoxcheckbox', > name: 'destroy-data', > - boxLabel: gettext('Destroy all data (dangerous!)'), > defaultValue: false, > bind: { > value: '{destroyData}', > + boxLabel: '{destroyCheckboxLabel}', > }, > }, > { > @@ -70,6 +74,12 @@ Ext.define('PBS.window.SafeDatastoreDestroy', { > }, > }, > ], > + > + initComponent: function () { > + let me = this; > + me.getViewModel().set('backendType', me.backendType); > + me.callParent(); > + }, > }); > > Ext.define('PBS.Datastore.Options', { > @@ -118,7 +128,14 @@ Ext.define('PBS.Datastore.Options', { > > removeDatastore: function () { > let me = this; > + let backendType = 'filesystem'; > + let backend = me.getView().rstore.data.items.find((item) => item.id === 'backend'); > + if (backend) { > + let backendConfig = PBS.Utils.parsePropertyString(backend.data.value, 'type'); > + backendType = backendConfig.type; > + } > Ext.create('PBS.window.SafeDatastoreDestroy', { > + backendType: backendType, > datastore: me.getView().datastore, > }); > }, > @@ -164,6 +181,10 @@ Ext.define('PBS.Datastore.Options', { > }, > > rows: { > + backend: { > + required: false, > + visible: false, > + }, > 'notification-mode': { > required: true, > defaultValue: 'notification-system', Applied this on top of your other patch series, works fine on my end. Tested-by: Lukas Wagner For the `removeDatastore` function I would use ExtJS's native accessor methods for the data instead of accessing the data directly, for example: diff --git i/www/datastore/OptionView.js w/www/datastore/OptionView.js index 9aafd2e9c..2f9aa9ebe 100644 --- i/www/datastore/OptionView.js +++ w/www/datastore/OptionView.js @@ -129,9 +129,10 @@ Ext.define('PBS.Datastore.Options', { removeDatastore: function () { let me = this; let backendType = 'filesystem'; - let backend = me.getView().rstore.data.items.find((item) => item.id === 'backend'); + let backend = me.getView().getStore().getById('backend'); + if (backend) { - let backendConfig = PBS.Utils.parsePropertyString(backend.data.value, 'type'); + let backendConfig = PBS.Utils.parsePropertyString(backend.get('value'), 'type'); backendType = backendConfig.type; } Ext.create('PBS.window.SafeDatastoreDestroy', { If you choose to use this hunk directly, consider this Reviewed-by: Lukas Wagner _______________________________________________ pbs-devel mailing list pbs-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel