Wallet/src/js/controllers/disclaimer.js

70 lines
2.1 KiB
JavaScript
Raw Normal View History

'use strict';
angular.module('copayApp.controllers').controller('disclaimerController',
2016-07-11 10:06:09 -03:00
function($scope, $rootScope, $timeout, $log, $ionicSideMenuDelegate, profileService, applicationService, gettextCatalog, uxLanguage, go, storageService, gettext, platformInfo, ongoingProcess) {
2015-12-16 01:41:16 -03:00
var self = this;
2015-12-14 14:02:27 -03:00
self.tries = 0;
2016-06-13 11:44:58 -03:00
var isCordova = platformInfo.isCordova;
ongoingProcess.set('creatingWallet', true);
2016-06-05 16:27:49 -03:00
var create = function(opts) {
opts = opts || {};
$log.debug('Creating profile');
profileService.create(opts, function(err) {
2015-11-17 13:36:31 -03:00
if (err) {
2015-11-24 17:16:52 -03:00
$log.warn(err);
2015-11-30 13:32:54 -03:00
$scope.error = err;
$scope.$apply();
2016-06-05 16:27:49 -03:00
return $timeout(function() {
2015-11-30 13:32:54 -03:00
$log.warn('Retrying to create profile......');
2015-12-14 14:02:27 -03:00
if (self.tries == 3) {
self.tries == 0;
2016-06-05 16:27:49 -03:00
return create({
noWallet: true
});
2015-12-14 14:02:27 -03:00
} else {
self.tries += 1;
2016-06-05 16:27:49 -03:00
return create();
2015-12-14 14:02:27 -03:00
}
2015-11-30 13:32:54 -03:00
}, 3000);
2016-06-05 16:27:49 -03:00
};
$scope.error = "";
2016-06-13 11:44:58 -03:00
ongoingProcess.set('creatingWallet', false);
});
};
2015-11-17 11:10:09 -03:00
2016-06-05 16:27:49 -03:00
this.init = function(opts) {
$ionicSideMenuDelegate.canDragContent(false);
2015-12-04 18:45:35 -03:00
self.lang = uxLanguage.currentLanguage;
2016-06-09 17:47:27 -03:00
storageService.getProfile(function(err, profile) {
if (!profile) {
2016-06-05 16:27:49 -03:00
create(opts);
} else {
2016-06-05 16:27:49 -03:00
$log.info('There is already a profile');
2016-06-13 11:44:58 -03:00
ongoingProcess.set('creatingWallet', false);
profileService.bindProfile(profile, function(err) {
if (!err || !err.message || !err.message.match('NONAGREEDDISCLAIMER')) {
$log.debug('Disclaimer already accepted at #disclaimer. Redirect to Wallet Home.');
$ionicSideMenuDelegate.canDragContent(true);
go.walletHome();
}
});
}
});
2015-12-04 18:45:35 -03:00
};
2016-02-22 19:32:24 -03:00
this.accept = function() {
profileService.setDisclaimerAccepted(function(err) {
if (err) $log.error(err);
else {
$ionicSideMenuDelegate.canDragContent(true);
2016-07-11 10:06:09 -03:00
$rootScope.$emit('disclaimerAccepted');
go.walletHome();
}
2016-02-22 19:32:24 -03:00
});
};
});