From ef68a32b4691e17db8dd6ec297f52fa109d369de Mon Sep 17 00:00:00 2001 From: Cholet <cholet@yopmail.com> Date: Thu, 23 May 2019 09:23:34 +0200 Subject: [PATCH] Load Meeting from db --- webapp/class/json/example.json | 55 ++++++++++- webapp/package.json | 1 + webapp/ressources/db/connect_db.js | 4 +- webapp/ressources/db/db_request.js | 32 ++++--- webapp/ressources/router.js | 6 +- webapp/views/js/script.js | 4 + webapp/views/meeting.ejs | 149 +++++++++-------------------- 7 files changed, 128 insertions(+), 123 deletions(-) diff --git a/webapp/class/json/example.json b/webapp/class/json/example.json index 6699a85..62b0a40 100644 --- a/webapp/class/json/example.json +++ b/webapp/class/json/example.json @@ -16,7 +16,7 @@ { "id": 0, "name": "Marc Vachon", - "location": "16, chemin de Vers", + "address": "Genève", "calendar": [{ "day": 27, "month": 5, @@ -31,7 +31,7 @@ } }, { - "day": 27, + "day": 28, "month": 5, "year": 2019, "from": { @@ -62,6 +62,57 @@ } }] } + }, + + { + "id": 1, + "name": "Cholet Cholet", + "address": "Berne", + "calendar": [{ + "day": 27, + "month": 5, + "year": 2019, + "from": { + "hour": 14, + "minutes": 30 + }, + "to": { + "hour": 22, + "minutes": 15 + } + }, + { + "day": 29, + "month": 5, + "year": 2019, + "from": { + "hour": 9, + "minutes": 0 + }, + "to": { + "hour": 18, + "minutes": 0 + } + } + ], + "path": { + "time": { + "hour": 2, + "minutes": 36 + }, + "steps": [{ + "from": { + "station": "", + "hour": 0, + "minutes": 0 + }, + "to": { + "station": "", + "hour": 0, + "minutes": 0 + } + }] + } } diff --git a/webapp/package.json b/webapp/package.json index e0db936..152f95a 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -12,6 +12,7 @@ "dependencies": { "ejs": "^2.6.1", "express": "^4.16.4", + "mysql": "^2.17.1", "sass": "^1.20.1" } } diff --git a/webapp/ressources/db/connect_db.js b/webapp/ressources/db/connect_db.js index 065c898..7dc849a 100644 --- a/webapp/ressources/db/connect_db.js +++ b/webapp/ressources/db/connect_db.js @@ -5,7 +5,7 @@ var mysql = require('mysql'); var db = mysql.createConnection({ host : 'localhost', user : 'meet', - port : '8888', + port : '8889', password : 'Super', database : 'meetus', }); @@ -13,7 +13,7 @@ var db = mysql.createConnection({ db.connect(function(err) { if (err) throw err - console.log('-> db.js loaded'); + console.log('DB: db.js loaded'); }); module.exports = db; diff --git a/webapp/ressources/db/db_request.js b/webapp/ressources/db/db_request.js index fce5fce..02788e9 100644 --- a/webapp/ressources/db/db_request.js +++ b/webapp/ressources/db/db_request.js @@ -3,37 +3,39 @@ var db = require('./connect_db'); module.exports = { // MEETING - get_meeting: (id, callback) => { - let query = "SELECT COUNT(*) as nb_demand FROM sessions as se NATURAL JOIN state_session as st WHERE se.id_tutor = ? AND st.id_state_session = 2"; + get_meeting: (id_meeting, callback) => { + let query = "SELECT * FROM t_meeting WHERE idMeeting = ?"; - db.query(query, [id_user], (error, results, fields) => { + db.query(query, id_meeting, (error, results, fields) => { if (error) throw error; - callback(results) + var json = JSON.parse(results[0]['data']) + + callback(json) }) } - function create_meeting(){ +} - } +function create_meeting(){ - // USER - function get_user(){ +} - } +// USER +function get_user(){ - function add_user(name, location, calendar){ +} +function add_user(name, location, calendar){ - } - function modify_user(idMeeting, idUser){ +} - } +function modify_user(idMeeting, idUser){ - function delete_user(idMeeting, idUser){ +} - } +function delete_user(idMeeting, idUser){ } diff --git a/webapp/ressources/router.js b/webapp/ressources/router.js index c12f602..3997460 100644 --- a/webapp/ressources/router.js +++ b/webapp/ressources/router.js @@ -8,8 +8,10 @@ module.exports = function (app) { }); app.get('/meeting', function (req, res) { - db_request.get_meeting(, function(){ - res.render("meeting.ejs"); + var id = 0; + + db_request.get_meeting(id, function(meeting_data){ + res.render("meeting.ejs", {data: meeting_data}); }) }); diff --git a/webapp/views/js/script.js b/webapp/views/js/script.js index e69de29..65699e4 100644 --- a/webapp/views/js/script.js +++ b/webapp/views/js/script.js @@ -0,0 +1,4 @@ +function calc_meeting(idMeeting){ + + +} diff --git a/webapp/views/meeting.ejs b/webapp/views/meeting.ejs index 4d75bf0..81023f0 100644 --- a/webapp/views/meeting.ejs +++ b/webapp/views/meeting.ejs @@ -12,7 +12,8 @@ <div class="w-100 d-flex mt-4 mb-3"> <div class="d-flex justify-content-end"> - <button type="button" name="add user" class="btn btn-primary">Ajouter un membre</button> + <button type="button" name="add user" class="btn btn-primary mr-2">Ajouter un membre</button> + <button type="button" name="button" class="btn btn-success mx-2">Calculer</button> </div> </div> @@ -27,117 +28,61 @@ <div class="col-sm-6"> <h2>Résultat</h2> <dl class="row"> - <dt class="col-sm-3">Périodes</dt> - <dd class="col-sm-9">Du 12/05/219 au 24/07/19</dd> + <dt class="col-sm-3">Date</dt> + <dd class="col-sm-9"> + Le <%= data['date']['day'] %>/<%= data['date']['month'] %>/<%= data['date']['year'] %> + à <%= data['date']['time']['hour'] %>:<%= data['date']['time']['minutes'] %> + </dd> </dl> </div> </div> <div class="row"> - <div class="col-md-6 col-lg-4 col-xl-3 mb-3 mb-3"> - <div class="card"> - <div class="card-body px-1 py-2"> - <h5>Marc Vachon</h5> - <h5>Habite</h5> - <p>16, chemin de Vers, 1228 Plan-Les-Ouates</p> - <h5>Calendrier</h5> - <table class="table"> - <tr> - <td>14/05/2019</td> - <td>14:00 à 19:00</td> - </tr> - <tr> - <td>15/05/2019</td> - <td>10:00 à 19:00</td> - </tr> - <tr> - <td>17/05/2019</td> - <td>17:00 à 24:00</td> - </tr> - </table> - </div> - </div> - </div> + <% data['user_table'].forEach(function(user){ %> - <div class="col-md-6 col-lg-4 col-xl-3 mb-3"> - <div class="card"> - <div class="card-body px-1 py-2"> - <h5>Marc Vachon</h5> - <h5>Habite</h5> - <p>16, chemin de Vers, 1228 Plan-Les-Ouates</p> - <h5>Calendrier</h5> - <table class="table"> - <tr> - <td>14/05/2019</td> - <td>14:00 à 19:00</td> - </tr> - <tr> - <td>15/05/2019</td> - <td>10:00 à 19:00</td> - </tr> - <tr> - <td>17/05/2019</td> - <td>17:00 à 24:00</td> - </tr> - </table> - </div> - </div> - </div> + <div class="col-md-6 col-lg-4 col-xl-3 mb-3 mb-3"> + <div class="card"> + <div class="card-body px-1 py-2"> + <h5><%= user['name'] %></h5> + <h5>Habite</h5> + <p><%= user['address'] %></p> + <h5>Calendrier</h5> + + <table class="table"> + <% user['calendar'].forEach(function(date){ %> + <tr> + <td><%= date['day'] %>/<%= date['month'] %>/<%= date['year'] %></td> + <td><%= date['from']['hour'] %>:<%= date['from']['minutes'] %> à <%= date['to']['hour'] %>:<%= date['to']['minutes'] %></td> + </tr> + <% }) %> + </table> + + <table class="table"> + <tr> + <th>Time</th> + <th>Journey</th> + <th>Platform</th> + </tr> + <tr> + <td></td> + <td></td> + </tr> + </table> - <div class="col-md-6 col-lg-4 col-xl-3 mb-3"> - <div class="card"> - <div class="card-body px-1 py-2"> - <h5>Marc Vachon</h5> - <h5>Habite</h5> - <p>16, chemin de Vers, 1228 Plan-Les-Ouates</p> - <h5>Calendrier</h5> - <table class="table"> - <tr> - <td>14/05/2019</td> - <td>14:00 à 19:00</td> - </tr> - <tr> - <td>15/05/2019</td> - <td>10:00 à 19:00</td> - </tr> - <tr> - <td>17/05/2019</td> - <td>17:00 à 24:00</td> - </tr> - </table> - </div> - </div> - </div> - <div class="col-md-6 col-lg-4 col-xl-3 mb-3"> - <div class="card"> - <div class="card-body px-1 py-2"> - <h5>Marc Vachon</h5> - <h5>Habite</h5> - <p>16, chemin de Vers, 1228 Plan-Les-Ouates</p> - <h5>Calendrier</h5> - <table class="table"> - <tr> - <td>14/05/2019</td> - <td>14:00 à 19:00</td> - </tr> - <tr> - <td>15/05/2019</td> - <td>10:00 à 19:00</td> - </tr> - <tr> - <td>17/05/2019</td> - <td>17:00 à 24:00</td> - </tr> - </table> + <button class="btn btn-warning" type="button" name="button">Modify</button> + <button class="btn btn-danger" type="button" name="button">delete</button> + + </div> + </div> </div> - </div> - </div> - </div> - </section> + <% }) %> + + </div> + </section> -</body> -</html> + </body> + </html> -- GitLab