From 446e0b330d72cf780d75e1d68a26bc7cb089be8c Mon Sep 17 00:00:00 2001 From: Geoffrey Frogeye Date: Sun, 15 Nov 2015 21:52:42 +0100 Subject: [PATCH] Affichage des participants à la Nuit de l'Info --- app/routes/ApiRtes.js | 42 +++++++++++++++++++++++++++++++++--------- app/services/NinfoServ.js | 8 ++++++-- public/js/controllers/NinfoCtrl.js | 4 ++++ public/views/ninfo.html | 18 +++++++++++++++++- 4 files changed, 60 insertions(+), 12 deletions(-) diff --git a/app/routes/ApiRtes.js b/app/routes/ApiRtes.js index e73ad54..fb34baa 100644 --- a/app/routes/ApiRtes.js +++ b/app/routes/ApiRtes.js @@ -246,15 +246,6 @@ api.delete('/membres/:_id', reqBureau, getSubject(MembresServ), delSubject(Membr // Obtenir les préférences api.get('/profile/ninfo', reqAuth, addLogin, function(req, res) { NinfoServ.getLogin(req.body.login, function(err, ninfo) { - console.log(err); - if (err) { // TODO Tester si on peut pas créer un objet directement et - // récupérer les valeurs par défaut de la BDD - ninfo = { - equipe: 'nope', - comment: '' - }; - } - console.log(ninfo); NinfoServ.simpleData(ninfo, giveBack(res, 200)); }); }); @@ -262,6 +253,39 @@ api.get('/profile/ninfo', reqAuth, addLogin, function(req, res) { // Mettre à jour les préférences api.put('/profile/ninfo', reqAuth, addLogin, assertSubject(NinfoServ), addSubject(NinfoServ)); +// Lister les participants +api.get('/ninfo', reqAuth, function(req, res) { + NinfoServ.list(function (err, participants) { + async.reduce(NinfoServ.equipes, {}, function(memo, nomEquipe, cb) { + async.filter(participants, function concerne(participant, cbf) { + console.log(270); + cbf(participant.equipe == nomEquipe); + }, function addInfos(membres) { + console.log(272, membres); + async.map(membres, function (membre, cba) { + console.log(274, membre); + async.parallel([function(cbp) { + PolyUserServ.grabInfos(membre.login, cbp); + }, function(cbp) { + NinfoServ.simpleData(membre, cbp); + }], function(err, results) { + var membreFinal = results[0]; + membreFinal.equipe = results[1].equipe; + membreFinal.comment = results[1].comment; + console.log(276, membreFinal); + cba(null, membreFinal); + }); + }, function (err, membres) { + memo[nomEquipe] = membres; + console.log(278, memo); + cb(null, memo); + }); + }); + }, function gb(err, data) { + res.status(200).json(data); + }); + }); +}); // Dossiers diff --git a/app/services/NinfoServ.js b/app/services/NinfoServ.js index 92f7142..7165b9c 100644 --- a/app/services/NinfoServ.js +++ b/app/services/NinfoServ.js @@ -6,7 +6,7 @@ var NinfoServ = module.exports = { equipes: ['nope', 'ci', 'imagis', 'ima5'], - simple: ['equipe', 'comment'], + simple: ['login', 'equipe', 'comment'], simpleData: function (ninfoD, cb) { var ninfo = {}; @@ -42,6 +42,10 @@ var NinfoServ = module.exports = { ninfo.comment = data.comment; ninfo.save(cb); }); - } + }, + + list: function (cb) { + NinfoModl.find({}, cb); + }, }; diff --git a/public/js/controllers/NinfoCtrl.js b/public/js/controllers/NinfoCtrl.js index 15d81b7..6c65792 100644 --- a/public/js/controllers/NinfoCtrl.js +++ b/public/js/controllers/NinfoCtrl.js @@ -13,6 +13,10 @@ angular.module('NinfoCtrl', ['SessionsServ', 'ApiServ', 'NotifyServ']) if (!err) $scope.ninfo = ninfo; }); + ApiServ("récupération de la liste des participants à Nuit de l'Info", 'get', 'ninfo', null, function (err, equipes) { + if (!err) + $scope.equipes = equipes; + }); } $scope.save = function () { diff --git a/public/views/ninfo.html b/public/views/ninfo.html index ee4478e..0a07d61 100644 --- a/public/views/ninfo.html +++ b/public/views/ninfo.html @@ -30,7 +30,7 @@
-

Je souhaite participer à la nuit de l'info

+

Je souhaite participer à la Nuit de l'Info

Ça c'est cool ! On a juste deux petites questions à te poser.

@@ -49,6 +49,22 @@

Tu es déjà inscrit dans l'équipe des IMA5 (référent : Jean Wasilewski) ! Enjoy ;)

+

Participants à la Nuit de l'Info

+

Équipe Informatiquement Vôtre {{ equipes.ci.length }}

+
+
{{ membre.nom }} ({{ membre.section }})
+
{{ membre.comment }}
+
+

Équipe 404 Brain Not Found {{ equipes.imagis.length }}

+
+
{{ membre.nom }} ({{ membre.section }})
+
{{ membre.comment }}
+
+

Équipe IMA5 (fermée) {{ equipes.ima5.length }}

+
+
{{ membre.nom }} ({{ membre.section }})
+
{{ membre.comment }}
+

-- libgit2 0.21.2