From e0eb06156ee07d23abcaf632c25d5eda78e56d9f Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Thu, 1 Jun 2017 17:16:42 -0300 Subject: [PATCH 1/3] Adds support for EUR and GBP currencies --- src/js/controllers/bitpayCard.js | 1 + src/js/controllers/topup.js | 16 ++++++++++++++-- src/js/services/bitpayCardService.js | 12 +++++++++++- www/views/bitpayCard.html | 2 +- www/views/topup.html | 4 +++- 5 files changed, 30 insertions(+), 5 deletions(-) diff --git a/src/js/controllers/bitpayCard.js b/src/js/controllers/bitpayCard.js index 8f2f36e11..24863eebc 100644 --- a/src/js/controllers/bitpayCard.js +++ b/src/js/controllers/bitpayCard.js @@ -184,6 +184,7 @@ angular.module('copayApp.controllers').controller('bitpayCardController', functi $scope.$on("$ionicView.beforeEnter", function(event, data) { $scope.cardId = data.stateParams.id; + $scope.currency = bitpayCardService.getAvailableCurrency(); if (!$scope.cardId) { $ionicHistory.nextViewOptions({ diff --git a/src/js/controllers/topup.js b/src/js/controllers/topup.js index ef536706e..9dfca6863 100644 --- a/src/js/controllers/topup.js +++ b/src/js/controllers/topup.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('topUpController', function($scope, $log, $state, $timeout, $ionicHistory, $ionicConfig, lodash, popupService, profileService, ongoingProcess, walletService, configService, platformInfo, bitpayService, bitpayCardService, payproService, bwcError, txFormatService, sendMaxService) { +angular.module('copayApp.controllers').controller('topUpController', function($scope, $log, $state, $timeout, $ionicHistory, $ionicConfig, $sce, lodash, popupService, profileService, ongoingProcess, walletService, configService, platformInfo, bitpayService, bitpayCardService, payproService, bwcError, txFormatService, sendMaxService) { var amount; var currency; @@ -91,7 +91,19 @@ angular.module('copayApp.controllers').controller('topUpController', function($s } $scope.onWalletSelect($scope.wallets[0]); // Default first wallet - bitpayCardService.getRates('USD', function(err, data) { + var currencyCode = bitpayCardService.getAvailableCurrency(); + var code; + switch(currencyCode) { + case 'EUR': + code = '€'; + break; + case 'GBP': + code = '£'; + break; + default : code = '$'; + }; + $scope.htmlCurrencyCode = $sce.trustAsHtml(code); + bitpayCardService.getRates(currencyCode, function(err, data) { if (err) $log.error(err); $scope.rate = data.rate; }); diff --git a/src/js/services/bitpayCardService.js b/src/js/services/bitpayCardService.js index 01e92de04..b4a747255 100644 --- a/src/js/services/bitpayCardService.js +++ b/src/js/services/bitpayCardService.js @@ -7,7 +7,7 @@ angular.module('copayApp.services').factory('bitpayCardService', function($log, $log.error(msg); var error = (e && e.data && e.data.error) ? e.data.error : msg; return error; - }; + }; var _processTransactions = function(invoices, history) { invoices = invoices ||  []; @@ -41,6 +41,16 @@ angular.module('copayApp.services').factory('bitpayCardService', function($log, return history; }; + root.getAvailableCurrency = function() { + var config = configService.getSync().wallet.settings; + // ONLY "USD", "EUR" and "GBP" + switch (config.alternativeIsoCode) { + case 'EUR': return 'EUR'; + case 'GBP': return 'GBP'; + default: return 'USD' + }; + }; + root.sync = function(apiContext, cb) { var json = { method: 'getDebitCards' diff --git a/www/views/bitpayCard.html b/www/views/bitpayCard.html index c13d1ee96..c1e6ad9c6 100644 --- a/www/views/bitpayCard.html +++ b/www/views/bitpayCard.html @@ -23,7 +23,7 @@ + ui-sref="tabs.bitpayCard.amount({nextStep: 'tabs.bitpayCard.topup', currency: currency})" no-low-fee> {{'Add Funds'|translate}} diff --git a/www/views/topup.html b/www/views/topup.html index 5cf7a85af..42f5f4003 100644 --- a/www/views/topup.html +++ b/www/views/topup.html @@ -19,7 +19,9 @@
{{amountUnitStr}}
- @ {{rate | currency:'$':2}} per BTC + @ + + {{rate | currency:' ':2}} per BTC ...
From ce8c8d41fc75329bd9ee522bcfbb16cf86337e44 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Mon, 5 Jun 2017 10:37:35 -0300 Subject: [PATCH 2/3] Fix symbols --- src/js/controllers/topup.js | 9 ++++----- www/views/topup.html | 3 +-- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/js/controllers/topup.js b/src/js/controllers/topup.js index 9dfca6863..6ed932eca 100644 --- a/src/js/controllers/topup.js +++ b/src/js/controllers/topup.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('topUpController', function($scope, $log, $state, $timeout, $ionicHistory, $ionicConfig, $sce, lodash, popupService, profileService, ongoingProcess, walletService, configService, platformInfo, bitpayService, bitpayCardService, payproService, bwcError, txFormatService, sendMaxService) { +angular.module('copayApp.controllers').controller('topUpController', function($scope, $log, $state, $timeout, $ionicHistory, $ionicConfig, lodash, popupService, profileService, ongoingProcess, walletService, configService, platformInfo, bitpayService, bitpayCardService, payproService, bwcError, txFormatService, sendMaxService) { var amount; var currency; @@ -95,14 +95,13 @@ angular.module('copayApp.controllers').controller('topUpController', function($s var code; switch(currencyCode) { case 'EUR': - code = '€'; + $scope.currencySymbol = '€'; break; case 'GBP': - code = '£'; + $scope.currencySymbol = '£'; break; - default : code = '$'; + default : $scope.currencySymbol = '$'; }; - $scope.htmlCurrencyCode = $sce.trustAsHtml(code); bitpayCardService.getRates(currencyCode, function(err, data) { if (err) $log.error(err); $scope.rate = data.rate; diff --git a/www/views/topup.html b/www/views/topup.html index 42f5f4003..2542c645f 100644 --- a/www/views/topup.html +++ b/www/views/topup.html @@ -20,8 +20,7 @@
{{amountUnitStr}}
@ - - {{rate | currency:' ':2}} per BTC + {{rate | currency:currencySymbol:2}} per BTC ...
From f6d7a50b008a2fb0bcd8236e8848fb0dc9718820 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Mon, 5 Jun 2017 12:09:48 -0300 Subject: [PATCH 3/3] Fix currency --- src/js/controllers/bitpayCard.js | 2 +- src/js/controllers/topup.js | 21 +++++---------------- src/js/services/bitpayCardService.js | 12 +----------- www/views/bitpayCard.html | 2 +- www/views/topup.html | 2 +- 5 files changed, 9 insertions(+), 30 deletions(-) diff --git a/src/js/controllers/bitpayCard.js b/src/js/controllers/bitpayCard.js index 24863eebc..c17cdf4a1 100644 --- a/src/js/controllers/bitpayCard.js +++ b/src/js/controllers/bitpayCard.js @@ -184,7 +184,6 @@ angular.module('copayApp.controllers').controller('bitpayCardController', functi $scope.$on("$ionicView.beforeEnter", function(event, data) { $scope.cardId = data.stateParams.id; - $scope.currency = bitpayCardService.getAvailableCurrency(); if (!$scope.cardId) { $ionicHistory.nextViewOptions({ @@ -204,6 +203,7 @@ angular.module('copayApp.controllers').controller('bitpayCardController', functi self.balance = cards[0].balance; self.currencySymbol = cards[0].currencySymbol; self.updatedOn = cards[0].updatedOn; + self.currency = cards[0].currency; } self.update(); }); diff --git a/src/js/controllers/topup.js b/src/js/controllers/topup.js index 6ed932eca..ce9ff7964 100644 --- a/src/js/controllers/topup.js +++ b/src/js/controllers/topup.js @@ -91,28 +91,17 @@ angular.module('copayApp.controllers').controller('topUpController', function($s } $scope.onWalletSelect($scope.wallets[0]); // Default first wallet - var currencyCode = bitpayCardService.getAvailableCurrency(); - var code; - switch(currencyCode) { - case 'EUR': - $scope.currencySymbol = '€'; - break; - case 'GBP': - $scope.currencySymbol = '£'; - break; - default : $scope.currencySymbol = '$'; - }; - bitpayCardService.getRates(currencyCode, function(err, data) { - if (err) $log.error(err); - $scope.rate = data.rate; - }); - bitpayCardService.get({ cardId: cardId, noRefresh: true }, function(err, card) { if (err) { showErrorAndBack(null, err); return; } $scope.cardInfo = card[0]; + bitpayCardService.setCurrencySymbol($scope.cardInfo); + bitpayCardService.getRates($scope.cardInfo.currency, function(err, data) { + if (err) $log.error(err); + $scope.rate = data.rate; + }); }); }); diff --git a/src/js/services/bitpayCardService.js b/src/js/services/bitpayCardService.js index b4a747255..7c38abafd 100644 --- a/src/js/services/bitpayCardService.js +++ b/src/js/services/bitpayCardService.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.services').factory('bitpayCardService', function($log, $rootScope, $filter, lodash, storageService, bitauthService, platformInfo, moment, appIdentityService, bitpayService, nextStepsService, configService, txFormatService, appConfigService) { +angular.module('copayApp.services').factory('bitpayCardService', function($log, $rootScope, $filter, lodash, storageService, bitauthService, platformInfo, moment, appIdentityService, bitpayService, nextStepsService, txFormatService, appConfigService) { var root = {}; var _setError = function(msg, e) { @@ -41,16 +41,6 @@ angular.module('copayApp.services').factory('bitpayCardService', function($log, return history; }; - root.getAvailableCurrency = function() { - var config = configService.getSync().wallet.settings; - // ONLY "USD", "EUR" and "GBP" - switch (config.alternativeIsoCode) { - case 'EUR': return 'EUR'; - case 'GBP': return 'GBP'; - default: return 'USD' - }; - }; - root.sync = function(apiContext, cb) { var json = { method: 'getDebitCards' diff --git a/www/views/bitpayCard.html b/www/views/bitpayCard.html index c1e6ad9c6..5f0a43e71 100644 --- a/www/views/bitpayCard.html +++ b/www/views/bitpayCard.html @@ -23,7 +23,7 @@ + ui-sref="tabs.bitpayCard.amount({nextStep: 'tabs.bitpayCard.topup', currency: bitpayCard.currency})" no-low-fee> {{'Add Funds'|translate}} diff --git a/www/views/topup.html b/www/views/topup.html index 2542c645f..61e8c800c 100644 --- a/www/views/topup.html +++ b/www/views/topup.html @@ -20,7 +20,7 @@
{{amountUnitStr}}
@ - {{rate | currency:currencySymbol:2}} per BTC + {{rate | currency:cardInfo.currencySymbol:2}} per BTC ...