From ba3a9e899209b2e2b9ad8693a0fce045376be27d Mon Sep 17 00:00:00 2001 From: Geoffrey Frogeye Date: Tue, 21 Apr 2015 17:07:01 +0200 Subject: [PATCH] Ajout de l'édition des messages --- app/routes/ApiRtes.js | 17 ++++++++++++++++- app/services/MessServ.js | 16 ++++++++++++++++ public/js/controllers/ForumConvCtrl.js | 13 ++++++++++--- public/views/messEdit.html | 2 +- 4 files changed, 43 insertions(+), 5 deletions(-) diff --git a/app/routes/ApiRtes.js b/app/routes/ApiRtes.js index f11fc37..8db8508 100644 --- a/app/routes/ApiRtes.js +++ b/app/routes/ApiRtes.js @@ -96,7 +96,7 @@ sessionData = function (session, cb) { session.canAddConv = true; session.canDelConv = session.bureau; session.canAddMess = true; - session.canEditMess = false; + session.canEditMess = session.bureau; session.canDelMess = session.bureau; cb(session); }); @@ -301,6 +301,21 @@ api.post('/messs', reqPerm('canAddMess'), function (req, res) { // Ajout d'un me }); }); +api.put('/messs', reqPerm('canEditMess'), function (req, res) { // Édition d'un message + MessServ.edit(req.body, function (err, mess) { + console.log('CALLED', err, mess); + if (err) { + if (err == 'notfound') { + res.status(404).end(); + } else { + res.status(500).json(err); + } + } else { + res.status(201).json(mess); + } + }); +}); + api.delete('/messs/:mess_id', reqPerm('canDelMess'), function (req, res) { // Supression d'un mess MessServ.remove(req.params.mess_id, function (err, mess) { if (err) diff --git a/app/services/MessServ.js b/app/services/MessServ.js index 6e3db20..94ba3a0 100644 --- a/app/services/MessServ.js +++ b/app/services/MessServ.js @@ -56,6 +56,22 @@ MesssServ.add = function (data, cb) { }); }; +MesssServ.edit = function (data, cb) { + MessModl.findById(data._id, function (err, mess) { + if (err) { + cb(err); + } else { + if (mess) { + mess.content = data.content; + // TODO Edit date + mess.save(cb); + } else { + cb('notfound'); + } + } + }); +}; + MesssServ.remove = function (id, cb) { // TODO Trash MessModl.remove({ diff --git a/public/js/controllers/ForumConvCtrl.js b/public/js/controllers/ForumConvCtrl.js index a64beee..04d03fd 100644 --- a/public/js/controllers/ForumConvCtrl.js +++ b/public/js/controllers/ForumConvCtrl.js @@ -42,12 +42,19 @@ angular.module('ForumConvCtrl', ['SessionsServ', 'ApiServ', 'MessEditDrct']) $scope.editButton = function (index) { mess = $scope.messs[index]; if (mess.editMode) { - mess.viewSource = false; - console.log('Submit edition'); + ApiServ("édition du message", 'put', 'messs', mess, function (err, data) { + if (!err) { + console.log(data); + mess.content = data.content; + mess.editDate = data.editDate; + mess.editMode = false; + mess.viewSource = false; + } + }); } else { + mess.editMode = true; mess.viewSource = true; } - mess.editMode = !mess.editMode; }; }); diff --git a/public/views/messEdit.html b/public/views/messEdit.html index 4d117b5..0c33949 100644 --- a/public/views/messEdit.html +++ b/public/views/messEdit.html @@ -1,3 +1,3 @@
-{{ mess.content }} +
{{ mess.content }}
\ No newline at end of file -- libgit2 0.21.2