From 3c7012902ea717cae41c87b5b79208b4504ed643 Mon Sep 17 00:00:00 2001 From: Javier Date: Tue, 16 Feb 2016 10:52:37 -0300 Subject: [PATCH 1/7] fix send payments to destination address without backup --- public/views/walletHome.html | 14 +++++++++----- src/js/controllers/walletHome.js | 10 ++-------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/public/views/walletHome.html b/public/views/walletHome.html index 7dd1ed9d6..86d21254e 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -179,7 +179,7 @@
Updating transaction history. Please stand by.
- +
@@ -358,12 +358,12 @@

- Send All Send All
@@ -394,7 +394,11 @@ Not valid - + + + Destination address needs backup + + diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index 528d1e305..43533f77d 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -25,8 +25,6 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi ret.isWindowsPhoneApp = isMobile.Windows() && isCordova; var vanillaScope = ret; - - var disableScannerListener = $rootScope.$on('dataScanned', function(event, data) { self.setForm(data); $rootScope.$emit('Local/SetTab', 'send'); @@ -94,8 +92,6 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi $rootScope.shouldHideMenuBar = false; }); - - this.onQrCodeScanned = function(data) { if (data) go.send(); $rootScope.$emit('dataScanned', data); @@ -984,11 +980,9 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi } }; - - this.resetForm = function() { this.resetError(); - this.paymentExpired = false; + this.destinationWalletNeedsBackup = null; this._paypro = null; this.lockedCurrentFeePerKb = null; @@ -1130,7 +1124,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self._paypro = null; self.error = gettext('Cannot sign: The payment request has expired'); }; - }; + }; this.setFromUri = function(uri) { var self = this; From 9e18060fd864798229edf2af29cc93b087c73fed Mon Sep 17 00:00:00 2001 From: Javier Date: Tue, 16 Feb 2016 11:11:09 -0300 Subject: [PATCH 2/7] add control to disable send button --- public/views/walletHome.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/views/walletHome.html b/public/views/walletHome.html index 86d21254e..a9172eada 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -482,8 +482,8 @@ Cancel
-
From 6bf4d9753dbd88d181896a4fa89e2b962d6328cf Mon Sep 17 00:00:00 2001 From: Javier Date: Tue, 16 Feb 2016 14:15:29 -0300 Subject: [PATCH 3/7] fix backup done --- src/js/controllers/index.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index ba3bbd100..747fdf914 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -143,9 +143,12 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.openWallet(); } else { storageService.getBackupFlag(self.walletId, function(err, val) { - if (!fc.credentials.mnemonic) - self.needsBackup = false; - else + if (!fc.credentials.mnemonic) { + storageService.setBackupFlag(self.walletId, function(err) { + $log.debug('Backup stored'); + self.needsBackup = false; + }); + } else self.needsBackup = self.network == 'testnet' ? false : !val; self.openWallet(); }); @@ -1275,7 +1278,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.needsBackup = false; $log.debug('Backup done'); storageService.setBackupFlag(walletId || self.walletId, function(err) { - $log.debug('Backup done stored'); + $log.debug('Backup stored'); }); }); From 867c842da33c952fe14009aebedc9b751384ee58 Mon Sep 17 00:00:00 2001 From: Javier Date: Tue, 16 Feb 2016 14:18:48 -0300 Subject: [PATCH 4/7] fix wording --- public/views/walletHome.html | 8 ++++---- src/js/controllers/walletHome.js | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/public/views/walletHome.html b/public/views/walletHome.html index a9172eada..130f3f539 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -394,11 +394,11 @@ Not valid - + - Destination address needs backup + Destination wallet needs backup - + @@ -482,7 +482,7 @@ Cancel

- diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index 43533f77d..e8e595b2b 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -120,6 +120,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi var confirm_msg = gettextCatalog.getString('Confirm'); this.openDestinationAddressModal = function(wallets, address) { + self.destinationWalletNeedsBackup = null; $rootScope.modalOpened = true; var fc = profileService.focusedClient; self.lockAddress = false; From ea2060511eb32ef8c78a38fcb5298768d67b1028 Mon Sep 17 00:00:00 2001 From: Javier Date: Tue, 16 Feb 2016 14:37:34 -0300 Subject: [PATCH 5/7] refactor --- src/js/controllers/index.js | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index 747fdf914..cc6f40efc 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -136,26 +136,28 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.initGlidera(); self.setCustomBWSFlag(); - - $rootScope.$apply(); - if (fc.isPrivKeyExternal()) { - self.needsBackup = false; + self.isBackupNeeded(fc, function(needsBackup) { + self.needsBackup = needsBackup; self.openWallet(); - } else { - storageService.getBackupFlag(self.walletId, function(err, val) { - if (!fc.credentials.mnemonic) { - storageService.setBackupFlag(self.walletId, function(err) { - $log.debug('Backup stored'); - self.needsBackup = false; - }); - } else - self.needsBackup = self.network == 'testnet' ? false : !val; - self.openWallet(); - }); - } + }); }); }; + self.isBackupNeeded = function(fc, cb) { + if (fc.isPrivKeyExternal()) return cb(false); + + if (!fc.credentials.mnemonic) { + storageService.setBackupFlag(self.walletId, function(err) { + $log.debug('Backup stored'); + return cb(false); + }); + } else { + storageService.getBackupFlag(self.walletId, function(err, val) { + return cb(self.network == 'testnet' ? false : !val); + }); + } + }; + self.setCustomBWSFlag = function() { var defaults = configService.getDefaults(); var config = configService.getSync(); From d6325113d408c53255c9fbca8bb311059b9fde6a Mon Sep 17 00:00:00 2001 From: Javier Date: Fri, 19 Feb 2016 10:27:59 -0300 Subject: [PATCH 6/7] move function to profileService --- src/js/controllers/index.js | 17 +---------------- src/js/controllers/walletHome.js | 4 ++++ src/js/services/profileService.js | 12 ++++++++++++ 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index cc6f40efc..c059c83d0 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -136,28 +136,13 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.initGlidera(); self.setCustomBWSFlag(); - self.isBackupNeeded(fc, function(needsBackup) { + profileService.isBackupNeeded(self.walletId, function(needsBackup) { self.needsBackup = needsBackup; self.openWallet(); }); }); }; - self.isBackupNeeded = function(fc, cb) { - if (fc.isPrivKeyExternal()) return cb(false); - - if (!fc.credentials.mnemonic) { - storageService.setBackupFlag(self.walletId, function(err) { - $log.debug('Backup stored'); - return cb(false); - }); - } else { - storageService.getBackupFlag(self.walletId, function(err, val) { - return cb(self.network == 'testnet' ? false : !val); - }); - } - }; - self.setCustomBWSFlag = function() { var defaults = configService.getDefaults(); var config = configService.getSync(); diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index e8e595b2b..6b2d565f5 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -250,6 +250,10 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi } $modalInstance.close(addr); + profileService.isBackupNeeded(walletId, function(needsBackup) { + self.destinationWalletNeedsBackup = needsBackup; + $modalInstance.close(addr); + }); }); }; }; diff --git a/src/js/services/profileService.js b/src/js/services/profileService.js index 4c9033503..72ce940a3 100644 --- a/src/js/services/profileService.js +++ b/src/js/services/profileService.js @@ -174,6 +174,18 @@ angular.module('copayApp.services') }); }; + root.isBackupNeeded = function(walletId, cb) { + var c = root.getClient(walletId); + if (c.isPrivKeyExternal()) return cb(false); + if (!c.credentials.mnemonic) return cb(false); + if (c.credentials.network == 'testnet') return cb(false); + + storageService.getBackupFlag(walletId, function(err, val) { + if (err || val) return cb(false); + return cb(true); + }); + }; + root._seedWallet = function(opts, cb) { opts = opts || {}; if (opts.bwsurl) From a28e9d18d0ea8a6ccccea84c8e85671995d27095 Mon Sep 17 00:00:00 2001 From: Javier Date: Mon, 22 Feb 2016 16:37:00 -0300 Subject: [PATCH 7/7] rebased --- public/views/walletHome.html | 4 ++-- src/js/controllers/walletHome.js | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/public/views/walletHome.html b/public/views/walletHome.html index 130f3f539..1946d3c40 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -482,8 +482,8 @@ Cancel
-
diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index 6b2d565f5..5a890c508 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -249,7 +249,6 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi return; } - $modalInstance.close(addr); profileService.isBackupNeeded(walletId, function(needsBackup) { self.destinationWalletNeedsBackup = needsBackup; $modalInstance.close(addr);