diff options
author | brantje <brantje@gmail.com> | 2017-10-29 17:27:50 +0300 |
---|---|---|
committer | brantje <brantje@gmail.com> | 2017-10-29 18:14:42 +0300 |
commit | 34a920ec5ca9801b1a3dac38f8bdd03576ed93b7 (patch) | |
tree | c5a2b630db0ea6494b449461fa2303921f0c21ef /js | |
parent | fa814851cf05d6243002f5a8c2ff26c9ea1f8bc4 (diff) |
Fix loading vault if it's already open. Ref #263
Signed-off-by: brantje <brantje@gmail.com>
Diffstat (limited to 'js')
-rw-r--r-- | js/app/controllers/credential.js | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/js/app/controllers/credential.js b/js/app/controllers/credential.js index 1496097b..303635f1 100644 --- a/js/app/controllers/credential.js +++ b/js/app/controllers/credential.js @@ -58,6 +58,9 @@ vault.credentials = []; $scope.active_vault = vault; $scope.active_vault.vaultKey = vaultKey; + if(!$rootScope.vaultCache){ + $rootScope.vaultCache = []; + } VaultService.setActiveVault($scope.active_vault); for (var i = 0; i < _credentials.length; i++) { var _credential = _credentials[i]; @@ -103,6 +106,7 @@ angular.merge($scope.active_vault.credentials, _credentials); $scope.show_spinner = false; $rootScope.$broadcast('credentials_loaded'); + $rootScope.vaultCache[$scope.active_vault.guid] = angular.copy($scope.active_vault); if(!vault.private_sharing_key){ var key_size = 1024; ShareService.generateRSAKeys(key_size).then(function (kp) { @@ -135,13 +139,20 @@ var refresh_data_interval = null; if ($scope.active_vault) { $scope.$parent.selectedVault = true; - fetchCredentials(); + if($rootScope.vaultCache && $rootScope.vaultCache[$scope.active_vault.guid]){ + $scope.active_vault = $rootScope.vaultCache[$scope.active_vault.guid]; + $rootScope.$broadcast('credentials_loaded'); + $scope.show_spinner = false; + } else { + fetchCredentials(); + } getPendingShareRequests(); refresh_data_interval = $interval(function () { fetchCredentials(); getPendingShareRequests(); }, 60000 * 5); } + $scope.$on('$destroy', function () { $interval.cancel(refresh_data_interval); }); @@ -399,6 +410,9 @@ }; $rootScope.$on('logout', function () { + if($scope.active_vault) { + $rootScope.vaultCache[$scope.active_vault.guid] = null; + } $scope.active_vault = null; $scope.credentials = []; // $scope.$parent.selectedVault = false; |