Redirect to a previous page after login
This commit is contained in:
parent
5f16cbe23c
commit
74bf131930
@ -27,6 +27,7 @@ function UserService($http, $q, $rootScope, adminService, dashboardService, time
|
|||||||
currentUserDetails = null,
|
currentUserDetails = null,
|
||||||
lastPublicDashboardId = null,
|
lastPublicDashboardId = null,
|
||||||
allowedDashboardIds = [],
|
allowedDashboardIds = [],
|
||||||
|
redirectParams = null,
|
||||||
userTokenAccessEnabled = false,
|
userTokenAccessEnabled = false,
|
||||||
userLoaded = false;
|
userLoaded = false;
|
||||||
|
|
||||||
@ -56,6 +57,7 @@ function UserService($http, $q, $rootScope, adminService, dashboardService, time
|
|||||||
refreshTokenPending: refreshTokenPending,
|
refreshTokenPending: refreshTokenPending,
|
||||||
updateAuthorizationHeader: updateAuthorizationHeader,
|
updateAuthorizationHeader: updateAuthorizationHeader,
|
||||||
setAuthorizationRequestHeader: setAuthorizationRequestHeader,
|
setAuthorizationRequestHeader: setAuthorizationRequestHeader,
|
||||||
|
setRedirectParams: setRedirectParams,
|
||||||
gotoDefaultPlace: gotoDefaultPlace,
|
gotoDefaultPlace: gotoDefaultPlace,
|
||||||
forceDefaultPlace: forceDefaultPlace,
|
forceDefaultPlace: forceDefaultPlace,
|
||||||
updateLastPublicDashboardId: updateLastPublicDashboardId,
|
updateLastPublicDashboardId: updateLastPublicDashboardId,
|
||||||
@ -110,34 +112,24 @@ function UserService($http, $q, $rootScope, adminService, dashboardService, time
|
|||||||
lastPublicDashboardId = null;
|
lastPublicDashboardId = null;
|
||||||
userTokenAccessEnabled = false;
|
userTokenAccessEnabled = false;
|
||||||
allowedDashboardIds = [];
|
allowedDashboardIds = [];
|
||||||
var deferred = $q.defer();
|
|
||||||
if (!jwtToken) {
|
if (!jwtToken) {
|
||||||
clearTokenData();
|
clearTokenData();
|
||||||
if (notify) {
|
if (notify) {
|
||||||
$rootScope.$broadcast('unauthenticated', doLogout);
|
$rootScope.$broadcast('unauthenticated', doLogout);
|
||||||
deferred.reject();
|
|
||||||
}
|
}
|
||||||
deferred.resolve();
|
|
||||||
} else {
|
} else {
|
||||||
updateAndValidateToken(jwtToken, 'jwt_token', true);
|
updateAndValidateToken(jwtToken, 'jwt_token', true);
|
||||||
updateAndValidateToken(refreshToken, 'refresh_token', true);
|
updateAndValidateToken(refreshToken, 'refresh_token', true);
|
||||||
if (notify) {
|
if (notify) {
|
||||||
loadUser(false).then(function success() {
|
loadUser(false).then(function success() {
|
||||||
$rootScope.$broadcast('authenticated');
|
$rootScope.$broadcast('authenticated');
|
||||||
deferred.resolve();
|
|
||||||
}, function fail() {
|
}, function fail() {
|
||||||
$rootScope.$broadcast('unauthenticated');
|
$rootScope.$broadcast('unauthenticated');
|
||||||
deferred.reject();
|
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
loadUser(false).then(function success() {
|
loadUser(false);
|
||||||
deferred.resolve();
|
|
||||||
}, function fail() {
|
|
||||||
deferred.reject();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return deferred.promise;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function isAuthenticated() {
|
function isAuthenticated() {
|
||||||
@ -551,9 +543,15 @@ function UserService($http, $q, $rootScope, adminService, dashboardService, time
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function setRedirectParams(params) {
|
||||||
|
redirectParams = params;
|
||||||
|
}
|
||||||
|
|
||||||
function gotoDefaultPlace(params) {
|
function gotoDefaultPlace(params) {
|
||||||
if (currentUser && isAuthenticated()) {
|
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 (currentUser.authority === 'TENANT_ADMIN' || currentUser.authority === 'CUSTOMER_USER') {
|
||||||
if (userHasDefaultDashboard()) {
|
if (userHasDefaultDashboard()) {
|
||||||
place = $rootScope.forceFullscreen ? 'dashboard' : 'home.dashboards.dashboard';
|
place = $rootScope.forceFullscreen ? 'dashboard' : 'home.dashboards.dashboard';
|
||||||
|
|||||||
@ -127,7 +127,8 @@ export default function AppRun($rootScope, $window, $injector, $location, $log,
|
|||||||
var redirectParams = {};
|
var redirectParams = {};
|
||||||
redirectParams.toName = to.name;
|
redirectParams.toName = to.name;
|
||||||
redirectParams.params = params;
|
redirectParams.params = params;
|
||||||
$state.go('login', redirectParams);
|
userService.setRedirectParams(redirectParams);
|
||||||
|
$state.go('login', params);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -20,7 +20,7 @@ import logoSvg from '../../svg/logo_title_white.svg';
|
|||||||
/* eslint-enable import/no-unresolved, import/default */
|
/* eslint-enable import/no-unresolved, import/default */
|
||||||
|
|
||||||
/*@ngInject*/
|
/*@ngInject*/
|
||||||
export default function LoginController(toast, loginService, userService, $state, $stateParams, $rootScope) {
|
export default function LoginController(toast, loginService, userService) {
|
||||||
var vm = this;
|
var vm = this;
|
||||||
|
|
||||||
vm.logoSvg = logoSvg;
|
vm.logoSvg = logoSvg;
|
||||||
@ -30,22 +30,14 @@ export default function LoginController(toast, loginService, userService, $state
|
|||||||
password: ''
|
password: ''
|
||||||
};
|
};
|
||||||
|
|
||||||
vm.params = $stateParams;
|
// vm.params = $stateParams;
|
||||||
vm.login = login;
|
vm.login = login;
|
||||||
|
|
||||||
function doLogin() {
|
function doLogin() {
|
||||||
loginService.login(vm.user).then(function success(response) {
|
loginService.login(vm.user).then(function success(response) {
|
||||||
var token = response.data.token;
|
var token = response.data.token;
|
||||||
var refreshToken = response.data.refreshToken;
|
var refreshToken = response.data.refreshToken;
|
||||||
userService.setUserFromJwtToken(token, refreshToken, true).then(function() {
|
userService.setUserFromJwtToken(token, refreshToken, true);
|
||||||
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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}, function fail(/*response*/) {
|
}, function fail(/*response*/) {
|
||||||
/*if (response && response.data && response.data.message) {
|
/*if (response && response.data && response.data.message) {
|
||||||
toast.showError(response.data.message);
|
toast.showError(response.data.message);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user