2017-01-29 14:49:21 +00:00
|
|
|
/**
|
|
|
|
* User informations functions
|
|
|
|
*
|
|
|
|
* @author Pierre HUBERT
|
|
|
|
*/
|
|
|
|
|
|
|
|
ComunicWeb.user.getUserInfos = {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @var {String} User infos cache
|
|
|
|
*/
|
2017-05-19 16:17:32 +00:00
|
|
|
usersInfos: {},
|
2017-01-29 14:49:21 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Get user informations
|
|
|
|
*
|
|
|
|
* @param {String} userID User on which to make request (current to get connected user)
|
2017-05-19 16:17:32 +00:00
|
|
|
* @param {function} afterGetUserInfos What to do once user informations are available
|
|
|
|
* @return {Boolean} False if it fails
|
2017-01-29 14:49:21 +00:00
|
|
|
*/
|
2017-05-19 16:17:32 +00:00
|
|
|
getUserInfos: function(userID, afterGetUserInfos){
|
|
|
|
//First, check if informations are already available in the cache
|
|
|
|
if(this.usersInfos[userID])
|
|
|
|
afterGetUserInfos(this.usersInfos[userID]); //Then return these informations now
|
|
|
|
|
|
|
|
//Else we have to perform an API request
|
|
|
|
if(userID == "current" || userID == ComunicWeb.user.userLogin.__userID){
|
|
|
|
var apiURI = "user/getCurrentUserInfos";
|
|
|
|
var params = {};
|
|
|
|
}
|
|
|
|
else{
|
|
|
|
ComunicWeb.debug.logMessage("ERROR : getUserInfos not implemented for other user than the current one !");
|
|
|
|
}
|
|
|
|
|
|
|
|
//Specify what to do next
|
|
|
|
var onceGetUserInfos = function(result){
|
|
|
|
if(result.error){
|
|
|
|
ComunicWeb.debug.logMessage("ERROR : couldn't get infos about user ID : "+userID+" !");
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
//Save result
|
|
|
|
ComunicWeb.user.getUserInfos.usersInfos[""+userID] = result[0];
|
|
|
|
|
|
|
|
//Return result
|
|
|
|
afterGetUserInfos(result[0]);
|
|
|
|
}
|
|
|
|
|
|
|
|
//Perform request
|
|
|
|
ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, onceGetUserInfos);
|
|
|
|
|
|
|
|
//Everything is OK
|
|
|
|
return true;
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Empty user informations cache
|
|
|
|
* Remove all entries from user informations cache
|
|
|
|
*
|
2017-05-25 13:47:03 +00:00
|
|
|
* @return {Boolean} True for a success
|
2017-05-19 16:17:32 +00:00
|
|
|
*/
|
|
|
|
emptyUserInfosCache: function(){
|
|
|
|
this.userInfos = undefined; //Mark user info cache as undefined
|
|
|
|
this.userInfos = {}; //Create a new variable
|
2017-05-25 13:47:03 +00:00
|
|
|
|
|
|
|
return true;
|
2017-05-19 16:17:32 +00:00
|
|
|
},
|
2017-01-29 14:49:21 +00:00
|
|
|
}
|