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",
"version": "0.1.2",
"version": "0.1.3",
"description": "A webapp client for Duniter network",
"dependencies": {
"gulp": "^3.9.1",
......
......@@ -14,8 +14,8 @@ angular.module("cesium.config", [])
"TIMEOUT": 4000,
"DEBUG": false,
"NATIVE_TRANSITION": false,
"VERSION": "0.1.2",
"BUILD_DATE": "2016-05-26T22:23:02.644Z"
"VERSION": "0.1.3",
"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
};
// Open login modal
$scope.login = function(callback) {
$scope.login = function(success, cancel) {
if ($scope.loginModal) {
UIUtils.loading.hide();
$scope.loginModal.show();
$scope.loginData.callback = callback;
$scope.loginData.callbacks = {};
$scope.loginData.callbacks.success = success;
$scope.loginData.callbacks.cancel = cancel;
}
else{
$timeout(function(){
$scope.login(callback);
$scope.login(success, cancel);
}, 2000);
}
};
// Login and load wallet
$scope.loadWallet = function() {
$scope.loadWallet = function(allowCancel) {
if (!allowCancel) {allowCancel = false;}
return $q(function(resolve, reject){
if (!Wallet.isLogin()) {
......@@ -82,13 +85,22 @@ function LoginModalController($scope, $rootScope, $ionicModal, Wallet, CryptoUti
.catch(UIUtils.onError('ERROR.LOAD_WALLET_DATA_ERROR', reject));
}
else {
$scope.login(function() {
$scope.login(
function() {
$rootScope.viewFirstEnter = false;
Wallet.loadData()
.then(function(walletData){
resolve(walletData);
})
.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
// Triggered in the login modal to close it
$scope.cancelLogin = function() {
var callback = $scope.loginData.callbacks.cancel;
$scope.loginData = {}; // Reset login data
$scope.loginForm.$setPristine(); // Reset form
$scope.loginModal.hide();
if (!!callback) {
callback();
}
};
// Login form submit
......@@ -127,7 +143,7 @@ function LoginModalController($scope, $rootScope, $ionicModal, Wallet, CryptoUti
// Call wallet login, then execute callback function
Wallet.login($scope.loginData.username, $scope.loginData.password)
.then(function(){
var callback = $scope.loginData.callback;
var callback = $scope.loginData.callbacks.success;
$scope.loginData = {}; // Reset login data
$scope.loginForm.$setPristine(); // Reset form
if (!!callback) {
......
......@@ -34,16 +34,17 @@ function SettingsController($scope, $state, UIUtils, Wallet, $translate, BMA, $q
$scope.loading = true;
$scope.$on('$ionicView.enter', function(e, $state) {
UIUtils.loading.show();
$scope.loading = true; // to avoid the call of Wallet.store()
$scope.loadWallet()
$scope.loadWallet(true/*allowCancel*/)
.then(function(walletData) {
if (walletData) {
$scope.formData.useRelative = walletData.settings.useRelative;
$scope.formData.node = walletData.settings.node;
$scope.formData.useLocalStorage = walletData.settings.useLocalStorage;
if (walletData.settings.locale && walletData.settings.locale.id) {
$scope.formData.locale = _.findWhere($scope.locales, {id: walletData.settings.locale.id});
}
}
UIUtils.loading.hide();
$scope.loading = false;
})
......
......@@ -9,6 +9,10 @@ angular.module('cesium.utils.services', ['ngResource'])
function alertError(err, subtitle) {
return $q(function(resolve, reject) {
if (!err) {
resolve();
return;
}
$translate([err, subtitle, 'ERROR.POPUP_TITLE', 'ERROR.UNKNOWN_ERROR', 'COMMON.BTN_OK'])
.then(function (translations) {
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