From f96f7159c5f2d14b3a4fdde00842b5eb7cb92840 Mon Sep 17 00:00:00 2001 From: ComeF2 <123363885+ComeF2@users.noreply.github.com> Date: Mon, 13 Feb 2023 14:43:44 +0100 Subject: [PATCH] Modification HTTP request finie --- Twidder (Lab3)/database.db | Bin 28672 -> 36864 bytes Twidder (Lab3)/static/client.js | 125 +++++++++++++++++++------------- 2 files changed, 73 insertions(+), 52 deletions(-) diff --git a/Twidder (Lab3)/database.db b/Twidder (Lab3)/database.db index 66d51ef5753cec13b9a522b7313c94d5590ea80e..8e9c99512952eb7006ed8459068fbfa3beb3d0e1 100644 GIT binary patch delta 1324 zcmZp8z}T>WX@WHCO9lo8&WQ^4j4wAPEazwB-pnB|m5<AmnL}JsR8&$^a`JLHb*{v! z)S{Bg(xQ^e%{Sz97<pLumoo65=HJf0l>gpl0fi=h76t|e;mOnV-5J>@C)$f{{;V%3 zz{A2X!pQH%zl&dlziG38!&yE}1_lOm&D_F@v}BJ!*D`a9O!vG(H`A)L$V?|s3lqm= z7sr&6bf2KK(8+B6wHoZqp_<vQImKB99{%|*=7veGriB3(sfNb>-YHoTf#Fp-9>po? zjwX{=`-k$eGB7YO^1o*Qd58b~WWInJGZtOuZ_KBe7c*Bd2QVuz{bIVrw34ZbDV#}{ ziIwpd<9fyx##lxZMlOa23_BSZ7*xYq88kITC&!1#2o#qUmuZBtGH7c`W|ih-rcQnk zA|aGkl~$FOs1b@P%#oT_m6lqi9x^#9M3J{RsVph2STz`K6n9EmS(RoGh%XB=TBHnQ zc2aSfW+2EMX}Ixx#bpX<Woapz0dTeaWksoFsb#4}YW^TGagcuYl+?78bPd1BYeN+I z%BsLn(-$NSHl9B@r7AhKD!EG42P6je4O?<ba<aNN*nMRwWyL8eYF;2ouz7-&rJ4B! zDxM(62*Mr18JVx=0aBw5vQyGAC%>pzAtzCxDnBn(%^jpx6sA^&N7D@?fbfZMP^xZa zzJj8fD@Yu!P(mOwUqMmR1tf@2%vX_ImXwv9W9kgD&J<*wbVz<_i9&IzLP272ajHU6 zW@?^-y`~dL9_&XBuT+JC{Nj?-%@HBfxj_-n5x)6L{C|FtC{XmnFfRiGLpa0E$?O5m zqe%gpu!nO}Si{Z5%wNO6e~N!0f6ZpWggkzB<tR|15uDr*E5jR^uO12FN#-UNB~P}G dmlVt|P0laXhybNWq+Fg{m|U2W3`;~H8USM2c!vN0 delta 266 zcmZozz|`=7ae_4KJO%~^_K6DijPo`oEazur-^?K}m5<AknL}JsR8&$^aq@CGb*{X! zg2dwD^8BKd%{Sz97<pLvCo%A!=HJdgiGS&40fi=h79nO$#>vz4-5FUXC)$f{{;V%3 zz{ARSmyzF#zlnbrzsP0*hqHW|rtHk2n#PHSxxOJr9*Ir{W?uef9;s##C5dU~na*LQ zUO9%IKHkMa8I#%kYc*JyLp3d<DqJf(N-81?TvBt5f(*S<T_ZCsEi*FAy#35eJuK5I zO{ylZ_79!pz{2Io62ZW~oxhmhWHMhs&Bn%a%<SrptPGl(l9L|>%51JK>EzzblJK6N J*O37U002-!N{|2m diff --git a/Twidder (Lab3)/static/client.js b/Twidder (Lab3)/static/client.js index ca131a4..25cee84 100644 --- a/Twidder (Lab3)/static/client.js +++ b/Twidder (Lab3)/static/client.js @@ -45,25 +45,45 @@ function checkPasswords(formData){ } function changePassword(formData) { - let oldPassword = formData.oldPassword.value; - let newPassword = formData.newPassword.value; - let newPassword2 = formData.newPassword2.value; + let old_Password = formData.oldPassword.value; + let new_Password = formData.newPassword.value; + let new_Password2 = formData.newPassword2.value; - if(newPassword.length < 6) { + if(new_Password.length < 6) { document.getElementById("pwderror").style.display = "block"; document.getElementById("pwderror").innerHTML = "Your new password must be 6 characters at least."; - } else if (newPassword != newPassword2) { + } else if (new_Password != new_Password2) { document.getElementById("pwderror").style.display = "block"; document.getElementById("pwderror").innerHTML = "Your didn't enter the same passwords."; } else { - let serverAnswer = serverstub.changePassword(localStorage.getItem("token"), oldPassword, newPassword); - let success = serverAnswer.success; - let message = serverAnswer.message; - let form = document.getElementById("changePassword"); + let value = { + oldPassword : old_Password, + newPassword : new_Password + } + let req = new XMLHttpRequest(); + req.open("PUT", "/account/change_password", true); + req.setRequestHeader("Content-type", "application/json;charset=UTF-8"); + req.setRequestHeader("token", localStorage.getItem("token")); + req.send(JSON.stringify(value)); document.getElementById("pwderror").style.display = "block"; - document.getElementById("pwderror").innerHTML = message; - if(success) { - form.reset(); + req.onreadystatechange = function() { + if (req.readyState == 4){ + if (req.status == 204){ + document.getElementById("pwderror").innerHTML = "Password changed" + let form = document.getElementById("changePassword"); + form.reset(); + } else if (req.status == 404){ + document.getElementById("pwderror").innerHTML = "Not found" + } else if (req.status == 403){ + document.getElementById("pwderror").innerHTML = "Old password wrong" + } else if (req.status == 401){ + document.getElementById("pwderror").innerHTML = "You are not online" + } else if (req.status == 405){ + document.getElementById("pwderror").innerHTML = "Password too short. Must be 6 characters at leats." + } else if (req.status == 400){ + document.getElementById("pwderror").innerHTML = "Missing information" + } + } } } } @@ -215,13 +235,17 @@ function message_management(tab){ let token = localStorage.getItem("token"); let req = new XMLHttpRequest(); - console.log("Message posté ?"); req.open("POST", "/account/post_message", true); req.setRequestHeader("Content-type", "application/json;charset=UTF-8"); req.setRequestHeader("token", token); req.send(JSON.stringify(value)); - - display_wall(email, tab); + req.onreadystatechange = function(){ + if (req.readyState == 4){ + if (req.status == 201){ + display_wall(email, tab); + } + } + } } textaera.value = ""; @@ -245,7 +269,11 @@ function openTab(tabName) { localStorage.setItem("tab", tabName); if(tabName != "browsePage") { - if(!(serverstub.getUserMessagesByEmail(localStorage.getItem("token"), localStorage.getItem("browsed_email")).success)) { + var xhttp = new XMLHttpRequest(); + xhttp.open("GET", "/account/get/message/" + localStorage.getItem("browsed_email"), true); + xhttp.setRequestHeader("token", localStorage.getItem("token")); + xhttp.send(); + if (xhttp.readyState == 4 && xhttp.status != 204){ localStorage.removeItem("browsed_email"); } } @@ -277,67 +305,61 @@ function openTab(tabName) { function display_wall_info(email, tab) { //check if we already have the data stored of if we have to call the server - let data_user = get_user_info(email, tab); - console.log("data_user of display_wall_info = ", data_user); - if(data_user.success) { - if(tab == "BP") { + let data_user; + get_user_info(email, tab, function(data){ + data_user = data; + if(data_user.success) { + if(tab == "BP") { + browsecontent = document.getElementsByClassName("browsecontent"); + for (i = 0; i < browsecontent.length; i++) { + document.getElementById("browse_error").style.display = "none"; + browsecontent[i].style.display = "block"; + } + } + fills_data(tab, data_user); + display_wall(email, tab); + } else { browsecontent = document.getElementsByClassName("browsecontent"); for (i = 0; i < browsecontent.length; i++) { - document.getElementById("browse_error").style.display = "none"; - browsecontent[i].style.display = "block"; + browsecontent[i].style.display = "none"; } + if (localStorage.getItem("browsed_email") != null){ + document.getElementById("browse_error").style.display = "block"; + document.getElementById("browse_error").innerHTML = data_user.message; + } + } - fills_data(tab, data_user); - display_wall(email, tab); - } else { - browsecontent = document.getElementsByClassName("browsecontent"); - for (i = 0; i < browsecontent.length; i++) { - browsecontent[i].style.display = "none"; - } - document.getElementById("browse_error").style.display = "block"; - document.getElementById("browse_error").innerHTML = data_user.message; - } + }); } -function get_user_info(email, tab) { +function get_user_info(email, tab, callback) { //call the server if data aren't already stored - console.log("================================================="); - console.log("browsed_email = ", localStorage.getItem("browsed_email")); if((tab == "BP") && (localStorage.getItem("browsed_email") != email || data_user_browse == null)) { - console.log("Je rentre dans la boucle"); - //data_user_browse = serverstub.getUserDataByEmail(localStorage.getItem("token"), email); let req = new XMLHttpRequest(); - console.log(1); req.open("GET", "/account/get/data/" + email, true); - console.log(2); req.setRequestHeader("token", localStorage.getItem("token")); - console.log(3); - console.log(4); req.onreadystatechange = function(){ - console.log(5); if(req.readyState == 4){ - console.log(6); if(req.status == 200){ data_user_browse = { data : JSON.parse(req.responseText), success : true }; - + callback(data_user_browse); }else if(req.status == 404){ - console.log("Le req status est de 404"); data_user_browse = { message : "This user doesn't exist", success : false }; - } - else if(req.status == 401){ + callback(data_user_browse); + }else if(req.status == 401){ data_user_browse = { message : "Problem with the server", success : false }; + callback(data_user_browse); } - console.log("first data_user_browse = ", data_user_browse); } }; req.send(); @@ -353,10 +375,12 @@ function get_user_info(email, tab) { data : JSON.parse(req.responseText), success : true }; + callback(data_user_home); }else if(req.status == 404 || req.status == 401){ data_user_home = { success : false }; + callback(data_user_home); } } } @@ -366,21 +390,18 @@ function get_user_info(email, tab) { switch(tab) { case "HP" : data_user = data_user_home; - console.log("data_user_home = ", data_user_home); break; default : data_user = data_user_browse; - console.log("data_user_browse lolololol = ", data_user_browse); break; } - return data_user; + callback(data_user); } function display_wall(email, tab) { let messages = []; var xhttp = new XMLHttpRequest(); - console.log("Je suis dans display_wall"); xhttp.open("GET", "/account/get/message/" + email, true); xhttp.setRequestHeader("token", localStorage.getItem("token")); xhttp.onreadystatechange = function() { -- GitLab