From 6fe863ba7e340a192aadf0445169c04ad09e522b Mon Sep 17 00:00:00 2001 From: Fabian Ebner Date: Wed, 6 May 2020 10:14:27 +0200 Subject: [PATCH] Improve storage selection on restore Previously, the blank '' would be passed along and lead to a parameter verfication failure. For LXC the default behavior in the backend is to use 'local', so disallow blank and auto-select the first storage supporting'rootdir' instead. For QEMU the default behavior in the backend is to use the original layout from the backup configuration file, which makes sense to use as the default in the GUI as well. Signed-off-by: Fabian Ebner --- www/manager6/window/Restore.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/www/manager6/window/Restore.js b/www/manager6/window/Restore.js index 3f9ad3bc..9357958b 100644 --- a/www/manager6/window/Restore.js +++ b/www/manager6/window/Restore.js @@ -24,7 +24,11 @@ Ext.define('PVE.window.Restore', { value: '', fieldLabel: gettext('Storage'), storageContent: (me.vmtype === 'lxc') ? 'rootdir' : 'images', - allowBlank: true + // when restoring a container without specifying a storage, the backend defaults + // to 'local', which is unintuitive and 'rootdir' might not even be allowed on it + allowBlank: me.vmtype !== 'lxc', + emptyText: (me.vmtype === 'lxc') ? '' : gettext('From backup configuration'), + autoSelect: me.vmtype === 'lxc', }); var IDfield; @@ -135,16 +139,15 @@ Ext.define('PVE.window.Restore', { var submitBtn = Ext.create('Ext.Button', { text: gettext('Restore'), handler: function(){ - var storage = storagesel.getValue(); var values = form.getValues(); var params = { - storage: storage, vmid: me.vmid || values.vmid, force: me.vmid ? 1 : 0 }; if (values.unique) { params.unique = 1; } if (values.start) { params.start = 1; } + if (values.storage) { params.storage = values.storage; } if (values.bwlimit !== undefined) { params.bwlimit = values.bwlimit;