diff options
author | fnuesse <felix.nuesse@t-online.de> | 2018-12-16 16:38:04 +0300 |
---|---|---|
committer | fnuesse <felix.nuesse@t-online.de> | 2018-12-16 16:38:04 +0300 |
commit | fecdf5b4099882e1ae70ea0a8d4eb8ff738eef28 (patch) | |
tree | 76d79f81a78a699fb9da8c4caeaf2d3514530a00 /js/app | |
parent | fce2fa835dafec709df3fd58c1d37e69de93f89f (diff) |
Added credentiallistupdate to revision-restore
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
Diffstat (limited to 'js/app')
-rw-r--r-- | js/app/controllers/revision.js | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/js/app/controllers/revision.js b/js/app/controllers/revision.js index 4a52d916..c4580594 100644 --- a/js/app/controllers/revision.js +++ b/js/app/controllers/revision.js @@ -133,14 +133,47 @@ //Used in activity _credential.revision_created = $filter('date')(_revision.created * 1000, "dd-MM-yyyy @ HH:mm:ss"); - CredentialService.updateCredential(_credential, (key)).then(function () { + CredentialService.updateCredential(_credential, (key)).then(function (restored_cred) { SettingsService.setSetting('revision_credential', null); $rootScope.$emit('app_menu', false); $location.path('/vault/' + $routeParams.vault_id); NotificationService.showNotification($translate.instant('revision.restored'), 5000); + + $scope.updateExistingListWithCredential(restored_cred); }); }; + $scope.updateExistingListWithCredential = function (credential) { + try { + if (!credential.shared_key) { + credential = CredentialService.decryptCredential(credential); + } else { + var enc_key = EncryptService.decryptString(credential.shared_key); + credential = ShareService.decryptSharedCredential(credential, enc_key); + } + credential.tags_raw = credential.tags; + + + var found=false; + var credList=$rootScope.vaultCache[$scope.active_vault.guid].credentials; + for (var i = 0; i < credList.length; i++) { + if (credList[i].credential_id === credential.credential_id) { + $rootScope.vaultCache[$scope.active_vault.guid].credentials[i]=credential; + found=true; + } + } + + if(!found){ + $rootScope.vaultCache[$scope.active_vault.guid].credentials.push(credential); + } + $rootScope.$broadcast('push_decrypted_credential_to_list', credential); + + } catch (e) { + NotificationService.showNotification($translate.instant('error.decrypt'), 5000); + console.log(e); + } + }; + $scope.cancelRevision = function () { $location.path('/vault/' + $routeParams.vault_id); $scope.storedCredential = null; |