diff --git a/app/routes/ApiRtes.js b/app/routes/ApiRtes.js index aef92a2..e1f2ad6 100644 --- a/app/routes/ApiRtes.js +++ b/app/routes/ApiRtes.js @@ -75,11 +75,8 @@ api.post('/membres', function (req, res) { // Ajout d'un membre MembresServ.add(req.body, function (err, membre) { if (err) res.send(err); - MembresServ.list(function (err, membres) { - if (err) - res.send(err); - res.json(membres); - }); + else + res.json(membre); }); }); }); @@ -89,11 +86,8 @@ api.delete('/membres/:membre_id', function (req, res) { // Supression d'un membr MembresServ.remove(req.params.membre_id, function (err, membre) { if (err) res.send(err); - MembresServ.list(function (err, membres) { - if (err) - res.send(err); - res.json(membres); - }); + else + res.json(null); }); }); }); diff --git a/app/services/MembresServ.js b/app/services/MembresServ.js index 7b70dbf..f7c9356 100644 --- a/app/services/MembresServ.js +++ b/app/services/MembresServ.js @@ -2,36 +2,48 @@ var MembreModl = require('../models/MembreModl'); var NomsServ = require('../services/NomsServ'); var async = require('async'); -var membres = {}; +var MembresServ = {}; -membres.list = function (cb) { +MembresServ.addData = function (membre, cb) { + NomsServ.get(membre.login, function (nom) { + if (nom) { + membre.nom = nom; + } else { + membre.nom = membre.login; + } + cb(null, membre); + }); +}; + +MembresServ.get = function(id, cb) { + MembreModl.findById(id).lean().exec(function (err, membre) { + if (err) + cb(err); + else + MembresServ.addData(membre, cb); + }); +}; + +MembresServ.list = function (cb) { MembreModl.find({}).lean().exec(function (err, membres) { - addNom = function (membre, cbA) { - NomsServ.get(membre.login, function (nom) { - if (nom) { - membre.nom = nom; - } else { - membre.nom = membre.login; - } - cbA(null, membre); - }); - }; - async.mapSeries(membres, addNom, cb); + async.mapSeries(membres, MembresServ.addData, cb); }); }; -membres.add = function (data, cb) { +MembresServ.add = function (data, cb) { MembreModl.create({ login: data.login, role: data.role, section: data.section, - }, cb); + }, function(err, membre) { + MembresServ.get(membre._id, cb); + }); }; -membres.remove = function (id, cb) { +MembresServ.remove = function (id, cb) { MembreModl.remove({ _id: id }, cb); }; -module.exports = membres; +module.exports = MembresServ; diff --git a/public/css/style.css b/public/css/style.css index f9d3125..427d0ea 100644 --- a/public/css/style.css +++ b/public/css/style.css @@ -29,3 +29,13 @@ body { #membre-list { width: 90%; } + +#membre-list .ng-enter { + -webkit-animation: fadeInLeft 0.5s; + animation: fadeInLeft 0.5s; +} + +#membre-list .ng-leave { + -webkit-animation: fadeOutLeft 0.5s; + animation: fadeOutLeft 0.5s; +} diff --git a/public/js/controllers/MembreCtrl.js b/public/js/controllers/MembreCtrl.js index 52d078c..359b44f 100644 --- a/public/js/controllers/MembreCtrl.js +++ b/public/js/controllers/MembreCtrl.js @@ -18,9 +18,9 @@ angular.module('MembreCtrl', ['SessionsServ', 'NotifyServ']).controller('MembreC $scope.createMembre = function () { var not = NotifyServ.promise("Ajout du membre..."); $http.post('/api/membres', $scope.formData) - .success(function (data) { + .success(function (membre) { $scope.formData = {}; - $scope.membres = data; + $scope.membres.push(membre); not.success("Membre ajouté"); }) .error(function (data) { @@ -28,11 +28,11 @@ angular.module('MembreCtrl', ['SessionsServ', 'NotifyServ']).controller('MembreC }); }; - $scope.deleteMembre = function (id) { + $scope.deleteMembre = function (index) { var not = NotifyServ.promise("Suppression du membre..."); - $http.delete('/api/membres/' + id) - .success(function (data) { - $scope.membres = data; + $http.delete('/api/membres/' + $scope.membres[index]._id) + .success(function (membre) { + $scope.membres.splice(index, 1); not.success("Membre supprimé"); }) .error(function (data) { diff --git a/public/views/membres.html b/public/views/membres.html index 92eaeb8..2608478 100644 --- a/public/views/membres.html +++ b/public/views/membres.html @@ -1,5 +1,4 @@