mirror of
https://github.com/taobataoma/meanTorrent.git
synced 2026-02-04 05:29:25 +01:00
fix(forums): update user topic & reply count when +/-
This commit is contained in:
@@ -176,6 +176,7 @@ exports.globalTopics = function (req, res) {
|
||||
* @param res
|
||||
*/
|
||||
exports.postNewTopic = function (req, res) {
|
||||
var user = req.user;
|
||||
var forum = req.forum;
|
||||
var topic = new Topic(req.body);
|
||||
topic.forum = forum;
|
||||
@@ -218,6 +219,10 @@ exports.postNewTopic = function (req, res) {
|
||||
$inc: {topicCount: 1},
|
||||
lastTopic: topic
|
||||
}).exec();
|
||||
|
||||
user.update({
|
||||
$inc: {topics: 1}
|
||||
}).exec();
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -453,6 +458,12 @@ exports.deleteTopic = function (req, res) {
|
||||
var topic = req.topic;
|
||||
var rcount = topic.replyCount;
|
||||
|
||||
topic._replies.forEach(function (r) {
|
||||
r.user.update({
|
||||
$inc: {replies: -1}
|
||||
}).exec();
|
||||
});
|
||||
|
||||
topic.remove(function (err) {
|
||||
if (err) {
|
||||
return res.status(422).send({
|
||||
@@ -474,6 +485,10 @@ exports.deleteTopic = function (req, res) {
|
||||
}
|
||||
});
|
||||
|
||||
topic.user.update({
|
||||
$inc: {topics: -1}
|
||||
}).exec();
|
||||
|
||||
//create trace log
|
||||
traceLogCreate(req, traceConfig.action.forumDeleteTopic, {
|
||||
forum: forum._id,
|
||||
@@ -489,6 +504,7 @@ exports.deleteTopic = function (req, res) {
|
||||
* @param res
|
||||
*/
|
||||
exports.postNewReply = function (req, res) {
|
||||
var user = req.user;
|
||||
var forum = req.forum;
|
||||
var topic = req.topic;
|
||||
var reply = new Reply(req.body);
|
||||
@@ -532,6 +548,10 @@ exports.postNewReply = function (req, res) {
|
||||
} else {
|
||||
res.json(topic);
|
||||
|
||||
user.update({
|
||||
$inc: {replies: 1}
|
||||
}).exec();
|
||||
|
||||
forum.update({
|
||||
$inc: {replyCount: 1},
|
||||
lastTopic: topic
|
||||
@@ -577,9 +597,9 @@ exports.deleteReply = function (req, res) {
|
||||
var forum = req.forum;
|
||||
var topic = req.topic;
|
||||
|
||||
topic._replies.forEach(function (t) {
|
||||
if (t._id.equals(req.params.replyId)) {
|
||||
topic._replies.pull(t);
|
||||
topic._replies.forEach(function (r) {
|
||||
if (r._id.equals(req.params.replyId)) {
|
||||
topic._replies.pull(r);
|
||||
topic.replyCount--;
|
||||
topic.save(function (err) {
|
||||
if (err) {
|
||||
@@ -589,6 +609,10 @@ exports.deleteReply = function (req, res) {
|
||||
} else {
|
||||
res.json(topic);
|
||||
|
||||
r.user.update({
|
||||
$inc: {replies: -1}
|
||||
}).exec();
|
||||
|
||||
forum.update({
|
||||
$inc: {replyCount: -1}
|
||||
}).exec();
|
||||
|
||||
Reference in New Issue
Block a user