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