From b42614b99c6574aabdb28b722feb0d49ee3f666c Mon Sep 17 00:00:00 2001
From: ComeF2 <123363885+ComeF2@users.noreply.github.com>
Date: Sat, 11 Feb 2023 21:27:54 +0100
Subject: [PATCH] =?UTF-8?q?fix=20displya=5Fwall,=20modification=20get=5Fus?=
 =?UTF-8?q?er=5Finfo=20(mais=20probl=C3=A8me=20pour=20browse=5Fpage)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Lab1/client.js                                |   2 +-
 .../database_helper.cpython-311.pyc           | Bin 7295 -> 7305 bytes
 Twidder (Lab3)/database.db                    | Bin 28672 -> 28672 bytes
 Twidder (Lab3)/static/client.js               | 105 ++++++++++++++----
 4 files changed, 82 insertions(+), 25 deletions(-)

diff --git a/Lab1/client.js b/Lab1/client.js
index c0bdf3f..d90e6e1 100644
--- a/Lab1/client.js
+++ b/Lab1/client.js
@@ -224,7 +224,7 @@ 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 = ", data_user);
   if(data_user.success) {
     if(tab == "BP") {
       browsecontent = document.getElementsByClassName("browsecontent");
diff --git a/Twidder (Lab3)/__pycache__/database_helper.cpython-311.pyc b/Twidder (Lab3)/__pycache__/database_helper.cpython-311.pyc
index dddbe5f4afb60b0186d46c43b292a748fa0d453d..505d350e4fed320622fb4efa09443d05c0f7c036 100644
GIT binary patch
delta 46
zcmexw(P_!OoR^o2fq{Wx#?|K=xu-HRwoP8hn93JYo|%%8TBM-ilbB?zxtWWpR0;rJ
CK@NEU

delta 36
scmeCQ{BOa%oR^o2fq{WRyx{Rh?x~E7HIo-Irn2}XCK+uOVJejZ0KfJMKmY&$

diff --git a/Twidder (Lab3)/database.db b/Twidder (Lab3)/database.db
index 40ffc3132bd58bd4a9d4dc18e33c68c34ecfab1d..66d51ef5753cec13b9a522b7313c94d5590ea80e 100644
GIT binary patch
delta 593
zcmZp8z}WDBae_4CyooZ-tn(Q3qD?lYEZ~>m;yudF@5|rLH<#}Q|6zVfzAQcq-k-cj
zH!BLP<TWwk;t&-T6_wPK^i3>E4#-K&%T3Hl^{LFyb1O>BOHR#AEJ}7r&rQtC(M!(H
zO{_{SDyiK3Q<j^FkClHC1OI9M?fjGYm-64+ESONqFU5b4L98UTScqAZ5mh7m<fZ!Y
zd|doW4E)FV@9}TupU<zfS-?PmUl>y@*JM-s^L(s)cNzJ;_?!55@r&@?-K?l^gwKwD
zCxexKVUj63bEu|qqG7IYh>=I4lYyC+f0;+BSwu-<nt7&kSgBWzp{I{`aZm=T8zzhR
ze_(cGiI~hDP|m~Z!19mfD$8n?MwW<;jpvx_)g4(GG&LnrwV?7+lT)jbt27)y3Z+q{
zP<c7|Ihi^6IU4o^Ri-2tCnuLBtJ{GM#cO*=YH^8zv4bthOm9^CK)lI!qGilL425F#
n)V#9%%v4nykWx{Q7$OEyc_1^DttSgcD{t-zO_$<zWIzG{0GquJ

delta 264
zcmZp8z}WDBae_4Cw23m#tkW3u!o4=8EZ`U8<o(Ic@5|rLH<#}Q|6zVfzAQcq-k+Nl
z74GwH{wd4N#K*$Fl!5;=|91YR{P*~~Hwz|I@=NjGV-PDzEiTDTtZ+!rP0Y;EOU}<_
zV_;xln7mX!UW}99l!5;k|2_WA{PX#H`MvlP`AzxDH!CVg^G`OlKhMX)FT%+0#oxrg
zi(iEA+Ga(CBYbxJI~lC>3zPhk11r5MLL*HKGgB+eLvqWVD$Pv%5-m&v3Jv{CTnmj{
qG3*6fE8_ow*_t(dGJ8Pz#>ST{Ov=`i1*4TW_k^ZP@mhmaz%T$Qbxpkh

diff --git a/Twidder (Lab3)/static/client.js b/Twidder (Lab3)/static/client.js
index 8bb4071..ca131a4 100644
--- a/Twidder (Lab3)/static/client.js	
+++ b/Twidder (Lab3)/static/client.js	
@@ -215,6 +215,7 @@ 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);
@@ -277,7 +278,7 @@ 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") {
       browsecontent = document.getElementsByClassName("browsecontent");
@@ -298,24 +299,80 @@ function display_wall_info(email, tab) {
   }
 }
 
+
 function get_user_info(email, tab) {
   //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)) {
-    data_user_browse = serverstub.getUserDataByEmail(localStorage.getItem("token"), email);
+    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
+          };
+
+        }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){
+          data_user_browse = {
+            message : "Problem with the server",
+            success : false
+          };
+        }
+        console.log("first data_user_browse = ", data_user_browse);
+      }
+    };
+    req.send();
   } else if ((tab == "HP") && (data_user_home == null)) {
-    data_user_home = serverstub.getUserDataByEmail(localStorage.getItem("token"), email);
+    let req = new XMLHttpRequest();
+    req.open("GET", "/account/get/data/" + email, true);
+    req.setRequestHeader("token", localStorage.getItem("token"));
+    req.send();
+    req.onreadystatechange = function(){
+      if(req.readyState == 4){
+        if(req.status == 200){
+          data_user_home = {
+            data : JSON.parse(req.responseText),
+            success : true
+          };
+        }else if(req.status == 404 || req.status == 401){
+          data_user_home = {
+            success : false
+          };
+        }
+      }
+    }
   }
 
   let data_user;
   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;
 }
 
@@ -323,35 +380,35 @@ 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() {
       if (this.readyState == 4 && this.status == 200) {
          let resp = JSON.parse(xhttp.responseText);
          for(c in resp) {
-           messages.push(resp[c].writer);
+            messages.unshift(resp[c]);
          }
+         for(let i = 0; i < messages.length; i++) {
+          if(i==0) {
+            document.getElementById(tab + "_wall").innerHTML = "";
+            document.getElementById(tab + "_wall").style = "";
+          }
+          document.getElementById(tab + "_wall").innerHTML += "<div id=" + tab + i + ">";
+          document.getElementById(tab + i).innerHTML += "<div id='writer" + tab + i + "'>" + messages[i].writer + "</div>";
+          document.getElementById(tab + i).innerHTML += messages[i].message;
+          document.getElementById(tab + "_wall").innerHTML +=   "</div>";
+          document.getElementById(tab + i).style.backgroundColor = "white";
+          document.getElementById(tab + i).style.width = "460px";
+          document.getElementById(tab + i).style.border = "solid black 1px";
+          document.getElementById(tab + i).style.marginBottom = "2px";
+          document.getElementById("writer" + tab + i).style.color = "grey";
+        }
       }
-  };
-  xhttp.open("GET", "/account/get/message/" + email, true);
-  xhttp.setRequestHeader("token", localStorage.getItem("token"));
+  }
   xhttp.send();
 
-  console.log(messages);
 
-  for(let i = 0; i < messages.length; i++) {
-    if(i==0) {
-      document.getElementById(tab + "_wall").innerHTML = "";
-      document.getElementById(tab + "_wall").style = "";
-    }
-    document.getElementById(tab + "_wall").innerHTML += "<div id=" + tab + i + ">";
-    document.getElementById(tab + i).innerHTML += "<div id='writer" + tab + i + "'>" + messages[i][1] + "</div>";
-    document.getElementById(tab + i).innerHTML += messages[i][0];
-    document.getElementById(tab + "_wall").innerHTML +=   "</div>";
-    document.getElementById(tab + i).style.backgroundColor = "white";
-    document.getElementById(tab + i).style.width = "460px";
-    document.getElementById(tab + i).style.border = "solid black 1px";
-    document.getElementById(tab + i).style.marginBottom = "2px";
-    document.getElementById("writer" + tab + i).style.color = "grey";
-  }
 
 }
 
-- 
GitLab