mirror of
https://github.com/duplicati/duplicati.git
synced 2025-11-28 11:30:24 +08:00
57 lines
2.5 KiB
JavaScript
57 lines
2.5 KiB
JavaScript
backupApp.controller('ImportController', function($rootScope, $scope, $timeout, $location, AppService, DialogService, gettextCatalog) {
|
|
$scope.Connecting = false;
|
|
$scope.Completed = false;
|
|
|
|
$scope.restoremode = $location.$$path.indexOf('/restore-import') == 0;
|
|
$scope.form = {
|
|
config: '',
|
|
cmdline: false,
|
|
import_metadata: false,
|
|
direct: false,
|
|
passphrase: ''
|
|
};
|
|
|
|
$scope.doSubmit = function() {
|
|
var files = document.querySelector('#import-form > div > #config')?.files;
|
|
if (files == null || files.length == 0) {
|
|
DialogService.dialog(gettextCatalog.getString('Error'), gettextCatalog.getString('Please select a file to import'));
|
|
return false;
|
|
}
|
|
|
|
var reader = new FileReader();
|
|
$scope.Connecting = true;
|
|
|
|
reader.onload = function () {
|
|
$scope.form.config = btoa(String.fromCharCode.apply(null, new Uint8Array(reader.result)));
|
|
AppService.postJson('/backups/import', $scope.form)
|
|
.then(function (response) {
|
|
$scope.Connecting = false;
|
|
|
|
if (response.data != null && response.data.Id != null) {
|
|
$location.path('/');
|
|
} else if (response.data != null && response.data.data != null) {
|
|
$rootScope.importConfig = response.data.data;
|
|
if ($scope.restoremode)
|
|
$location.path('/restoredirect-import');
|
|
else
|
|
$location.path('/add-import');
|
|
} else {
|
|
DialogService.dialog(gettextCatalog.getString('Error'), gettextCatalog.getString('Failed to import: {{message}}', { message: AppService.responseErrorMessage(response) }));
|
|
}
|
|
}, function (response) {
|
|
$scope.Connecting = false;
|
|
DialogService.dialog(gettextCatalog.getString('Error'), gettextCatalog.getString('Failed to import: {{message}}', { message: AppService.responseErrorMessage(response) }));
|
|
});
|
|
};
|
|
|
|
reader.onerror = function (error) {
|
|
$scope.Connecting = false;
|
|
DialogService.dialog(gettextCatalog.getString('Error'), gettextCatalog.getString('Failed to read file: {{message}}', { message: error }));
|
|
};
|
|
|
|
reader.readAsArrayBuffer(files[0]);
|
|
|
|
return false;
|
|
};
|
|
|
|
});
|