From 0f057bf7fac8f477fa19723f5941c7cdffc07607 Mon Sep 17 00:00:00 2001 From: blavenie <benoit.lavenier@e-is.pro> Date: Fri, 27 May 2016 01:08:41 +0200 Subject: [PATCH] - Fix local storage if not login --- package.json | 2 +- www/js/config.js | 4 +-- www/js/controllers/app-controllers.js | 40 +++++++++++++++------- www/js/controllers/settings-controllers.js | 15 ++++---- www/js/services/utils-services.js | 4 +++ 5 files changed, 43 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 87bf4f428..e15ca95b0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cesium", - "version": "0.1.2", + "version": "0.1.3", "description": "A webapp client for Duniter network", "dependencies": { "gulp": "^3.9.1", diff --git a/www/js/config.js b/www/js/config.js index 02c4824f2..ee8122747 100644 --- a/www/js/config.js +++ b/www/js/config.js @@ -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 diff --git a/www/js/controllers/app-controllers.js b/www/js/controllers/app-controllers.js index c8acf22f5..a19698bea 100644 --- a/www/js/controllers/app-controllers.js +++ b/www/js/controllers/app-controllers.js @@ -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() { - $rootScope.viewFirstEnter = false; - Wallet.loadData() - .then(function(walletData){ - resolve(walletData); - }) - .catch(UIUtils.onError('ERROR.LOAD_WALLET_DATA_ERROR', reject)); + $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) { diff --git a/www/js/controllers/settings-controllers.js b/www/js/controllers/settings-controllers.js index 221bc1e58..0aff62acf 100644 --- a/www/js/controllers/settings-controllers.js +++ b/www/js/controllers/settings-controllers.js @@ -34,15 +34,16 @@ 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) { - $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}); + 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; diff --git a/www/js/services/utils-services.js b/www/js/services/utils-services.js index 8a0f3108b..a2570fafd 100644 --- a/www/js/services/utils-services.js +++ b/www/js/services/utils-services.js @@ -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]; -- GitLab