Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/passman.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/js/app
diff options
context:
space:
mode:
authorfnuesse <felix.nuesse@t-online.de>2018-12-16 16:38:04 +0300
committerfnuesse <felix.nuesse@t-online.de>2018-12-16 16:38:04 +0300
commitfecdf5b4099882e1ae70ea0a8d4eb8ff738eef28 (patch)
tree76d79f81a78a699fb9da8c4caeaf2d3514530a00 /js/app
parentfce2fa835dafec709df3fd58c1d37e69de93f89f (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.js35
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;