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,
|
||||
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';
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user