mirror of
https://github.com/pierre42100/ComunicWeb
synced 2025-02-16 19:02:40 +00:00
Login form on homepage working
This commit is contained in:
parent
5c5a65cdff
commit
7dd286d6d6
@ -5,63 +5,88 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
ComunicWeb.components.menuBar.notAuthenticated = {
|
ComunicWeb.components.menuBar.notAuthenticated = {
|
||||||
/**
|
/**
|
||||||
* Add not-authenticated user specific elements
|
* Add not-authenticated user specific elements
|
||||||
*
|
*
|
||||||
* @param {HTMLElement} container The container element of the Menubar
|
* @param {HTMLElement} container The container element of the Menubar
|
||||||
*/
|
*/
|
||||||
addElements: function(container){
|
addElements: function(container){
|
||||||
|
|
||||||
//Create an auto-collapsed element
|
//Create an auto-collapsed element
|
||||||
var navbarCollapse = createElem("div", container);
|
var navbarCollapse = createElem("div", container);
|
||||||
navbarCollapse.id = "navbar-collapse";
|
navbarCollapse.id = "navbar-collapse";
|
||||||
navbarCollapse.className = "navbar-collapse pull-right collapse";
|
navbarCollapse.className = "navbar-collapse pull-right collapse";
|
||||||
|
|
||||||
//Create login form
|
//Create login form
|
||||||
var loginForm = createElem("form", navbarCollapse);
|
var loginForm = createElem("form", navbarCollapse);
|
||||||
loginForm.className = "navbar-form navbar-left menubar-loginForm";
|
loginForm.className = "navbar-form navbar-left menubar-loginForm";
|
||||||
loginForm.setAttribute("role", "login");
|
loginForm.setAttribute("role", "login");
|
||||||
|
|
||||||
loginForm.onsubmit = function(){
|
//Add email address formGroup
|
||||||
//Try to login user; in case of failure redirect to login page
|
var emailFormGroup = createElem("div", loginForm);
|
||||||
//TODO : implement
|
emailFormGroup.className = "form-group";
|
||||||
//In case of error
|
|
||||||
ComunicWeb.common.page.openPage("login", {
|
|
||||||
loginFailedMessage: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
return false;
|
//Add email input
|
||||||
}
|
var emailInput = createElem("input", emailFormGroup);
|
||||||
|
emailInput.className = "form-control";
|
||||||
|
emailInput.placeholder = "Email address";
|
||||||
|
emailInput.type = "email";
|
||||||
|
emailInput.value = ComunicWeb.components.mailCaching.get();
|
||||||
|
|
||||||
//Add email address formGroup
|
//Add password formGroup
|
||||||
var emailFormGroup = createElem("div", loginForm);
|
var passwordFormGroup = createElem("div", loginForm);
|
||||||
emailFormGroup.className = "form-group";
|
passwordFormGroup.className = "form-group";
|
||||||
|
|
||||||
//Add email input
|
//Add password input
|
||||||
var emailInput = createElem("input", emailFormGroup);
|
var passwordInput = createElem("input", passwordFormGroup);
|
||||||
emailInput.className = "form-control";
|
passwordInput.className = "form-control";
|
||||||
emailInput.placeholder = "Email address";
|
passwordInput.placeholder = "Password";
|
||||||
emailInput.type = "email";
|
passwordInput.type = "password";
|
||||||
emailInput.value = ComunicWeb.components.mailCaching.get();
|
|
||||||
|
|
||||||
//Add password formGroup
|
//Add submit button formGroup
|
||||||
var passwordFormGroup = createElem("div", loginForm);
|
var submitFromGroup = createElem("div", loginForm);
|
||||||
passwordFormGroup.className = "form-group";
|
submitFromGroup.className = "form-group";
|
||||||
|
|
||||||
//Add password input
|
//Add submit input
|
||||||
var passwordInput = createElem("input", passwordFormGroup);
|
var submitInput = createElem("input", submitFromGroup);
|
||||||
passwordInput.className = "form-control";
|
submitInput.className = "form-control";
|
||||||
passwordInput.placeholder = "Password";
|
submitInput.value = "Login";
|
||||||
passwordInput.type = "password";
|
submitInput.type = "submit";
|
||||||
|
|
||||||
//Add submit button formGroup
|
//Add submit form behaviour
|
||||||
var submitFromGroup = createElem("div", loginForm);
|
loginForm.onsubmit = function(){
|
||||||
submitFromGroup.className = "form-group";
|
//Enable screen overlay (use .remove() to remove)
|
||||||
|
var screenOverlay = ComunicWeb.common.page.showTransparentWaitSplashScreen();
|
||||||
|
|
||||||
//Add submit input
|
//Try to login user; in case of failure redirect to login page
|
||||||
var submitInput = createElem("input", submitFromGroup);
|
//What to do once user is logged in (or not)
|
||||||
submitInput.className = "form-control";
|
var afterTryLogin = function(loginResult){
|
||||||
submitInput.value = "Login";
|
|
||||||
submitInput.type = "submit";
|
//First, remove overlay
|
||||||
}
|
screenOverlay.remove();
|
||||||
|
|
||||||
|
//Check if login failed
|
||||||
|
if(!loginResult){
|
||||||
|
|
||||||
|
//Redirect to login page
|
||||||
|
ComunicWeb.common.page.openPage("login", {
|
||||||
|
loginFailedMessage: true,
|
||||||
|
emailInput: emailInput.value,
|
||||||
|
});
|
||||||
|
|
||||||
|
//Return false
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Open home page
|
||||||
|
ComunicWeb.common.page.openPage("home");
|
||||||
|
};
|
||||||
|
|
||||||
|
//Try to login user
|
||||||
|
ComunicWeb.user.userLogin.loginUser(emailInput.value, passwordInput.value, false, afterTryLogin);
|
||||||
|
|
||||||
|
//Block form
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -13,6 +13,11 @@ ComunicWeb.pages.login = {
|
|||||||
* @returns {Boolean} False if it fails
|
* @returns {Boolean} False if it fails
|
||||||
*/
|
*/
|
||||||
openLoginPage: function(additionnalData, targetElement){
|
openLoginPage: function(additionnalData, targetElement){
|
||||||
|
|
||||||
|
//Prevent errors
|
||||||
|
if(!additionnalData)
|
||||||
|
additionnalData = {};
|
||||||
|
|
||||||
//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
|
||||||
@ -55,12 +60,15 @@ ComunicWeb.pages.login = {
|
|||||||
//loginButton.onclick = ComunicWeb.pages.login.loginSubmit;
|
//loginButton.onclick = ComunicWeb.pages.login.loginSubmit;
|
||||||
loginBody.onsubmit = ComunicWeb.pages.login.loginSubmit;
|
loginBody.onsubmit = ComunicWeb.pages.login.loginSubmit;
|
||||||
|
|
||||||
//Check if additionnal data were specified
|
|
||||||
if(additionnalData){
|
//Check now additional parametres changes
|
||||||
//Check if we have to display a login failed message
|
//Check if a specific email address was specified
|
||||||
if(additionnalData.loginFailedMessage)
|
if(additionnalData.emailInput)
|
||||||
ComunicWeb.pages.login.displayLoginError();
|
byId("usermail").value = additionnalData.emailInput;
|
||||||
}
|
|
||||||
|
//Check if we have to display a login failed message
|
||||||
|
if(additionnalData.loginFailedMessage)
|
||||||
|
ComunicWeb.pages.login.displayLoginError();
|
||||||
};
|
};
|
||||||
|
|
||||||
//Apply template
|
//Apply template
|
||||||
@ -104,9 +112,6 @@ ComunicWeb.pages.login = {
|
|||||||
//First, remove overlay
|
//First, remove overlay
|
||||||
screenOverlay.remove();
|
screenOverlay.remove();
|
||||||
|
|
||||||
//Save email address
|
|
||||||
ComunicWeb.components.mailCaching.set(usermail);
|
|
||||||
|
|
||||||
//Check if login failed
|
//Check if login failed
|
||||||
if(!loginResult){
|
if(!loginResult){
|
||||||
|
|
||||||
@ -117,8 +122,8 @@ ComunicWeb.pages.login = {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Open home page
|
//Open home page
|
||||||
ComunicWeb.common.page.openPage("home");
|
ComunicWeb.common.page.openPage("home");
|
||||||
};
|
};
|
||||||
|
|
||||||
//Try to login user
|
//Try to login user
|
||||||
|
@ -161,6 +161,9 @@ ComunicWeb.user.userLogin = {
|
|||||||
storageType = "session";
|
storageType = "session";
|
||||||
}
|
}
|
||||||
ComunicWeb.user.loginTokens.setUserTokens(result.tokens, storageType);
|
ComunicWeb.user.loginTokens.setUserTokens(result.tokens, storageType);
|
||||||
|
|
||||||
|
//Save email address
|
||||||
|
ComunicWeb.components.mailCaching.set(usermail);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Perform next action if login failed
|
//Perform next action if login failed
|
||||||
|
Loading…
x
Reference in New Issue
Block a user