mirror of
https://github.com/pierre42100/ComunicWeb
synced 2024-11-22 20:19:21 +00:00
Connected menuBar login form to login page
This commit is contained in:
parent
72fe4108ba
commit
5c5a65cdff
@ -10,6 +10,11 @@ var ComunicWeb = {
|
|||||||
*/
|
*/
|
||||||
__config: ComunicConfig,
|
__config: ComunicConfig,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List of available pages
|
||||||
|
*/
|
||||||
|
pagesList:{},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Common functions
|
* Common functions
|
||||||
*/
|
*/
|
||||||
@ -386,6 +391,13 @@ var ComunicWeb = {
|
|||||||
* Perform user login
|
* Perform user login
|
||||||
*/
|
*/
|
||||||
loginSubmit: function(){},
|
loginSubmit: function(){},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display login error message
|
||||||
|
*
|
||||||
|
* @return {Boolean} True for a success
|
||||||
|
*/
|
||||||
|
displayLoginError: function(){},
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -399,4 +411,4 @@ var ComunicWeb = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
}
|
};
|
@ -24,6 +24,11 @@ ComunicWeb.components.menuBar.notAuthenticated = {
|
|||||||
|
|
||||||
loginForm.onsubmit = function(){
|
loginForm.onsubmit = function(){
|
||||||
//Try to login user; in case of failure redirect to login page
|
//Try to login user; in case of failure redirect to login page
|
||||||
|
//TODO : implement
|
||||||
|
//In case of error
|
||||||
|
ComunicWeb.common.page.openPage("login", {
|
||||||
|
loginFailedMessage: true,
|
||||||
|
});
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -37,6 +42,7 @@ ComunicWeb.components.menuBar.notAuthenticated = {
|
|||||||
emailInput.className = "form-control";
|
emailInput.className = "form-control";
|
||||||
emailInput.placeholder = "Email address";
|
emailInput.placeholder = "Email address";
|
||||||
emailInput.type = "email";
|
emailInput.type = "email";
|
||||||
|
emailInput.value = ComunicWeb.components.mailCaching.get();
|
||||||
|
|
||||||
//Add password formGroup
|
//Add password formGroup
|
||||||
var passwordFormGroup = createElem("div", loginForm);
|
var passwordFormGroup = createElem("div", loginForm);
|
||||||
|
@ -5,113 +5,140 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
ComunicWeb.pages.login = {
|
ComunicWeb.pages.login = {
|
||||||
/**
|
/**
|
||||||
* Open login page
|
* Open login page
|
||||||
*
|
*
|
||||||
* @param {Object} additionnalData Additionnal data passed in the method
|
* @param {Object} additionnalData Additionnal data passed in the method
|
||||||
* @param {element} targetElement Where the template will be applied
|
* @param {element} targetElement Where the template will be applied
|
||||||
* @returns {Boolean} False if it fails
|
* @returns {Boolean} False if it fails
|
||||||
*/
|
*/
|
||||||
openLoginPage: function(additionnalData, targetElement){
|
openLoginPage: function(additionnalData, targetElement){
|
||||||
//First, check if user is already logged in or not
|
//First, check if user is already logged in or not
|
||||||
if(ComunicWeb.user.userLogin.getUserLoginState() === true){
|
if(ComunicWeb.user.userLogin.getUserLoginState() === true){
|
||||||
//Log message
|
//Log message
|
||||||
ComunicWeb.debug.logMessage("Couldn't open login page because user is already logged in !");
|
ComunicWeb.debug.logMessage("Couldn't open login page because user is already logged in !");
|
||||||
|
|
||||||
//Open home page
|
//Open home page
|
||||||
ComunicWeb.common.page.openPage("home");
|
ComunicWeb.common.page.openPage("home");
|
||||||
|
|
||||||
//Quit page
|
//Quit page
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Prepare additional data
|
//Prepare additional data
|
||||||
var additionalData = {};
|
var additionalTemplateData = {};
|
||||||
|
|
||||||
//Preparing next actions
|
//Preparing next actions
|
||||||
var afterParsingTemplate = function(){
|
var afterParsingTemplate = function(){
|
||||||
//Change body class name
|
//Change body class name
|
||||||
document.body.className = "login-page hold-transition";
|
document.body.className = "login-page hold-transition";
|
||||||
|
|
||||||
//Enable iCheck
|
//Enable iCheck
|
||||||
$(function () {
|
$(function () {
|
||||||
$('input').iCheck({
|
$('input').iCheck({
|
||||||
checkboxClass: 'icheckbox_square-blue',
|
checkboxClass: 'icheckbox_square-blue',
|
||||||
radioClass: 'iradio_square-blue',
|
radioClass: 'iradio_square-blue',
|
||||||
increaseArea: '20%' // optional
|
increaseArea: '20%' // optional
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
//Get login form element
|
//Define email address (if possible)
|
||||||
var loginBody = document.getElementById("loginForm");
|
byId("usermail").value = ComunicWeb.components.mailCaching.get();
|
||||||
|
|
||||||
//Get login button
|
//Get login form element
|
||||||
var loginButton = loginBody.getElementsByClassName("btn-login")[0];
|
var loginBody = document.getElementById("loginForm");
|
||||||
|
|
||||||
//Make the login action accessible
|
//Get login button
|
||||||
//loginButton.onclick = ComunicWeb.pages.login.loginSubmit;
|
var loginButton = loginBody.getElementsByClassName("btn-login")[0];
|
||||||
loginBody.onsubmit = ComunicWeb.pages.login.loginSubmit;
|
|
||||||
};
|
|
||||||
|
|
||||||
//Apply template
|
//Make the login action accessible
|
||||||
ComunicWeb.common.page.getAndShowTemplate(targetElement, additionalData, "pages/login/loginPage.tpl", afterParsingTemplate, true);
|
//loginButton.onclick = ComunicWeb.pages.login.loginSubmit;
|
||||||
},
|
loginBody.onsubmit = ComunicWeb.pages.login.loginSubmit;
|
||||||
|
|
||||||
/**
|
//Check if additionnal data were specified
|
||||||
* Perform user login
|
if(additionnalData){
|
||||||
*
|
//Check if we have to display a login failed message
|
||||||
* @return {Boolean} False if it fails
|
if(additionnalData.loginFailedMessage)
|
||||||
*/
|
ComunicWeb.pages.login.displayLoginError();
|
||||||
loginSubmit: function(){
|
}
|
||||||
//Get inputs
|
};
|
||||||
var usermailInput = document.getElementById("usermail"); //Usermail
|
|
||||||
var userpasswordInput = document.getElementById("userpassword"); //Password
|
|
||||||
var rememberLoginInput = document.getElementById("rememberLogin"); //Remember login
|
|
||||||
|
|
||||||
//Check inputs
|
//Apply template
|
||||||
if(!(
|
ComunicWeb.common.page.getAndShowTemplate(targetElement, additionalTemplateData, "pages/login/loginPage.tpl", afterParsingTemplate, true);
|
||||||
ComunicWeb.common.formChecker.checkInput(usermailInput, true) && //Check usermail input
|
},
|
||||||
ComunicWeb.common.formChecker.checkInput(userpasswordInput, true) //Check password input
|
|
||||||
)){
|
|
||||||
//Error notification
|
|
||||||
ComunicWeb.common.notificationSystem.showNotification("Please check what you've typed !", "error");
|
|
||||||
|
|
||||||
//Stop function execution
|
/**
|
||||||
return false;
|
* Perform user login
|
||||||
}
|
*
|
||||||
|
* @return {Boolean} False if it fails
|
||||||
//Enable overlay (use .remove() to remove)
|
*/
|
||||||
var screenOverlay = ComunicWeb.common.page.showTransparentWaitSplashScreen();
|
loginSubmit: function(){
|
||||||
|
//Get inputs
|
||||||
//Retrieve values
|
var usermailInput = byId("usermail"); //Usermail
|
||||||
var usermail = usermailInput.value;
|
var userpasswordInput = byId("userpassword"); //Password
|
||||||
var userpassword = userpasswordInput.value;
|
var rememberLoginInput = document.getElementById("rememberLogin"); //Remember login
|
||||||
var permanentLogin = rememberLoginInput.checked;
|
|
||||||
|
|
||||||
//What to do once user is logged in (or not)
|
//Check inputs
|
||||||
var afterTryLogin = function(loginResult){
|
if(!(
|
||||||
|
ComunicWeb.common.formChecker.checkInput(usermailInput, true) && //Check usermail input
|
||||||
|
ComunicWeb.common.formChecker.checkInput(userpasswordInput, true) //Check password input
|
||||||
|
)){
|
||||||
|
//Error notification
|
||||||
|
ComunicWeb.common.notificationSystem.showNotification("Please check what you've typed !", "error");
|
||||||
|
|
||||||
//First, remove overlay
|
//Stop function execution
|
||||||
screenOverlay.remove();
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Enable overlay (use .remove() to remove)
|
||||||
|
var screenOverlay = ComunicWeb.common.page.showTransparentWaitSplashScreen();
|
||||||
|
|
||||||
|
//Retrieve values
|
||||||
|
var usermail = usermailInput.value;
|
||||||
|
var userpassword = userpasswordInput.value;
|
||||||
|
var permanentLogin = rememberLoginInput.checked;
|
||||||
|
|
||||||
//Check if login failed
|
//What to do once user is logged in (or not)
|
||||||
if(!loginResult){
|
var afterTryLogin = function(loginResult){
|
||||||
//Create error modal
|
|
||||||
errorMessageElem = ComunicWeb.common.messages.createCalloutElem("Login failed", "Please check your usermail and password", "danger");
|
|
||||||
|
|
||||||
//Apply error modal
|
//First, remove overlay
|
||||||
document.getElementById('loginMessagesTarget').innerHTML = "";
|
screenOverlay.remove();
|
||||||
document.getElementById('loginMessagesTarget').appendChild(errorMessageElem);
|
|
||||||
|
|
||||||
//Return false
|
//Save email address
|
||||||
return false;
|
ComunicWeb.components.mailCaching.set(usermail);
|
||||||
}
|
|
||||||
|
|
||||||
//Open home page
|
//Check if login failed
|
||||||
ComunicWeb.common.page.openPage("home");
|
if(!loginResult){
|
||||||
};
|
|
||||||
|
//Display error
|
||||||
|
ComunicWeb.pages.login.displayLoginError();
|
||||||
|
|
||||||
//Try to login user
|
//Return false
|
||||||
ComunicWeb.user.userLogin.loginUser(usermail, userpassword, permanentLogin, afterTryLogin);
|
return false;
|
||||||
},
|
}
|
||||||
|
|
||||||
|
//Open home page
|
||||||
|
ComunicWeb.common.page.openPage("home");
|
||||||
|
};
|
||||||
|
|
||||||
|
//Try to login user
|
||||||
|
ComunicWeb.user.userLogin.loginUser(usermail, userpassword, permanentLogin, afterTryLogin);
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display login error message
|
||||||
|
*
|
||||||
|
* @return {Boolean} True for a success
|
||||||
|
*/
|
||||||
|
displayLoginError: function(){
|
||||||
|
//Create error modal
|
||||||
|
errorMessageElem = ComunicWeb.common.messages.createCalloutElem("Login failed", "Please check your usermail and password", "danger");
|
||||||
|
|
||||||
|
//Apply error modal
|
||||||
|
document.getElementById('loginMessagesTarget').innerHTML = "";
|
||||||
|
document.getElementById('loginMessagesTarget').appendChild(errorMessageElem);
|
||||||
|
|
||||||
|
//Success
|
||||||
|
return true;
|
||||||
|
},
|
||||||
};
|
};
|
Loading…
Reference in New Issue
Block a user