From 782896997d448e04ba1141d742681e9bc5883168 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Sun, 26 Oct 2014 19:13:48 -0400 Subject: [PATCH] post count fix for post move --- src/topics/fork.js | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/src/topics/fork.js b/src/topics/fork.js index 4e562781bb..422b53a8f1 100644 --- a/src/topics/fork.js +++ b/src/topics/fork.js @@ -71,31 +71,38 @@ module.exports = function(Topics) { Topics.movePostToTopic = function(pid, tid, callback) { threadTools.exists(tid, function(err, exists) { - if(err || !exists) { + if (err || !exists) { return callback(err || new Error('[[error:no-topic]]')); } - posts.getPostFields(pid, ['deleted', 'tid', 'timestamp', 'votes'], function(err, postData) { - if(err) { + posts.getPostFields(pid, ['tid', 'timestamp', 'votes'], function(err, postData) { + if (err) { return callback(err); } - if(!postData || !postData.tid) { + if (!postData || !postData.tid) { return callback(new Error('[[error:no-post]]')); } Topics.removePostFromTopic(postData.tid, pid, function(err) { - if(err) { + if (err) { return callback(err); } - if(!parseInt(postData.deleted, 10)) { - Topics.decreasePostCount(postData.tid); - Topics.increasePostCount(tid); - } - - posts.setPostField(pid, 'tid', tid); - Topics.addPostToTopic(tid, pid, postData.timestamp, postData.votes, callback); + async.parallel([ + function(next) { + Topics.decreasePostCount(postData.tid, next); + }, + function(next) { + Topics.increasePostCount(tid, next); + }, + function(next) { + posts.setPostField(pid, 'tid', tid, next); + }, + function(next) { + Topics.addPostToTopic(tid, pid, postData.timestamp, postData.votes, next); + } + ], callback); }); }); });