Commit ba3a9e899209b2e2b9ad8693a0fce045376be27d
1 parent
66e43291
Ajout de l'édition des messages
Showing
4 changed files
with
43 additions
and
5 deletions
Show diff stats
app/routes/ApiRtes.js
@@ -96,7 +96,7 @@ sessionData = function (session, cb) { | @@ -96,7 +96,7 @@ sessionData = function (session, cb) { | ||
96 | session.canAddConv = true; | 96 | session.canAddConv = true; |
97 | session.canDelConv = session.bureau; | 97 | session.canDelConv = session.bureau; |
98 | session.canAddMess = true; | 98 | session.canAddMess = true; |
99 | - session.canEditMess = false; | 99 | + session.canEditMess = session.bureau; |
100 | session.canDelMess = session.bureau; | 100 | session.canDelMess = session.bureau; |
101 | cb(session); | 101 | cb(session); |
102 | }); | 102 | }); |
@@ -301,6 +301,21 @@ api.post('/messs', reqPerm('canAddMess'), function (req, res) { // Ajout d'un me | @@ -301,6 +301,21 @@ api.post('/messs', reqPerm('canAddMess'), function (req, res) { // Ajout d'un me | ||
301 | }); | 301 | }); |
302 | }); | 302 | }); |
303 | 303 | ||
304 | +api.put('/messs', reqPerm('canEditMess'), function (req, res) { // Édition d'un message | ||
305 | + MessServ.edit(req.body, function (err, mess) { | ||
306 | + console.log('CALLED', err, mess); | ||
307 | + if (err) { | ||
308 | + if (err == 'notfound') { | ||
309 | + res.status(404).end(); | ||
310 | + } else { | ||
311 | + res.status(500).json(err); | ||
312 | + } | ||
313 | + } else { | ||
314 | + res.status(201).json(mess); | ||
315 | + } | ||
316 | + }); | ||
317 | +}); | ||
318 | + | ||
304 | api.delete('/messs/:mess_id', reqPerm('canDelMess'), function (req, res) { // Supression d'un mess | 319 | api.delete('/messs/:mess_id', reqPerm('canDelMess'), function (req, res) { // Supression d'un mess |
305 | MessServ.remove(req.params.mess_id, function (err, mess) { | 320 | MessServ.remove(req.params.mess_id, function (err, mess) { |
306 | if (err) | 321 | if (err) |
app/services/MessServ.js
@@ -56,6 +56,22 @@ MesssServ.add = function (data, cb) { | @@ -56,6 +56,22 @@ MesssServ.add = function (data, cb) { | ||
56 | }); | 56 | }); |
57 | }; | 57 | }; |
58 | 58 | ||
59 | +MesssServ.edit = function (data, cb) { | ||
60 | + MessModl.findById(data._id, function (err, mess) { | ||
61 | + if (err) { | ||
62 | + cb(err); | ||
63 | + } else { | ||
64 | + if (mess) { | ||
65 | + mess.content = data.content; | ||
66 | + // TODO Edit date | ||
67 | + mess.save(cb); | ||
68 | + } else { | ||
69 | + cb('notfound'); | ||
70 | + } | ||
71 | + } | ||
72 | + }); | ||
73 | +}; | ||
74 | + | ||
59 | MesssServ.remove = function (id, cb) { | 75 | MesssServ.remove = function (id, cb) { |
60 | // TODO Trash | 76 | // TODO Trash |
61 | MessModl.remove({ | 77 | MessModl.remove({ |
public/js/controllers/ForumConvCtrl.js
@@ -42,12 +42,19 @@ angular.module('ForumConvCtrl', ['SessionsServ', 'ApiServ', 'MessEditDrct']) | @@ -42,12 +42,19 @@ angular.module('ForumConvCtrl', ['SessionsServ', 'ApiServ', 'MessEditDrct']) | ||
42 | $scope.editButton = function (index) { | 42 | $scope.editButton = function (index) { |
43 | mess = $scope.messs[index]; | 43 | mess = $scope.messs[index]; |
44 | if (mess.editMode) { | 44 | if (mess.editMode) { |
45 | - mess.viewSource = false; | ||
46 | - console.log('Submit edition'); | 45 | + ApiServ("édition du message", 'put', 'messs', mess, function (err, data) { |
46 | + if (!err) { | ||
47 | + console.log(data); | ||
48 | + mess.content = data.content; | ||
49 | + mess.editDate = data.editDate; | ||
50 | + mess.editMode = false; | ||
51 | + mess.viewSource = false; | ||
52 | + } | ||
53 | + }); | ||
47 | } else { | 54 | } else { |
55 | + mess.editMode = true; | ||
48 | mess.viewSource = true; | 56 | mess.viewSource = true; |
49 | } | 57 | } |
50 | - mess.editMode = !mess.editMode; | ||
51 | }; | 58 | }; |
52 | 59 | ||
53 | }); | 60 | }); |
public/views/messEdit.html
1 | <div btf-markdown="mess.content" ng-show="!mess.viewSource"></div> | 1 | <div btf-markdown="mess.content" ng-show="!mess.viewSource"></div> |
2 | -<code ng-show="mess.viewSource && !mess.editMode">{{ mess.content }}</code> | 2 | +<pre ng-show="mess.viewSource && !mess.editMode">{{ mess.content }}</pre> |
3 | <textarea class="form-control" id="nvMessTitre" rows="7" placeholder="Contenu du message" ng-model="mess.content" ng-show="mess.viewSource && mess.editMode"></textarea> | 3 | <textarea class="form-control" id="nvMessTitre" rows="7" placeholder="Contenu du message" ng-model="mess.content" ng-show="mess.viewSource && mess.editMode"></textarea> |
4 | \ No newline at end of file | 4 | \ No newline at end of file |