Skip to content
Snippets Groups Projects
Commit 5d81e5cf authored by MaximeOLIVA's avatar MaximeOLIVA
Browse files

signin and signout

parent 4e8fa270
No related branches found
No related tags found
No related merge requests found
No preview for this file type
No preview for this file type
...@@ -49,8 +49,11 @@ def sign_in(): ...@@ -49,8 +49,11 @@ def sign_in():
return "", 401 return "", 401
else : else :
token = generate_token() token = generate_token()
value = {
"token" : token
}
if database_helper.log_in(token, data['email']): if database_helper.log_in(token, data['email']):
return token, 201 return jsonify(value), 201
else: else:
return "", 409 return "", 409
else: else:
......
...@@ -116,29 +116,44 @@ function signUp(formData) { ...@@ -116,29 +116,44 @@ function signUp(formData) {
//---------------------------------------SIGN IN--------------------------------------- //---------------------------------------SIGN IN---------------------------------------
function signIn(formData) { function signIn(formData) {
let username = formData.l_email.value; let user = {
let password = formData.l_password.value; email : formData.l_email.value,
password : formData.l_password.value
}
let messageDiv = document.getElementById("error");
let tokens; if(user.password.length > 5) {
if(password.length > 5) { let req = new XMLHttpRequest();
let serverAnswer = serverstub.signIn(username, password); req.open("POST", "/users/sign_in", true);
let success = serverAnswer.success; req.setRequestHeader("Content-type", "application/json;charset=UTF-8")
let message = serverAnswer.message; req.send(JSON.stringify(user));
let token = serverAnswer.data;
if(success) { req.onreadystatechange = function(){
localStorage.setItem("token", token); if (req.readyState == 4){
localStorage.setItem("email_username", username); if (req.status == 201){
openTab('homePage'); let resp = JSON.parse(req.responseText);
} else { let token = resp.token;
document.getElementById("error").style.display = "block"; localStorage.setItem("token", token);
document.getElementById("error").innerHTML = message; localStorage.setItem("email_username", user.email);
displayProfilView();
openTab('homePage');
} else if(req.status == 409){
messageDiv.style.display = "block";
messageDiv.innerHTML = "User already connected!";
} else if(req.status == 400){
messageDiv.style.display = "block";
messageDiv.innerHTML = "Wrong data format!";
} else if(req.status == 401){
messageDiv.style.display = "block";
messageDiv.innerHTML = "Wrong username or password!";
}
}
} }
} else { } else {
document.getElementById("error").style.display = "block"; messageDiv.style.display = "block";
document.getElementById("error").innerHTML = "Your password is too short."; messageDiv.innerHTML = "Your password is too short.";
} }
} }
...@@ -146,22 +161,35 @@ function signIn(formData) { ...@@ -146,22 +161,35 @@ function signIn(formData) {
//---------------------------------------SIGN OUT--------------------------------------- //---------------------------------------SIGN OUT---------------------------------------
function signOut() { function signOut() {
let serverAnswer = serverstub.signOut(localStorage.getItem("token")); let messageDiv = document.getElementById("error");
let success = serverAnswer.success;
let message = serverAnswer.message;
if(success) { let req = new XMLHttpRequest();
displayWelcomeView(); req.open("POST", "/users/sign_out", true);
localStorage.removeItem("tab"); req.setRequestHeader("Content-type", "application/json;charset=UTF-8")
localStorage.removeItem("token"); req.setRequestHeader("token", localStorage.getItem("token"))
localStorage.removeItem("browsed_email"); req.send(null);
document.getElementById("displayprofil").innerHTML = "";
document.getElementById("displaywelcome").innerHTML = document.getElementById("welcomeview").innerHTML; req.onreadystatechange = function(){
document.body.style.backgroundColor = "#0F98B7"; if (req.readyState == 4){
} else { if (req.status == 200){
document.getElementById("error").style.display = "block"; displayWelcomeView();
document.getElementById("error").innerHTML = message; localStorage.removeItem("tab");
localStorage.removeItem("token");
localStorage.removeItem("browsed_email");
localStorage.removeItem("email_username");
document.getElementById("displayprofil").innerHTML = "";
document.getElementById("displaywelcome").innerHTML = document.getElementById("welcomeview").innerHTML;
document.body.style.backgroundColor = "#0F98B7";
} else if(req.status == 401){
messageDiv.style.display = "block";
messageDiv.innerHTML = "User not connected";
} else if(req.status == 400){
messageDiv.style.display = "block";
messageDiv.innerHTML = "Wrong data format!";
}
}
} }
} }
//---------------------------------------MESSAGE MANAGEMENT--------------------------------------- //---------------------------------------MESSAGE MANAGEMENT---------------------------------------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment