Merge pull request #15 from cmgustavo/ref/design-07

Amazon uses new popupService
This commit is contained in:
Matias Alejo Garcia 2016-08-31 08:23:50 -03:00 committed by GitHub
commit 9be82d3bf9
4 changed files with 25 additions and 45 deletions

View file

@ -12,9 +12,7 @@
<div ng-show="!buy.giftCard"> <div ng-show="!buy.giftCard">
<div class="box-notification error" ng-show="buy.error" ng-click="buy.error = null"> <div class="box-notification error" ng-show="buy.errorInfo" ng-click="buy.errorInfo = null">
{{buy.error}}
<div ng-show="buy.errorInfo">
There was an error when trying to buy gift card, but the funds were sent to BitPay Invoice. Please, contact There was an error when trying to buy gift card, but the funds were sent to BitPay Invoice. Please, contact
BitPay to refund your bitcoin BitPay to refund your bitcoin
<div> <div>
@ -25,7 +23,6 @@
<a ng-click="openExternalLink(buy.errorInfo.invoiceUrl)">Open invoice</a> <a ng-click="openExternalLink(buy.errorInfo.invoiceUrl)">Open invoice</a>
</div> </div>
</div> </div>
</div>
<div class="padding text-center"> <div class="padding text-center">
<img src="img/a_generic.jpg" alt="Amazon.com Gift Card" width="180"> <img src="img/a_generic.jpg" alt="Amazon.com Gift Card" width="180">

View file

@ -1,11 +1,7 @@
'use strict'; 'use strict';
angular.module('copayApp.controllers').controller('amazonController', angular.module('copayApp.controllers').controller('amazonController',
function($scope, $timeout, $ionicModal, $log, lodash, bwcError, amazonService, platformInfo, nodeWebkit) { function($scope, $timeout, $ionicModal, $log, lodash, bwcError, amazonService, platformInfo, nodeWebkit, popupService) {
if (platformInfo.isCordova && StatusBar.isVisible) {
StatusBar.backgroundColorByHexString("#4B6178");
}
$scope.openExternalLink = function(url, target) { $scope.openExternalLink = function(url, target) {
if (platformInfo.isNW) { if (platformInfo.isNW) {
@ -21,7 +17,7 @@ angular.module('copayApp.controllers').controller('amazonController',
$scope.network = amazonService.getEnvironment(); $scope.network = amazonService.getEnvironment();
amazonService.getPendingGiftCards(function(err, gcds) { amazonService.getPendingGiftCards(function(err, gcds) {
if (err) { if (err) {
self.error = err; popupService.showAlert(err);
return; return;
} }
$scope.giftCards = lodash.isEmpty(gcds) ? null : gcds; $scope.giftCards = lodash.isEmpty(gcds) ? null : gcds;
@ -41,7 +37,7 @@ angular.module('copayApp.controllers').controller('amazonController',
$log.debug("creating gift card"); $log.debug("creating gift card");
amazonService.createGiftCard(dataFromStorage, function(err, giftCard) { amazonService.createGiftCard(dataFromStorage, function(err, giftCard) {
if (err) { if (err) {
$log.debug(bwcError.msg(err)); popupService.showAlert(bwcError.msg(err));
return; return;
} }
if (giftCard.status != 'PENDING') { if (giftCard.status != 'PENDING') {
@ -61,7 +57,7 @@ angular.module('copayApp.controllers').controller('amazonController',
$log.debug("Saving new gift card"); $log.debug("Saving new gift card");
amazonService.getPendingGiftCards(function(err, gcds) { amazonService.getPendingGiftCards(function(err, gcds) {
if (err) { if (err) {
self.error = err; popupService.showAlert(err);
return; return;
} }
$scope.giftCards = gcds; $scope.giftCards = gcds;

View file

@ -1,7 +1,7 @@
'use strict'; 'use strict';
angular.module('copayApp.controllers').controller('buyAmazonController', angular.module('copayApp.controllers').controller('buyAmazonController',
function($rootScope, $scope, $ionicModal, $log, $timeout, $state, $ionicPopup, lodash, profileService, bwcError, gettext, configService, walletService, fingerprintService, amazonService, ongoingProcess, platformInfo, nodeWebkit) { function($scope, $log, $timeout, $state, lodash, profileService, bwcError, gettextCatalog, configService, walletService, amazonService, ongoingProcess, platformInfo, nodeWebkit, popupService) {
var self = this; var self = this;
var wallet; var wallet;
@ -33,14 +33,13 @@ angular.module('copayApp.controllers').controller('buyAmazonController',
}; };
this.createTx = function() { this.createTx = function() {
self.error = null;
self.errorInfo = null; self.errorInfo = null;
if (lodash.isEmpty(wallet)) return; if (lodash.isEmpty(wallet)) return;
if (!wallet.canSign() && !wallet.isPrivKeyExternal()) { if (!wallet.canSign() && !wallet.isPrivKeyExternal()) {
$log.info('No signing proposal: No private key'); $log.info('No signing proposal: No private key');
self.error = bwcError.msg('MISSING_PRIVATE_KEY'); popupService.showAler(gettextCatalog.getString('Error'), bwcError.msg('MISSING_PRIVATE_KEY'));
return; return;
} }
@ -60,20 +59,14 @@ angular.module('copayApp.controllers').controller('buyAmazonController',
amazonService.createBitPayInvoice(dataSrc, function(err, dataInvoice) { amazonService.createBitPayInvoice(dataSrc, function(err, dataInvoice) {
if (err) { if (err) {
ongoingProcess.set('Processing Transaction...', false); ongoingProcess.set('Processing Transaction...', false);
self.error = bwcError.msg(err); popupService.showAler(gettextCatalog.getString('Error'), bwcError.msg(err));
$timeout(function() {
$scope.$digest();
});
return; return;
} }
amazonService.getBitPayInvoice(dataInvoice.invoiceId, function(err, invoice) { amazonService.getBitPayInvoice(dataInvoice.invoiceId, function(err, invoice) {
if (err) { if (err) {
ongoingProcess.set('Processing Transaction...', false); ongoingProcess.set('Processing Transaction...', false);
self.error = bwcError.msg(err); popupService.showAlert(gettextCatalog.getString('Error'), bwcError.msg(err));
$timeout(function() {
$scope.$digest();
});
return; return;
} }
@ -88,19 +81,16 @@ angular.module('copayApp.controllers').controller('buyAmazonController',
$log.warn('Could not fetch payment request:', err); $log.warn('Could not fetch payment request:', err);
var msg = err.toString(); var msg = err.toString();
if (msg.match('HTTP')) { if (msg.match('HTTP')) {
msg = gettext('Could not fetch payment information'); msg = gettextCatalog.getString('Could not fetch payment information');
} }
self.error = msg; popupService.showAlert(gettextCatalog.getString('Error'), msg);
$timeout(function() {
$scope.$digest();
});
return; return;
} }
if (!paypro.verified) { if (!paypro.verified) {
ongoingProcess.set('Processing Transaction...', false); ongoingProcess.set('Processing Transaction...', false);
$log.warn('Failed to verify payment protocol signatures'); $log.warn('Failed to verify payment protocol signatures');
self.error = gettext('Payment Protocol Invalid'); popupService.showAlert(gettextCatalog.getString('Error'), gettextCatalog.getString('Payment Protocol Invalid'));
$timeout(function() { $timeout(function() {
$scope.$digest(); $scope.$digest();
}); });
@ -133,16 +123,13 @@ angular.module('copayApp.controllers').controller('buyAmazonController',
walletService.createTx(wallet, txp, function(err, createdTxp) { walletService.createTx(wallet, txp, function(err, createdTxp) {
ongoingProcess.set('Processing Transaction...', false); ongoingProcess.set('Processing Transaction...', false);
if (err) { if (err) {
self.error = bwcError.msg(err); popupService.showAlert(gettextCatalog.getString('Error'), bwcError.msg(err));
$timeout(function() {
$scope.$digest();
});
return; return;
} }
walletService.publishAndSign(wallet, createdTxp, function(err, tx) { walletService.publishAndSign(wallet, createdTxp, function(err, tx) {
if (err) { if (err) {
ongoingProcess.set('Processing Transaction...', false); ongoingProcess.set('Processing Transaction...', false);
self.error = bwcError.msg(err); popupService.showAlert(gettextCatalog.getString('Error'), bwcError.msg(err));
walletService.removeTx(wallet, tx, function(err) { walletService.removeTx(wallet, tx, function(err) {
if (err) $log.debug(err); if (err) $log.debug(err);
}); });
@ -182,7 +169,7 @@ angular.module('copayApp.controllers').controller('buyAmazonController',
giftCard = {}; giftCard = {};
giftCard.status = 'FAILURE'; giftCard.status = 'FAILURE';
ongoingProcess.set('Processing Transaction...', false); ongoingProcess.set('Processing Transaction...', false);
self.error = bwcError.msg(err); popupService.showAlert(gettextCatalog.getString('Error'), bwcError.msg(err));
self.errorInfo = dataSrc; self.errorInfo = dataSrc;
$timeout(function() { $timeout(function() {
$scope.$digest(); $scope.$digest();

View file

@ -62,12 +62,12 @@ angular.module('copayApp.services').service('popupService', function($log, $ioni
* Show a simple alert popup * Show a simple alert popup
* *
* @param {String} Title * @param {String} Title
* @param {String} Message * @param {String} Message (optional)
* @param {Callback} Function (optional) * @param {Callback} Function (optional)
*/ */
this.showAlert = function(title, msg, cb) { this.showAlert = function(title, msg, cb) {
var message = msg.message ? msg.message : msg; var message = (msg && msg.message) ? msg.message : msg;
$log.warn(title + ": " + message); $log.warn(title + ": " + message);
if (isCordova) if (isCordova)