From 96f961e38fac254f2167bf7d49f9469855de7d5b Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Fri, 23 Sep 2016 18:08:11 -0300 Subject: [PATCH] Bug fixes --- src/js/controllers/confirm.js | 22 ++++++++++++---------- src/js/controllers/modals/txStatus.js | 2 +- src/js/controllers/tab-receive.js | 2 +- src/js/controllers/tab-send.js | 2 +- src/js/services/incomingData.js | 9 +-------- 5 files changed, 16 insertions(+), 21 deletions(-) diff --git a/src/js/controllers/confirm.js b/src/js/controllers/confirm.js index 6665f0a49..4f0a595bd 100644 --- a/src/js/controllers/confirm.js +++ b/src/js/controllers/confirm.js @@ -5,6 +5,7 @@ angular.module('copayApp.controllers').controller('confirmController', function( var isChromeApp = platformInfo.isChromeApp; $scope.isWallet = $stateParams.isWallet; + $scope.toAmount = $stateParams.toAmount; $scope.toAddress = $stateParams.toAddress; $scope.toName = $stateParams.toName; $scope.toEmail = $stateParams.toEmail; @@ -16,15 +17,15 @@ angular.module('copayApp.controllers').controller('confirmController', function( }); var initConfirm = function() { - if ($stateParams.paypro) { - return setFromPayPro($stateParams.paypro, function(err) { + if ($scope.paypro) { + return setFromPayPro($scope.paypro, function(err) { if (err && !isChromeApp) { popupService.showAlert(gettext('Could not fetch payment')); } }); } // TODO (URL , etc) - if (!$stateParams.toAddress || !$stateParams.toAmount) { + if (!$scope.toAddress || !$scope.toAmount) { $log.error('Bad params at amount') throw ('bad params'); } @@ -34,7 +35,7 @@ angular.module('copayApp.controllers').controller('confirmController', function( var config = configService.getSync().wallet; $scope.feeLevel = config.settings ? config.settings.feeLevel : ''; - var amount = $scope.toAmount = parseInt($stateParams.toAmount); + $scope.toAmount = parseInt($scope.toAmount); $scope.amountStr = txFormatService.formatAmountStr($scope.toAmount); var networkName = (new bitcore.Address($scope.toAddress)).network.name; @@ -55,7 +56,7 @@ angular.module('copayApp.controllers').controller('confirmController', function( $log.error(err); } else { if (!status.availableBalanceSat) $log.debug('No balance available in: ' + w.name); - if (status.availableBalanceSat > amount) filteredWallets.push(w); + if (status.availableBalanceSat > $scope.toAmount) filteredWallets.push(w); } if (++index == wallets.length) { @@ -70,7 +71,7 @@ angular.module('copayApp.controllers').controller('confirmController', function( }); }); - txFormatService.formatAlternativeStr(amount, function(v) { + txFormatService.formatAlternativeStr($scope.toAmount, function(v) { $scope.alternativeAmountStr = v; }); @@ -146,12 +147,13 @@ angular.module('copayApp.controllers').controller('confirmController', function( return cb(true); } - $stateParams.toAmount = paypro.amount; - $stateParams.toAddress = paypro.toAddress; - $stateParams.description = paypro.memo; - $stateParams.paypro = null; + $scope.toAmount = paypro.amount; + $scope.toAddress = paypro.toAddress; + $scope.description = paypro.memo; + $scope.paypro = null; $scope._paypro = paypro; + return initConfirm(); }); }; diff --git a/src/js/controllers/modals/txStatus.js b/src/js/controllers/modals/txStatus.js index 4127d2172..d8383c5eb 100644 --- a/src/js/controllers/modals/txStatus.js +++ b/src/js/controllers/modals/txStatus.js @@ -3,7 +3,7 @@ angular.module('copayApp.controllers').controller('txStatusController', function($scope, $timeout, $state, $ionicHistory, $log, addressbookService) { if ($scope.cb) $timeout($scope.cb, 100); - $scope.fromSendTab = $ionicHistory.viewHistory().backView.stateName === "tabs.send.amount"; + $scope.fromSendTab = $ionicHistory.viewHistory().backView.stateName === "tabs.send.amount" || "tabs.send"; $scope.cancel = function() { $scope.txStatusModal.hide(); diff --git a/src/js/controllers/tab-receive.js b/src/js/controllers/tab-receive.js index 558f86d0d..7a1886832 100644 --- a/src/js/controllers/tab-receive.js +++ b/src/js/controllers/tab-receive.js @@ -47,7 +47,7 @@ angular.module('copayApp.controllers').controller('tabReceiveController', functi }, 1); }; - $scope.$on("$ionicView.enter", function(event, data) { + $scope.$on("$ionicView.beforeEnter", function(event, data) { if (!$scope.isCordova) $scope.checkTips(); $scope.wallets = profileService.getWallets({ onlyComplete: true diff --git a/src/js/controllers/tab-send.js b/src/js/controllers/tab-send.js index f839c1a78..ce2fb7bd6 100644 --- a/src/js/controllers/tab-send.js +++ b/src/js/controllers/tab-send.js @@ -86,7 +86,7 @@ angular.module('copayApp.controllers').controller('tabSendController', function( }); }; - $scope.$on("$ionicView.enter", function(event, data){ + $scope.$on("$ionicView.beforeEnter", function(event, data){ $scope.formData = { search: null }; updateList(); }); diff --git a/src/js/services/incomingData.js b/src/js/services/incomingData.js index 8cc754689..fc363590c 100644 --- a/src/js/services/incomingData.js +++ b/src/js/services/incomingData.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.services').factory('incomingData', function($log, $ionicModal, $ionicHistory, $state, $window, $timeout, bitcore) { +angular.module('copayApp.services').factory('incomingData', function($log, $ionicModal, $state, $window, $timeout, bitcore) { var root = {}; @@ -26,7 +26,6 @@ angular.module('copayApp.services').factory('incomingData', function($log, $ioni // data extensions for Payment Protocol with non-backwards-compatible request if ((/^bitcoin:\?r=[\w+]/).exec(data)) { data = decodeURIComponent(data.replace('bitcoin:?r=', '')); - $ionicHistory.removeBackView(); $state.go('tabs.send'); $timeout(function() { $state.transitionTo('tabs.send.confirm', {paypro: data}); @@ -46,7 +45,6 @@ angular.module('copayApp.services').factory('incomingData', function($log, $ioni var amount = parsed.amount ? parsed.amount : ''; - $ionicHistory.removeBackView(); $state.go('tabs.send'); $timeout(function() { if (parsed.r) { @@ -63,7 +61,6 @@ angular.module('copayApp.services').factory('incomingData', function($log, $ioni // Plain URL } else if (/^https?:\/\//.test(data)) { - $ionicHistory.removeBackView(); $state.go('tabs.send'); $timeout(function() { $state.transitionTo('tabs.send.confirm', {paypro: data}); @@ -72,14 +69,12 @@ angular.module('copayApp.services').factory('incomingData', function($log, $ioni // Plain Address } else if (bitcore.Address.isValid(data, 'livenet')) { - $ionicHistory.removeBackView(); $state.go('tabs.send'); $timeout(function() { $state.transitionTo('tabs.send.amount', {toAddress: data}); }, 100); return true; } else if (bitcore.Address.isValid(data, 'testnet')) { - $ionicHistory.removeBackView(); $state.go('tabs.send'); $timeout(function() { $state.transitionTo('tabs.send.amount', {toAddress: data}); @@ -94,7 +89,6 @@ angular.module('copayApp.services').factory('incomingData', function($log, $ioni // Join } else if (data && data.match(/^copay:[0-9A-HJ-NP-Za-km-z]{70,80}$/)) { - $ionicHistory.removeBackView(); $state.go('tabs.home'); $timeout(function() { $state.transitionTo('tabs.add.join', {url: data}); @@ -103,7 +97,6 @@ angular.module('copayApp.services').factory('incomingData', function($log, $ioni // Old join } else if (data && data.match(/^[0-9A-HJ-NP-Za-km-z]{70,80}$/)) { - $ionicHistory.removeBackView(); $state.go('tabs.home'); $timeout(function() { $state.transitionTo('tabs.add.join', {url: data});