From d8b046e409d6960092a58117baec715a0182a22c Mon Sep 17 00:00:00 2001 From: OldHawk Date: Tue, 11 Jul 2017 15:01:37 +0800 Subject: [PATCH] feat(forums): recount replyCount value when topic is deleted --- .../controllers/forums.server.controller.js | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/modules/forums/server/controllers/forums.server.controller.js b/modules/forums/server/controllers/forums.server.controller.js index ef1a6852..e9978884 100644 --- a/modules/forums/server/controllers/forums.server.controller.js +++ b/modules/forums/server/controllers/forums.server.controller.js @@ -92,13 +92,13 @@ exports.postNewTopic = function (req, res) { }); } else { res.json(topic); + + forum.update({ + $inc: {topicCount: 1}, + lastTopic: topic + }).exec(); } }); - - forum.update({ - $inc: {topicCount: 1}, - lastTopic: topic - }).exec(); }; /** @@ -169,6 +169,7 @@ exports.toggleTopicReadonly = function (req, res) { exports.deleteTopic = function (req, res) { var forum = req.forum; var topic = req.topic; + var rcount = topic.replyCount; topic.remove(function (err) { if (err) { @@ -184,9 +185,8 @@ exports.deleteTopic = function (req, res) { .sort('-lastReplyAt -createdAt') .exec(function (err, topic) { if (!err) { - console.log(topic); forum.update({ - $inc: {topicCount: -1}, + $inc: {topicCount: -1, replyCount: -rcount}, lastTopic: topic }).exec(); } @@ -224,13 +224,13 @@ exports.postNewReply = function (req, res) { }); } else { res.json(topic); + + forum.update({ + $inc: {replyCount: 1}, + lastTopic: topic + }).exec(); } }); - - forum.update({ - $inc: {replyCount: 1}, - lastTopic: topic - }).exec(); }; /** @@ -281,21 +281,21 @@ exports.deleteReply = function (req, res) { }); } else { res.json(topic); + + forum.update({ + $inc: {replyCount: -1} + }).exec(); + + //create trace log + traceLogCreate(req, traceConfig.action.forumDeleteReply, { + forum: forum._id, + topic: topic._id, + reply: req.params.replyId + }); } }); } }); - - forum.update({ - $inc: {replyCount: -1} - }).exec(); - - //create trace log - traceLogCreate(req, traceConfig.action.forumDeleteReply, { - forum: forum._id, - topic: topic._id, - reply: req.params.replyId - }); }; /**