From c01cdb8b256220856d2f5df03443dc6a11b4aade Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Tue, 21 Oct 2014 14:26:58 -0300 Subject: [PATCH] Delete wallet function as service --- js/controllers/copayers.js | 19 ++++++++++--------- js/controllers/more.js | 8 ++------ js/controllers/sidebar.js | 4 +++- js/services/controllerUtils.js | 10 ++++++++++ views/copayers.html | 7 ++++--- 5 files changed, 29 insertions(+), 19 deletions(-) diff --git a/js/controllers/copayers.js b/js/controllers/copayers.js index 5ee6add64..fcebfad7b 100644 --- a/js/controllers/copayers.js +++ b/js/controllers/copayers.js @@ -34,20 +34,21 @@ angular.module('copayApp.controllers').controller('CopayersController', $location.path('/receive'); }; - $scope.deleteWallet = function() { - var w = $rootScope.iden; - iden.deleteWallet(w.id, function() { - controllerUtils.logout(); - }); - }; - $scope.copayersList = function() { - $scope.copayers = $rootScope.wallet.getRegisteredPeerIds(); + if ($rootScope.wallet) { + $scope.copayers = $rootScope.wallet.getRegisteredPeerIds(); + } return $scope.copayers; } $scope.isBackupReady = function(copayer) { - return $rootScope.wallet.publicKeyRing.isBackupReady(copayer.copayerId); + if ($rootScope.wallet) { + return $rootScope.wallet.publicKeyRing.isBackupReady(copayer.copayerId); + } + } + + $scope.deleteWallet = function() { + controllerUtils.deleteWallet($scope); } }); diff --git a/js/controllers/more.js b/js/controllers/more.js index 781dbff54..aabf87b5c 100644 --- a/js/controllers/more.js +++ b/js/controllers/more.js @@ -52,6 +52,7 @@ angular.module('copayApp.controllers').controller('MoreController', break; } } + $scope.save = function() { w.changeSettings({ unitName: $scope.selectedUnit.shortName, @@ -83,12 +84,7 @@ angular.module('copayApp.controllers').controller('MoreController', }; $scope.deleteWallet = function() { - $rootScope.iden.deleteWallet(w.id, function() { - notification.info('Wallet deleted', $filter('translate')('wallet deleted')); - $rootScope.wallet = null; - var lastFocused = $rootScope.iden.profile.getLastFocusedWallet(); - controllerUtils.bindProfile($scope, $rootScope.iden, lastFocused); - }); + controllerUtils.deleteWallet($scope); }; $scope.purge = function(deleteAll) { diff --git a/js/controllers/sidebar.js b/js/controllers/sidebar.js index 86cd5702a..239f127a5 100644 --- a/js/controllers/sidebar.js +++ b/js/controllers/sidebar.js @@ -75,7 +75,9 @@ angular.module('copayApp.controllers').controller('SidebarController', function( notification.warning('Session closed', 'Session closed because a long time of inactivity'); }); $scope.$on('$keepalive', function() { - $rootScope.wallet.keepAlive(); + if ($rootScope.wallet) { + $rootScope.wallet.keepAlive(); + } }); } diff --git a/js/services/controllerUtils.js b/js/services/controllerUtils.js index 63a00edbe..3fecd9103 100644 --- a/js/services/controllerUtils.js +++ b/js/services/controllerUtils.js @@ -388,6 +388,16 @@ angular.module('copayApp.services') $rootScope.pendingTxCount = pendingForUs; }; + root.deleteWallet = function($scope, w) { + w = w || $rootScope.wallet; + $rootScope.iden.deleteWallet(w.id, function() { + notification.info('Wallet deleted', $filter('translate')('Wallet deleted')); + $rootScope.wallet = null; + var lastFocused = $rootScope.iden.profile.getLastFocusedWallet(); + root.bindProfile($scope, $rootScope.iden, lastFocused); + }); + }; + function getActionList(actions) { var peers = Object.keys(actions).map(function(i) { return { diff --git a/views/copayers.html b/views/copayers.html index 742e9046e..cdd3fb155 100644 --- a/views/copayers.html +++ b/views/copayers.html @@ -9,14 +9,13 @@ {{$root.wallet.getName()}} {{$root.wallet.requiredCopayers}}-{{'of'|translate}}-{{$root.wallet.totalCopayers}} -
+

Share this secret with your other copayers

{{$root.wallet.getSecret()}}
-

+ Delete wallet