From 0be9ee92318263b9c7bf41855ba22e9fbe213167 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Fri, 19 Dec 2014 12:26:57 -0300 Subject: [PATCH 1/2] Fixes paypro if amount has comma as decimal separator --- css/src/main.css | 1 + js/controllers/send.js | 3 +++ views/send.html | 6 +++--- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/css/src/main.css b/css/src/main.css index 7099a97cb..9ce43d298 100644 --- a/css/src/main.css +++ b/css/src/main.css @@ -558,6 +558,7 @@ a.button-setup { .p20 {padding:20px;} .p10 {padding:10px;} .p10b {padding-bottom:10px;} +.p45li {padding-left: 45px !important;} .m30v {margin: 30px 0;} .m10h {margin:0 10px;} .m10v {margin:10px 0;} diff --git a/js/controllers/send.js b/js/controllers/send.js index 5a266192d..960f439d0 100644 --- a/js/controllers/send.js +++ b/js/controllers/send.js @@ -444,6 +444,9 @@ angular.module('copayApp.controllers').controller('SendController', $scope.error = $scope.success = null; if (!value) return ''; + // Fixes when a region uses comma to separate decimals + value = value.replace(',', '.'); + if (value.indexOf('bitcoin:') === 0) { return $scope.setFromUri(value); } else if (/^https?:\/\//.test(value)) { diff --git a/views/send.html b/views/send.html index e6b494ff1..0771ef5c1 100644 --- a/views/send.html +++ b/views/send.html @@ -4,7 +4,7 @@

{{$root.title}}

-
+
@@ -87,7 +87,7 @@
- +
@@ -138,7 +138,7 @@
-
+
From df48069c6332fe76689b0074751ae5445ddf2ca4 Mon Sep 17 00:00:00 2001 From: Ivan Socolsky Date: Fri, 19 Dec 2014 16:01:58 -0300 Subject: [PATCH 2/2] sanitized value in uri --- js/controllers/send.js | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/js/controllers/send.js b/js/controllers/send.js index 960f439d0..59f1ee383 100644 --- a/js/controllers/send.js +++ b/js/controllers/send.js @@ -420,8 +420,22 @@ angular.module('copayApp.controllers').controller('SendController', }; $scope.setFromUri = function(uri) { + function sanitizeUri(uri) { + // Fixes when a region uses comma to separate decimals + var regex = /[\?\&]amount=(\d+([\,\.]\d+)?)/i; + var match = regex.exec(uri); + if (!match || match.length === 0) { + return uri; + } + var value = match[0].replace(',', '.'); + var newUri = uri.replace(regex, value); + return newUri; + }; + var form = $scope.sendForm; + uri = sanitizeUri(uri); + var parsed = new bitcore.BIP21(uri); if (!parsed.isValid() || !parsed.address.isValid()) { $scope.error = 'Invalid bitcoin URL'; @@ -444,9 +458,6 @@ angular.module('copayApp.controllers').controller('SendController', $scope.error = $scope.success = null; if (!value) return ''; - // Fixes when a region uses comma to separate decimals - value = value.replace(',', '.'); - if (value.indexOf('bitcoin:') === 0) { return $scope.setFromUri(value); } else if (/^https?:\/\//.test(value)) {