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 B770B1FF183 for ; Wed, 30 Jul 2025 09:43:59 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 7281E352F2; Wed, 30 Jul 2025 09:45:23 +0200 (CEST) Message-ID: Date: Wed, 30 Jul 2025 09:45:18 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Lukas Wagner , Proxmox Backup Server development discussion References: <20250729165249.855831-1-c.ebner@proxmox.com> Content-Language: en-US, de-DE From: Christian Ebner In-Reply-To: X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1753861508971 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.044 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. [proxmox.com, item.id] 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-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" On 7/30/25 9:36 AM, Lukas Wagner wrote: > 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 Nice! Makes it definitely more readable. Will fold the suggested changes in an resend the patch series including the followup as v2 then, to give the complete picture. Thanks! _______________________________________________ pbs-devel mailing list pbs-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel