fix payment intent

This commit is contained in:
Matias Alejo Garcia 2014-12-09 15:46:03 -03:00
parent a70e7e61a4
commit aa43273f8d
5 changed files with 29 additions and 38 deletions

View File

@ -7,11 +7,12 @@ angular.module('copayApp.controllers').controller('paymentUriController', functi
angular.forEach($location.search(), function(value, key) {
query.push(key + "=" + value);
});
var queryString = query ? "?" + query.join("&") : "";
var bitcoinURI = $routeParams.data + queryString;
var queryString = query ? query.join("&") : null;
var bitcoinURI = $routeParams.data + ( queryString ? '?' + queryString : '');
var uri = new bitcore.BIP21(bitcoinURI);
if (uri.isValid()) {
if (uri && uri.address && (_.isString(uri.address) || uri.address.isValid()) ) {
copay.logger.debug('Payment Intent:', bitcoinURI);
$rootScope.pendingPayment = bitcoinURI;
}

View File

@ -29,8 +29,10 @@ angular.module('copayApp.controllers').controller('SendController',
$scope.isMobile = isMobile.any();
if ($rootScope.pendingPayment) {
$scope.setFromUri($rootScope.pendingPayment)
$rootScope.pendingPayment = null;
$timeout(function() {
$scope.setFromUri($rootScope.pendingPayment)
$rootScope.pendingPayment = null;
},100);
}
$scope.setInputs();
@ -154,11 +156,8 @@ angular.module('copayApp.controllers').controller('SendController',
amountSat: amount,
comment: comment,
}, function(err, txid, status) {
console.log('[send.js.156:txid:]', txid); //TODO
console.log('[send.js.156:status:]', status); //TODO
$scope.loading = false;
console.log('[send.js.158]'); //TODO
if (err)
return $scope.setError(err);

View File

@ -1,27 +1,9 @@
var bitcore = require('bitcore');
angular.module('copayApp.controllers').controller('walletForPaymentController', function($rootScope, $scope, $modal, go) {
console.log('[walletForPayment.js.4]'); //TODO
if (!$rootScope.pendingPayment) {
go.walletHome();
} else {
console.log('[walletForPayment.js.9]'); //TODO
$scope.selectWallet(function(w) {
if (w) {
identityService.setFocusedWallet(w);
go.send();
} else {
go.walletHome();
}
});
}
angular.module('copayApp.controllers').controller('walletForPaymentController', function($rootScope, $scope, $modal, identityService, go) {
$scope.selectWallet = function(cb) {
console.log('[walletForPayment.js.22]'); //TODO
var ModalInstanceCtrl = function($scope, $modalInstance, $identityService) {
var ModalInstanceCtrl = function($scope, $modalInstance, identityService) {
$scope.loading = true;
preconditions.checkState($rootScope.iden);
@ -31,9 +13,7 @@ console.log('[walletForPayment.js.22]'); //TODO
});
$scope.setWallets = function() {
$scope.wallets = _.filter($rootScope.iden.listWallets(), function(w) {
return w.balanceInfo && w.balanceInfo.totalBalanceBTC;
});
$scope.wallets = $rootScope.iden.listWallets();
};
$scope.ok = function(w) {
@ -47,11 +27,25 @@ console.log('[walletForPayment.js.22]'); //TODO
};
};
console.log('[walletForPayment.js.49]'); //TODO
$modal.open({
templateUrl: 'views/modals/walletSelect.html',
templateUrl: 'views/modals/walletSelection.html',
windowClass: 'tiny',
controller: ModalInstanceCtrl,
});
};
// INIT: (not it a function, since there is no associated html)
if (!$rootScope.pendingPayment) {
go.walletHome();
} else {
$scope.selectWallet(function(w) {
if (w) {
identityService.setFocusedWallet(w);
go.send();
} else {
go.walletHome();
}
});
};
});

View File

@ -73,7 +73,6 @@ angular.module('copayApp.services').factory('go', function($window, $rootScope,
};
root.home = function() {
console.log('[go.js.48:home:]'); //TODO
if ($rootScope.iden)
root.walletHome();
else
@ -82,8 +81,6 @@ console.log('[go.js.48:home:]'); //TODO
root.send = function() {
console.log('[go.js.58]'); //TODO
$location.path('send');
};

View File

@ -1,9 +1,9 @@
<a class="close-reveal-modal" ng-click="cancel()">&#215;</a>
<h3>Select a wallet to make the payment</h3>
<h3 ng-init="setWallets()">Select a wallet to make the payment</h3>
<span ng-show="!wallets[0]">Loading...</span>
<ul class="w-popup-menu" ng-show="wallets[0]" ng-class="{'large':wallets.length > 4, 'medium':wallets.length > 2 && wallets.length < 5}">
<li data-ng-repeat="item in wallets track by $index" class="nav-item" ng-click="ok(item)">
<li data-ng-repeat="item in wallets track by $index" class="nav-item" ng-click="ok(item)" ng-show="+item.balanceInfo.totalBalanceBTC > 0">
<div class="w-popup-icon">
<div class="avatar-wallet">{{(item.name || item.id) | limitTo: 1}}</div>
</div>