From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id A6CD863A5B for ; Wed, 25 Nov 2020 12:37:03 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 97F6A19069 for ; Wed, 25 Nov 2020 12:36:33 +0100 (CET) Received: from dev.dominic.proxmox.com (212-186-127-178.static.upcbusiness.at [212.186.127.178]) by firstgate.proxmox.com (Proxmox) with ESMTP id 56F021905D for ; Wed, 25 Nov 2020 12:36:32 +0100 (CET) Received: by dev.dominic.proxmox.com (Postfix, from userid 0) id 362E120289; Wed, 25 Nov 2020 12:36:32 +0100 (CET) From: =?UTF-8?q?Dominic=20J=C3=A4ger?= To: pve-devel@lists.proxmox.com Date: Wed, 25 Nov 2020 12:36:30 +0100 Message-Id: <20201125113630.83660-1-d.jaeger@proxmox.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 1 AWL -0.367 Adjusted score from AWL reputation of From: address 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 KHOP_HELO_FCRDNS 0.4 Relay HELO differs from its IP's reverse DNS NO_DNS_FOR_FROM 0.379 Envelope sender has no MX or A DNS records 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] storage: base edit: Use the GUI keep-all default value 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: , X-List-Received-Date: Wed, 25 Nov 2020 11:37:03 -0000 ... if the user hasn't seen the prune panel yet. The GUI has as default value a ticked keep-all checkbox => keep-all=1. Previously we sent nothing in this case which led to the no-keeps default of keep-last=1. Furthermore, refactor so that "The always delete old 'maxfiles' on edit" is now clearly visible even without comment. Signed-off-by: Dominic Jäger --- www/manager6/storage/Base.js | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/www/manager6/storage/Base.js b/www/manager6/storage/Base.js index 80bc8002..0ad54817 100644 --- a/www/manager6/storage/Base.js +++ b/www/manager6/storage/Base.js @@ -66,19 +66,33 @@ Ext.define('PVE.panel.StoragePruneInputPanel', { onGetValues: function(formValues) { delete formValues.delete; - let retention = PVE.Parser.printPropertyString(formValues) + let retention = PVE.Parser.printPropertyString(formValues); + let isEdit = !this.isCreate; + let options = { }; if (retention === '') { - if (this.isCreate) { - return {}; + if (isEdit) { + options.delete = 'prune-backups'; + } else { + let checkbox = this.down('proxmoxcheckbox[name=keep-all]'); + // Checkbox gets its default value true after being rendered (listener) + // Rendered => User saw (& potentially changed) the value => use it + // Otherwise use default (hardcoded, because default is not yet + // assigned to the checkbox) + let value = checkbox.rendered ? checkbox.getValue() : 'keep-all=1'; + console.assert(value); + options['prune-backups'] = value; } - // always delete old 'maxfiles' on edit, we map it to keep-last on window load - return { - delete: ['prune-backups','maxfiles'], - }; + } else { + options['prune-backups'] = retention; } - let options = { 'prune-backups': retention }; - if (!this.isCreate) { - options.delete = 'maxfiles'; + // always delete old 'maxfiles' on edit, we map it to keep-last on window load + if (isEdit) { + if (options.delete) { + // here isEdit = true + options.delete = [options.delete].concat('maxfiles'); + } else { + options.delete = 'maxfiles'; + } } return options; }, -- 2.20.1