thingsboard-developers
Changes
ui/src/app/api/user.service.js 22(+10 -12)
ui/src/app/app.run.js 3(+2 -1)
ui/src/app/login/login.controller.js 14(+3 -11)
Details
ui/src/app/api/user.service.js 22(+10 -12)
diff --git a/ui/src/app/api/user.service.js b/ui/src/app/api/user.service.js
index 64075b8..71c04ce 100644
--- a/ui/src/app/api/user.service.js
+++ b/ui/src/app/api/user.service.js
@@ -27,6 +27,7 @@ function UserService($http, $q, $rootScope, adminService, dashboardService, time
currentUserDetails = null,
lastPublicDashboardId = null,
allowedDashboardIds = [],
+ redirectParams = null,
userTokenAccessEnabled = false,
userLoaded = false;
@@ -56,6 +57,7 @@ function UserService($http, $q, $rootScope, adminService, dashboardService, time
refreshTokenPending: refreshTokenPending,
updateAuthorizationHeader: updateAuthorizationHeader,
setAuthorizationRequestHeader: setAuthorizationRequestHeader,
+ setRedirectParams: setRedirectParams,
gotoDefaultPlace: gotoDefaultPlace,
forceDefaultPlace: forceDefaultPlace,
updateLastPublicDashboardId: updateLastPublicDashboardId,
@@ -110,34 +112,24 @@ function UserService($http, $q, $rootScope, adminService, dashboardService, time
lastPublicDashboardId = null;
userTokenAccessEnabled = false;
allowedDashboardIds = [];
- var deferred = $q.defer();
if (!jwtToken) {
clearTokenData();
if (notify) {
$rootScope.$broadcast('unauthenticated', doLogout);
- deferred.reject();
}
- deferred.resolve();
} else {
updateAndValidateToken(jwtToken, 'jwt_token', true);
updateAndValidateToken(refreshToken, 'refresh_token', true);
if (notify) {
loadUser(false).then(function success() {
$rootScope.$broadcast('authenticated');
- deferred.resolve();
}, function fail() {
$rootScope.$broadcast('unauthenticated');
- deferred.reject();
});
} else {
- loadUser(false).then(function success() {
- deferred.resolve();
- }, function fail() {
- deferred.reject();
- });
+ loadUser(false);
}
}
- return deferred.promise;
}
function isAuthenticated() {
@@ -551,9 +543,15 @@ function UserService($http, $q, $rootScope, adminService, dashboardService, time
return false;
}
+ function setRedirectParams(params) {
+ redirectParams = params;
+ }
+
function gotoDefaultPlace(params) {
if (currentUser && isAuthenticated()) {
- var place = 'home.links';
+ var place = redirectParams ? redirectParams.toName : 'home.links';
+ params = redirectParams ? redirectParams.params : params;
+ redirectParams = null;
if (currentUser.authority === 'TENANT_ADMIN' || currentUser.authority === 'CUSTOMER_USER') {
if (userHasDefaultDashboard()) {
place = $rootScope.forceFullscreen ? 'dashboard' : 'home.dashboards.dashboard';
ui/src/app/app.run.js 3(+2 -1)
diff --git a/ui/src/app/app.run.js b/ui/src/app/app.run.js
index 8a20945..8064ae5 100644
--- a/ui/src/app/app.run.js
+++ b/ui/src/app/app.run.js
@@ -127,7 +127,8 @@ export default function AppRun($rootScope, $window, $injector, $location, $log,
var redirectParams = {};
redirectParams.toName = to.name;
redirectParams.params = params;
- $state.go('login', redirectParams);
+ userService.setRedirectParams(redirectParams);
+ $state.go('login', params);
}
}
} else {
ui/src/app/login/login.controller.js 14(+3 -11)
diff --git a/ui/src/app/login/login.controller.js b/ui/src/app/login/login.controller.js
index 73ad0fb..ffda552 100644
--- a/ui/src/app/login/login.controller.js
+++ b/ui/src/app/login/login.controller.js
@@ -20,7 +20,7 @@ import logoSvg from '../../svg/logo_title_white.svg';
/* eslint-enable import/no-unresolved, import/default */
/*@ngInject*/
-export default function LoginController(toast, loginService, userService, $state, $stateParams, $rootScope) {
+export default function LoginController(toast, loginService, userService) {
var vm = this;
vm.logoSvg = logoSvg;
@@ -30,22 +30,14 @@ export default function LoginController(toast, loginService, userService, $state
password: ''
};
- vm.params = $stateParams;
+ // vm.params = $stateParams;
vm.login = login;
function doLogin() {
loginService.login(vm.user).then(function success(response) {
var token = response.data.token;
var refreshToken = response.data.refreshToken;
- userService.setUserFromJwtToken(token, refreshToken, true).then(function() {
- if (vm.params.toName && vm.params.toName !== 'login') {
- if (vm.params.toName == 'home.dashboards.dashboard' && $rootScope.forceFullscreen) {
- $state.go('dashboard', vm.params.params)
- } else {
- $state.go(vm.params.toName, vm.params.params)
- }
- }
- });
+ userService.setUserFromJwtToken(token, refreshToken, true);
}, function fail(/*response*/) {
/*if (response && response.data && response.data.message) {
toast.showError(response.data.message);