From 5adc7c9d654e1aade0ac8a1f225fded67a86ead8 Mon Sep 17 00:00:00 2001
From: Marc Vachon <vachon.marc@outlook.com>
Date: Mon, 1 Jul 2019 16:24:15 +0200
Subject: [PATCH] MEeting bug fixed

---
 webapp/class/db/db_request.js | 26 +++++++++++++++++++++-----
 webapp/class/meetus.js        | 28 +++++++++++++++++++++-------
 webapp/class/user/user.js     |  2 +-
 webapp/views/js/meeting.js    |  5 ++---
 4 files changed, 45 insertions(+), 16 deletions(-)

diff --git a/webapp/class/db/db_request.js b/webapp/class/db/db_request.js
index b284afc..e92c8a1 100644
--- a/webapp/class/db/db_request.js
+++ b/webapp/class/db/db_request.js
@@ -3,10 +3,10 @@ var db = require('./connect_db')
 
 module.exports = {
   // MEETING
-  get_meeting: (id_meeting, callback) => {
+  get_meeting: (idMeeting, callback) => {
     let query = "SELECT * FROM t_meeting WHERE idMeeting = ?";
 
-    db.query(query, id_meeting, (error, results, fields) => {
+    db.query(query, idMeeting, (error, results, fields) => {
       var json
         if (error){
           json = ''
@@ -18,6 +18,16 @@ module.exports = {
     })
   },
 
+  reset_meeting: (idMeeting, callback) => {
+    let query = "UPDATE t_meeting SET data = JSON_SET(data, '$.percentage', 0, '$.location', '', '$.date', CAST('{}' AS JSON)) WHERE idMeeting = ?"
+
+    db.query(query, idMeeting, (error, results, fields) => {
+        if (error) throw error;
+
+        callback()
+    })
+  },
+
   get_calendar: (idMeeting, callback) => {
     get_users(idMeeting, function(users){
       var calendar = []
@@ -75,11 +85,17 @@ module.exports = {
 
     db.query(query, [data, idMeeting], (error, results, fields) => {
         if (error) throw error;
-        console.log("update done");
         callback(results)
     })
   },
 
+  count_users: (idMeeting, callback) => {
+    get_users(idMeeting, function(users){
+
+      callback(users.length)
+    })
+  },
+
   create_meeting: (id, data, callback) => {
     let query = "INSERT INTO t_meeting (idMeeting, data) VALUES (?, ?);"
 
@@ -156,10 +172,10 @@ module.exports = {
 
 }
 
-function get_users(id_meeting, callback){
+function get_users(idMeeting, callback){
   let query = "SELECT data->'$.user_table' as user_table FROM t_meeting WHERE idMeeting = ?";
 
-  db.query(query, id_meeting, (error, results, fields) => {
+  db.query(query, idMeeting, (error, results, fields) => {
       if (error) throw error;
 
       var json = JSON.parse(results[0]['user_table'])
diff --git a/webapp/class/meetus.js b/webapp/class/meetus.js
index 48aa6ad..355ef45 100644
--- a/webapp/class/meetus.js
+++ b/webapp/class/meetus.js
@@ -38,19 +38,33 @@ module.exports = {
       })
     })
   },
-  
+
   remove_user: (idMeeting, idUser, callback) => {
-    db.remove_user(idMeeting, idUser, function(result){
+    db.remove_user(idMeeting, idUser, function(){
 
-      appointement.choose_appointment(idMeeting, function(r){
+      db.count_users(idMeeting, function(nb_user){
 
-        journey.update_center(idMeeting, function(res){
+        // if there are still users
+        if(nb_user > 0){
+          appointement.choose_appointment(idMeeting, function(){
 
-          journey.update_journeys(idMeeting, function(c){
-            callback(res)
+            journey.update_center(idMeeting, function(){
+
+              journey.update_journeys(idMeeting, function(){
+                callback()
+
+              })
+            })
           })
-        })
+
+        }else {
+          db.reset_meeting(idMeeting, function(){
+
+            callback()
+          })
+        }
       })
+
     })
   },
 
diff --git a/webapp/class/user/user.js b/webapp/class/user/user.js
index b788df1..b2f8aea 100644
--- a/webapp/class/user/user.js
+++ b/webapp/class/user/user.js
@@ -28,7 +28,7 @@ module.exports = {
   send_mail: (idMeeting, percentage, callback) => {
     var email_list = http.get_email(idMeeting)
 
-    
+
 
 
   }
diff --git a/webapp/views/js/meeting.js b/webapp/views/js/meeting.js
index a2f848b..c9a46fa 100644
--- a/webapp/views/js/meeting.js
+++ b/webapp/views/js/meeting.js
@@ -65,13 +65,12 @@ socket.on('get_meeting', function(data){
   <dl class="row">
   <dt class="col-sm-3">Date</dt>
   <dd class="col-sm-9">
-  ${data.date ? `Le ${data.date.day}/${data.date.month}/${data.date.year}
-  à ${data.date.time.hour}:${data.date.time.minutes}` : ''}
+  ${data.date.time  ? `Le ${data.date.day}/${data.date.month}/${data.date.year} à ${data.date.time.hour}:${data.date.time.minutes}` : ''}
   </dd>
 
   <dt class="col-sm-3">Works for</dt>
   <dd class="col-sm-9">
-  ${data.percentage}%
+  ${data.percentage ? `${data.percentage}%` : ''}
   </dd>
 
   <dt class="col-sm-3">Lieux</dt>
-- 
GitLab