From 39a712ca428ada4244c24a569afb4bfba1f91e03 Mon Sep 17 00:00:00 2001 From: binsky Date: Tue, 17 Aug 2021 16:47:19 +0200 Subject: fix blocking vault export if a download or decryption failed Signed-off-by: binsky --- js/app/controllers/export.js | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'js/app') diff --git a/js/app/controllers/export.js b/js/app/controllers/export.js index b284048c..f152b506 100644 --- a/js/app/controllers/export.js +++ b/js/app/controllers/export.js @@ -72,15 +72,19 @@ if (vault.hasOwnProperty('credentials')) { if (vault.credentials.length > 0) { for (var i = 0; i < vault.credentials.length; i++) { - var _credential = angular.copy(vault.credentials[i]); - if (_credential.hidden === 0) { - var key = CredentialService.getSharedKeyFromCredential(_credential); - _credential = CredentialService.decryptCredential(_credential, key); - _credential.vault_key = key; - _credentials.push(_credential); + try { + var _credential = angular.copy(vault.credentials[i]); + if (_credential.hidden === 0) { + var key = CredentialService.getSharedKeyFromCredential(_credential); + _credential = CredentialService.decryptCredential(_credential, key); + _credential.vault_key = key; + _credentials.push(_credential); + } + } catch (e) { + _log($translate.instant('export.decrypt.error', {credential: (vault.credentials[i].label !== undefined) ? vault.credentials[i].label : i})); } } - $window.PassmanExporter[$scope.selectedExporter.id].export(_credentials, FileService, EncryptService).then(function () { + $window.PassmanExporter[$scope.selectedExporter.id].export(_credentials, FileService, EncryptService, $scope.log, $translate).then(function () { _log($translate.instant('done')); }); } @@ -92,4 +96,4 @@ }]); -}()); \ No newline at end of file +}()); -- cgit v1.2.3