]> git.proxmox.com Git - proxmox-backup.git/commitdiff
ui: tape: fix restoring a single datastore
authorDominik Csapak <d.csapak@proxmox.com>
Tue, 25 Apr 2023 13:59:56 +0000 (15:59 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 17 May 2023 09:28:23 +0000 (11:28 +0200)
if the user selected a single datastore to restore from tape on a
media-set that includes more than one, the ui suggests (and is
intended to) that only that datastore will be restored on the selected
target.

The logic to construct the store mapping parameter did not consider that
case, and simply gave the target as default store, which meant all
datastores were restored onto the target.

To fix that, we have to get the source datastore from the field, and
construct the correct parameter ("source=target").

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
www/tape/window/TapeRestore.js

index 48119ac6a5eb5bcbe669f1b24fbb0d1ec87ef966..2ff7c4dd6f19f3b2b5cf907400e19de07d82c75f 100644 (file)
@@ -375,9 +375,15 @@ Ext.define('PBS.TapeManagement.TapeRestoreWindow', {
                    onGetValues: function(values) {
                        let me = this;
                        let controller = me.up('window').getController();
+                       let vm = controller.getViewModel();
                        let datastores = [];
                        if (values.store.toString() !== "") {
-                           datastores.push(values.store);
+                           if (vm.get('singleDatastore')) {
+                               let source = controller.lookup('snapshotGrid').getValue();
+                               datastores.push(`${source}=${values.store}`);
+                           } else {
+                               datastores.push(values.store);
+                           }
                            delete values.store;
                        }