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
diff options
context:
space:
mode:
authorbrantje <brantje@gmail.com>2017-10-29 17:27:50 +0300
committerbrantje <brantje@gmail.com>2017-10-29 18:14:42 +0300
commit34a920ec5ca9801b1a3dac38f8bdd03576ed93b7 (patch)
treec5a2b630db0ea6494b449461fa2303921f0c21ef /js
parentfa814851cf05d6243002f5a8c2ff26c9ea1f8bc4 (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.js16
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;