From bd0ddf5c8cb47117fa79599fe698b6a3ce0a8ac7 Mon Sep 17 00:00:00 2001 From: Ivan Socolsky Date: Wed, 3 Dec 2014 19:20:51 -0300 Subject: [PATCH] returning error when allet already exists in profile --- js/controllers/join.js | 4 ++++ js/models/Identity.js | 5 +++++ js/models/Wallet.js | 5 ++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/js/controllers/join.js b/js/controllers/join.js index 1b7478712..15ddf50c7 100644 --- a/js/controllers/join.js +++ b/js/controllers/join.js @@ -125,11 +125,14 @@ angular.module('copayApp.controllers').controller('JoinController', privateHex: $scope.private, }, function(err) { $scope.loading = false; + console.log(err); if (err) { if (err === 'joinError') notification.error('Fatal error connecting to Insight server'); else if (err === 'walletFull') notification.error('The wallet is full'); + else if (err === 'walletAlreadyExists') + notification.error('Wallet already exists', 'Cannot join again from the same profile'); else if (err === 'badNetwork') notification.error('Network Error', 'Wallet network configuration missmatch'); else if (err === 'badSecret') @@ -138,6 +141,7 @@ angular.module('copayApp.controllers').controller('JoinController', notification.error('Error', err.message || err); } } + $timeout(function () { $scope.$digest(); }, 1); }); } }); diff --git a/js/models/Identity.js b/js/models/Identity.js index 3799e329f..9cd225953 100644 --- a/js/models/Identity.js +++ b/js/models/Identity.js @@ -575,6 +575,11 @@ Identity.prototype.createWallet = function(opts, cb) { var self = this; var w = new walletClass(opts); + + if (_.contains(_.keys(self.wallets), w.getId())) { + return cb('walletAlreadyExists'); + } + self.wallets[w.getId()] = w; self.updateFocusedTimestamp(w.getId()); self.bindWallet(w); diff --git a/js/models/Wallet.js b/js/models/Wallet.js index c9aa01342..44543c349 100644 --- a/js/models/Wallet.js +++ b/js/models/Wallet.js @@ -2550,7 +2550,10 @@ Wallet.prototype.isComplete = function() { * @param {string} version - the new version for the wallet */ Wallet.prototype.setVersion = function(version) { - this.version = this.opts.version = version; + this.version = version; + if (this.opts) { + this.opts.version = version; + } }; /**