Fix link account

This commit is contained in:
Gustavo Maximiliano Cortez 2017-02-14 15:04:18 -03:00
commit 4ec340640e
No known key found for this signature in database
GPG key ID: 15EDAD8D9F2EB1AF
4 changed files with 22 additions and 45 deletions

View file

@ -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();
}
});
});

View file

@ -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));
});
});

View file

@ -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',

View file

@ -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({