import: when importing filesystem backups, the input box is a path

This commit is contained in:
Girish Ramakrishnan
2020-09-21 21:58:11 -07:00
parent a3c6b82283
commit 990f75dddc

View File

@@ -908,7 +908,6 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
gcsKey: { keyFileName: '', content: '' },
region: '',
endpoint: '',
backupFolder: '',
acceptSelfSignedCerts: false,
format: 'tgz',
backupId: '',
@@ -924,7 +923,6 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
$scope.importBackup.gcsKey.content = '';
$scope.importBackup.endpoint = '';
$scope.importBackup.region = '';
$scope.importBackup.backupFolder = '';
$scope.importBackup.format = 'tgz';
$scope.importBackup.acceptSelfSignedCerts = false;
$scope.importBackup.password = '';
@@ -1547,6 +1545,10 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
var backupConfig;
try {
backupConfig = JSON.parse(result.target.result);
if (backupConfig.provider === 'filesystem') { // patch the backupId to have the full path
backupConfig.backupId = backupConfig.backupFolder + '/' + backupConfig.backupId;
delete backupConfig.backupFolder;
}
} catch (e) {
console.error('Unable to parse backup config');
return;
@@ -1555,7 +1557,9 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
$scope.$apply(function () {
// we assume property names match here, this does not yet work for gcs keys
Object.keys(backupConfig).forEach(function (k) {
if (k in $scope.importBackup) $scope.importBackup[k] = backupConfig[k];
if (k in $scope.importBackup) {
$scope.importBackup[k] = backupConfig[k];
}
});
});
};