mirror of
				https://github.com/pierre42100/ComunicWeb
				synced 2025-11-04 12:14:12 +00:00 
			
		
		
		
	Fixed error in login functions and prepared home controller
This commit is contained in:
		@@ -42,13 +42,13 @@ ComunicWeb.user.loginTokens = {
 | 
			
		||||
     */
 | 
			
		||||
    checkLoginTokens: function(){
 | 
			
		||||
        //First, check in local storage
 | 
			
		||||
        if(localStorage.getItem("loginTokens") != "null"){
 | 
			
		||||
        if(localStorage.getItem("loginTokens") != null){
 | 
			
		||||
            //It is OK
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //Check if we have to remove any thing in session storage
 | 
			
		||||
        if(sessionStorage.getItem("loginTokens") != "null"){
 | 
			
		||||
        if(sessionStorage.getItem("loginTokens") != null){
 | 
			
		||||
            //It is OK
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -34,7 +34,7 @@ ComunicWeb.user.userLogin = {
 | 
			
		||||
     */
 | 
			
		||||
    getUserID: function(){
 | 
			
		||||
        //If user is logged in
 | 
			
		||||
        if(this.getUserLoginState === true){
 | 
			
		||||
        if(this.getUserLoginState() === true){
 | 
			
		||||
            //Return user ID
 | 
			
		||||
            return this.__userID;
 | 
			
		||||
        }
 | 
			
		||||
@@ -59,6 +59,15 @@ ComunicWeb.user.userLogin = {
 | 
			
		||||
                //Set user ID to 0 (security purpose)
 | 
			
		||||
                ComunicWeb.user.userLogin.__userID = 0;
 | 
			
		||||
 | 
			
		||||
                //If error is 404, make user as logged out
 | 
			
		||||
                if(result.error.code == 401){
 | 
			
		||||
                    ComunicWeb.user.userLogin.__userLogin = false;
 | 
			
		||||
                    ComunicWeb.user.loginTokens.deleteLoginTokens();
 | 
			
		||||
                    
 | 
			
		||||
                    //Refresh the page
 | 
			
		||||
                    location.href = document.location;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                //Perform next action
 | 
			
		||||
                afterGetCurrentUserID(0);
 | 
			
		||||
            }
 | 
			
		||||
@@ -78,14 +87,21 @@ ComunicWeb.user.userLogin = {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Refresh the user login state
 | 
			
		||||
     * 
 | 
			
		||||
     * @param {Function} afterRefresh Optionnal, what to do after refreshing login
 | 
			
		||||
     */
 | 
			
		||||
    refreshLoginState: function(){
 | 
			
		||||
    refreshLoginState: function(afterRefresh){
 | 
			
		||||
        //First, check if we have login tokens
 | 
			
		||||
        if(ComunicWeb.user.loginTokens.checkLoginTokens() !== true){
 | 
			
		||||
            //Specify the user isn't logged in
 | 
			
		||||
            this.__userLogin = false;
 | 
			
		||||
            this.__userID = 0;
 | 
			
		||||
 | 
			
		||||
            //If there is a next action, do it (even if user isn't logged in)
 | 
			
		||||
            if(afterRefresh){
 | 
			
		||||
                afterRefresh();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            //User not logged in
 | 
			
		||||
            return false;
 | 
			
		||||
        }
 | 
			
		||||
@@ -97,6 +113,11 @@ ComunicWeb.user.userLogin = {
 | 
			
		||||
                //We consider user is not logged in
 | 
			
		||||
                 ComunicWeb.user.userLogin.__userLogin = false;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            //If there is a next action, do it
 | 
			
		||||
            if(afterRefresh){
 | 
			
		||||
                afterRefresh();
 | 
			
		||||
            }
 | 
			
		||||
        };
 | 
			
		||||
        this.getCurrentUserId(nextStep);
 | 
			
		||||
    },
 | 
			
		||||
@@ -126,6 +147,9 @@ ComunicWeb.user.userLogin = {
 | 
			
		||||
            if(result.success){
 | 
			
		||||
                loginstate = true;
 | 
			
		||||
 | 
			
		||||
                //Log
 | 
			
		||||
                ComunicWeb.debug.logMessage("User login " + usermail + " successful !");
 | 
			
		||||
 | 
			
		||||
                //Indicates user is logged in
 | 
			
		||||
                ComunicWeb.user.userLogin.__userLogin = true;
 | 
			
		||||
                
 | 
			
		||||
@@ -145,7 +169,43 @@ ComunicWeb.user.userLogin = {
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        //Perform request
 | 
			
		||||
        ComunicWeb.common.api.makeAPIrequest(apiURI, params, afterAPIrequest);
 | 
			
		||||
        ComunicWeb.common.api.makeAPIrequest(apiURI, params, false, afterAPIrequest);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
    /**
 | 
			
		||||
     * Logout user
 | 
			
		||||
     * 
 | 
			
		||||
     * @param {Function} afterLogout What to do once user is logged out
 | 
			
		||||
     */
 | 
			
		||||
    logoutUser: function(afterLogout){
 | 
			
		||||
        //Prepare and make an API request
 | 
			
		||||
        var apiURI = "user/disconnectUSER";
 | 
			
		||||
        var params = {};
 | 
			
		||||
 | 
			
		||||
        //What to do after the request is completed
 | 
			
		||||
        var afterAPIrequest = function(result){
 | 
			
		||||
 | 
			
		||||
            //Log
 | 
			
		||||
            ComunicWeb.debug.logMessage("Logout request on server terminated.");
 | 
			
		||||
 | 
			
		||||
            //Perform next action (if specified)
 | 
			
		||||
            if(afterLogout){
 | 
			
		||||
                afterLogout();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        //Perform request
 | 
			
		||||
        ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, afterAPIrequest);
 | 
			
		||||
 | 
			
		||||
        //Destroy login tokens
 | 
			
		||||
        ComunicWeb.user.loginTokens.deleteLoginTokens();
 | 
			
		||||
 | 
			
		||||
        //Specify user is logged out
 | 
			
		||||
        this.__userID = 0;
 | 
			
		||||
        this.__userLogin = false;
 | 
			
		||||
 | 
			
		||||
        //Done !
 | 
			
		||||
        return 0;
 | 
			
		||||
    },
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user