From 4ec340640e0e24989aa8da628ad83fcab74f6da6 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Tue, 14 Feb 2017 15:04:18 -0300 Subject: [PATCH] Fix link account --- src/js/controllers/glidera.js | 6 +++++- src/js/controllers/glideraUri.js | 36 -------------------------------- src/js/routes.js | 7 +------ src/js/services/incomingData.js | 18 ++++++++++++++-- 4 files changed, 22 insertions(+), 45 deletions(-) delete mode 100644 src/js/controllers/glideraUri.js diff --git a/src/js/controllers/glidera.js b/src/js/controllers/glidera.js index c1cf086da..5c55fe3f1 100644 --- a/src/js/controllers/glidera.js +++ b/src/js/controllers/glidera.js @@ -108,7 +108,11 @@ angular.module('copayApp.controllers').controller('glideraController', $scope.network = glideraService.getNetwork(); $scope.showOauthForm = false; $scope.account = {}; - init(); + if (data.stateParams && data.stateParams.code) { + $scope.submitOauthCode(data.stateParams.code); + } else { + init(); + } }); }); diff --git a/src/js/controllers/glideraUri.js b/src/js/controllers/glideraUri.js deleted file mode 100644 index 0ebcbfae7..000000000 --- a/src/js/controllers/glideraUri.js +++ /dev/null @@ -1,36 +0,0 @@ -'use strict'; -angular.module('copayApp.controllers').controller('glideraUriController', - function($scope, $log, $stateParams, $timeout, glideraService, storageService, $state, ongoingProcess, popupService, gettextCatalog) { - - var submitOauthCode = function(code) { - $log.debug('Glidera Oauth Code:' + code); - $scope.network = glideraService.getEnvironment(); - ongoingProcess.set('connectingGlidera', true); - $timeout(function() { - glideraService.getToken(code, function(err, data) { - ongoingProcess.set('connectingGlidera', false); - if (err) { - popupService.showAlert(gettextCatalog.getString('Error'), err); - } else if (data && data.access_token) { - storageService.setGlideraToken($scope.network, data.access_token, function() { - $timeout(function() { - $state.go('tabs.buyandsell.glidera'); - $scope.$apply(); - }, 500); - }); - } - }); - }, 100); - }; - - $scope.$on("$ionicView.enter", function(event, data){ - if ($stateParams.url) { - var match = $stateParams.url.match(/code=(.+)/); - if (match && match[1]) { - submitOauthCode(match[1]); - return; - } - } - $log.error('Bad state: ' + JSON.stringify($stateParams)); - }); - }); diff --git a/src/js/routes.js b/src/js/routes.js index 59202bea4..81354ded8 100644 --- a/src/js/routes.js +++ b/src/js/routes.js @@ -137,11 +137,6 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr url: '/uri-payment/:url', templateUrl: 'views/paymentUri.html' }) - .state('uriglidera', { - url: '/uri-glidera/:url', - controller: 'glideraUriController', - templateUrl: 'views/glideraUri.html' - }) /* * @@ -880,7 +875,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr */ .state('tabs.buyandsell.glidera', { - url: '/glidera', + url: '/glidera/:code', views: { 'tab-home@tabs': { controller: 'glideraController', diff --git a/src/js/services/incomingData.js b/src/js/services/incomingData.js index c9543536e..2863f2f1a 100644 --- a/src/js/services/incomingData.js +++ b/src/js/services/incomingData.js @@ -122,9 +122,23 @@ angular.module('copayApp.services').factory('incomingData', function($log, $stat goToAmountPage(data); } } else if (data && data.indexOf(appConfigService.name + '://glidera') === 0) { - return $state.go('uriglidera', { - url: data + var code = getParameterByName('code', data); + $ionicHistory.nextViewOptions({ + disableAnimate: true }); + $state.go('tabs.home', {}, { + 'reload': true, + 'notify': $state.current.name == 'tabs.home' ? false : true + }).then(function() { + $ionicHistory.nextViewOptions({ + disableAnimate: true + }); + $state.transitionTo('tabs.buyandsell.glidera', { + code: code + }); + }); + return true; + } else if (data && data.indexOf(appConfigService.name + '://coinbase') === 0) { var code = getParameterByName('code', data); $ionicHistory.nextViewOptions({