diff --git a/app/routes/ApiRtes.js b/app/routes/ApiRtes.js index fb34baa..b0a5673 100644 --- a/app/routes/ApiRtes.js +++ b/app/routes/ApiRtes.js @@ -136,11 +136,9 @@ sessionData = function (session, cb) { if (err) { cb(err); } else { - session.nom = res[0].nom; - session.section = res[0].section; + for (var attrname in res[0]) { session[attrname] = res[0][attrname]; } session.membre = res[1]; session.bureau = res[2]; - // TODO session.personnel cb(null, session); } }); @@ -258,26 +256,21 @@ 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); + PolyUserServ.get(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); }); }); diff --git a/app/services/PolyUserServ.js b/app/services/PolyUserServ.js index 4bba105..ebe2801 100644 --- a/app/services/PolyUserServ.js +++ b/app/services/PolyUserServ.js @@ -85,9 +85,22 @@ var PolyUserServ = module.exports = { if (err) { cb(err); } else { + var nom = (passwd && passwd.GECOS) ? passwd.GECOS : login.toUpperCase(); + var section = (group && group.name) ? group.name.toUpperCase() : ((passwd && passwd.GID) ? passwd.GID : 'Inconnu'); + var ancien = !!section.match("[0-9]{4}"); + var enseignant = !!section.match("ENS$"); + var personnel = enseignant; + var etudiant = !personnel; + var enCours = etudiant && !ancien; cb(null, { - nom: (passwd && passwd.GECOS) ? passwd.GECOS : login.toUpperCase(), - section: (group && group.name) ? group.name.toUpperCase() : ((passwd && passwd.GID) ? passwd.GID : 'Inconnu') + nom: nom, + prenom: nom.split(' ')[0], + section: section, + ancien: ancien, + enseignant: enseignant, + personnel: personnel, + etudiant: etudiant, + enCours: enCours }); } }); diff --git a/public/js/controllers/NinfoCtrl.js b/public/js/controllers/NinfoCtrl.js index 6c65792..013b0e1 100644 --- a/public/js/controllers/NinfoCtrl.js +++ b/public/js/controllers/NinfoCtrl.js @@ -6,25 +6,31 @@ angular.module('NinfoCtrl', ['SessionsServ', 'ApiServ', 'NotifyServ']) $scope.session = SessionServ.cur; SessionServ.onChange(function () { $scope.session = SessionServ.cur; + actualiser(); }); + actualiser(); - if ($scope.session) { - ApiServ("récupération des préférence Nuit de l'Info", 'get', 'profile/ninfo', null, function (err, ninfo) { - 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; - }); + function actualiser() { + if ($scope.session) { + ApiServ("récupération des préférence Nuit de l'Info", 'get', 'profile/ninfo', null, function (err, ninfo) { + 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 () { var not = NotifyServ.promise("Sauvegarde..."); $scope.saving = true; ApiServ("sauvegarde des préférences Nuit de l'Info", 'put', 'profile/ninfo', $scope.ninfo, function (err, membre) { - if (!err) + if (!err) { + actualiser(); not.success("Sauvegardé !"); + } $scope.saving = false; }); }; diff --git a/public/views/ninfo.html b/public/views/ninfo.html index cc04ace..d4c074a 100644 --- a/public/views/ninfo.html +++ b/public/views/ninfo.html @@ -31,7 +31,7 @@

Je souhaite participer à la Nuit de l'Info

-
+

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


@@ -47,9 +47,16 @@
+

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

+ +

+ Seuls les étudiants avec une année en cours peuvent participer. Vous ne pouvez donc pas vous inscrire.
+ Si vous pensez que c'est une erreur, merci d'envoyer un mail au Club Info. +

+

Participants à la Nuit de l'Info

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

-- libgit2 0.21.2