Skip to content
Snippets Groups Projects
Commit 0f057bf7 authored by Benoit Lavenier's avatar Benoit Lavenier
Browse files

- Fix local storage if not login

parent 23ce607d
No related branches found
No related tags found
No related merge requests found
{ {
"name": "cesium", "name": "cesium",
"version": "0.1.2", "version": "0.1.3",
"description": "A webapp client for Duniter network", "description": "A webapp client for Duniter network",
"dependencies": { "dependencies": {
"gulp": "^3.9.1", "gulp": "^3.9.1",
......
...@@ -14,8 +14,8 @@ angular.module("cesium.config", []) ...@@ -14,8 +14,8 @@ angular.module("cesium.config", [])
"TIMEOUT": 4000, "TIMEOUT": 4000,
"DEBUG": false, "DEBUG": false,
"NATIVE_TRANSITION": false, "NATIVE_TRANSITION": false,
"VERSION": "0.1.2", "VERSION": "0.1.3",
"BUILD_DATE": "2016-05-26T22:23:02.644Z" "BUILD_DATE": "2016-05-26T23:07:50.994Z"
}) })
; ;
\ No newline at end of file
...@@ -52,21 +52,24 @@ function LoginModalController($scope, $rootScope, $ionicModal, Wallet, CryptoUti ...@@ -52,21 +52,24 @@ function LoginModalController($scope, $rootScope, $ionicModal, Wallet, CryptoUti
}; };
// Open login modal // Open login modal
$scope.login = function(callback) { $scope.login = function(success, cancel) {
if ($scope.loginModal) { if ($scope.loginModal) {
UIUtils.loading.hide(); UIUtils.loading.hide();
$scope.loginModal.show(); $scope.loginModal.show();
$scope.loginData.callback = callback; $scope.loginData.callbacks = {};
$scope.loginData.callbacks.success = success;
$scope.loginData.callbacks.cancel = cancel;
} }
else{ else{
$timeout(function(){ $timeout(function(){
$scope.login(callback); $scope.login(success, cancel);
}, 2000); }, 2000);
} }
}; };
// Login and load wallet // Login and load wallet
$scope.loadWallet = function() { $scope.loadWallet = function(allowCancel) {
if (!allowCancel) {allowCancel = false;}
return $q(function(resolve, reject){ return $q(function(resolve, reject){
if (!Wallet.isLogin()) { if (!Wallet.isLogin()) {
...@@ -82,13 +85,22 @@ function LoginModalController($scope, $rootScope, $ionicModal, Wallet, CryptoUti ...@@ -82,13 +85,22 @@ function LoginModalController($scope, $rootScope, $ionicModal, Wallet, CryptoUti
.catch(UIUtils.onError('ERROR.LOAD_WALLET_DATA_ERROR', reject)); .catch(UIUtils.onError('ERROR.LOAD_WALLET_DATA_ERROR', reject));
} }
else { else {
$scope.login(function() { $scope.login(
function() {
$rootScope.viewFirstEnter = false; $rootScope.viewFirstEnter = false;
Wallet.loadData() Wallet.loadData()
.then(function(walletData){ .then(function(walletData){
resolve(walletData); resolve(walletData);
}) })
.catch(UIUtils.onError('ERROR.LOAD_WALLET_DATA_ERROR', reject)); .catch(UIUtils.onError('ERROR.LOAD_WALLET_DATA_ERROR', reject));
},
function() { // user cancel callback
if (allowCancel) {
resolve();
}
else {
reject();
}
}); });
} }
}) })
...@@ -110,9 +122,13 @@ function LoginModalController($scope, $rootScope, $ionicModal, Wallet, CryptoUti ...@@ -110,9 +122,13 @@ function LoginModalController($scope, $rootScope, $ionicModal, Wallet, CryptoUti
// Triggered in the login modal to close it // Triggered in the login modal to close it
$scope.cancelLogin = function() { $scope.cancelLogin = function() {
var callback = $scope.loginData.callbacks.cancel;
$scope.loginData = {}; // Reset login data $scope.loginData = {}; // Reset login data
$scope.loginForm.$setPristine(); // Reset form $scope.loginForm.$setPristine(); // Reset form
$scope.loginModal.hide(); $scope.loginModal.hide();
if (!!callback) {
callback();
}
}; };
// Login form submit // Login form submit
...@@ -127,7 +143,7 @@ function LoginModalController($scope, $rootScope, $ionicModal, Wallet, CryptoUti ...@@ -127,7 +143,7 @@ function LoginModalController($scope, $rootScope, $ionicModal, Wallet, CryptoUti
// Call wallet login, then execute callback function // Call wallet login, then execute callback function
Wallet.login($scope.loginData.username, $scope.loginData.password) Wallet.login($scope.loginData.username, $scope.loginData.password)
.then(function(){ .then(function(){
var callback = $scope.loginData.callback; var callback = $scope.loginData.callbacks.success;
$scope.loginData = {}; // Reset login data $scope.loginData = {}; // Reset login data
$scope.loginForm.$setPristine(); // Reset form $scope.loginForm.$setPristine(); // Reset form
if (!!callback) { if (!!callback) {
......
...@@ -34,16 +34,17 @@ function SettingsController($scope, $state, UIUtils, Wallet, $translate, BMA, $q ...@@ -34,16 +34,17 @@ function SettingsController($scope, $state, UIUtils, Wallet, $translate, BMA, $q
$scope.loading = true; $scope.loading = true;
$scope.$on('$ionicView.enter', function(e, $state) { $scope.$on('$ionicView.enter', function(e, $state) {
UIUtils.loading.show();
$scope.loading = true; // to avoid the call of Wallet.store() $scope.loading = true; // to avoid the call of Wallet.store()
$scope.loadWallet() $scope.loadWallet(true/*allowCancel*/)
.then(function(walletData) { .then(function(walletData) {
if (walletData) {
$scope.formData.useRelative = walletData.settings.useRelative; $scope.formData.useRelative = walletData.settings.useRelative;
$scope.formData.node = walletData.settings.node; $scope.formData.node = walletData.settings.node;
$scope.formData.useLocalStorage = walletData.settings.useLocalStorage; $scope.formData.useLocalStorage = walletData.settings.useLocalStorage;
if (walletData.settings.locale && walletData.settings.locale.id) { if (walletData.settings.locale && walletData.settings.locale.id) {
$scope.formData.locale = _.findWhere($scope.locales, {id: walletData.settings.locale.id}); $scope.formData.locale = _.findWhere($scope.locales, {id: walletData.settings.locale.id});
} }
}
UIUtils.loading.hide(); UIUtils.loading.hide();
$scope.loading = false; $scope.loading = false;
}) })
......
...@@ -9,6 +9,10 @@ angular.module('cesium.utils.services', ['ngResource']) ...@@ -9,6 +9,10 @@ angular.module('cesium.utils.services', ['ngResource'])
function alertError(err, subtitle) { function alertError(err, subtitle) {
return $q(function(resolve, reject) { return $q(function(resolve, reject) {
if (!err) {
resolve();
return;
}
$translate([err, subtitle, 'ERROR.POPUP_TITLE', 'ERROR.UNKNOWN_ERROR', 'COMMON.BTN_OK']) $translate([err, subtitle, 'ERROR.POPUP_TITLE', 'ERROR.UNKNOWN_ERROR', 'COMMON.BTN_OK'])
.then(function (translations) { .then(function (translations) {
var message = err.message || translations[err]; var message = err.message || translations[err];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment