From 2ee548dc852917776580ebba287f6955786b215c Mon Sep 17 00:00:00 2001 From: Toks Date: Wed, 12 Nov 2014 01:20:27 -0500 Subject: [PATCH] Fix topic merge It was merging in the wrong direction, and didn't update response count. --- app/controllers/forum_topics_controller.rb | 2 +- app/models/forum_topic.rb | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/controllers/forum_topics_controller.rb b/app/controllers/forum_topics_controller.rb index fc8e97830..2787c6971 100644 --- a/app/controllers/forum_topics_controller.rb +++ b/app/controllers/forum_topics_controller.rb @@ -78,7 +78,7 @@ class ForumTopicsController < ApplicationController @forum_topic = ForumTopic.find(params[:id]) @merged_topic = ForumTopic.find(params[:merged_id]) @forum_topic.merge(@merged_topic) - redirect_to forum_topic_path(@forum_topic) + redirect_to forum_topic_path(@merged_topic) end private diff --git a/app/models/forum_topic.rb b/app/models/forum_topic.rb index 9761466d0..45cfcd5c8 100644 --- a/app/models/forum_topic.rb +++ b/app/models/forum_topic.rb @@ -151,7 +151,8 @@ class ForumTopic < ActiveRecord::Base end def merge(topic) - ForumPost.where(:id => topic.posts.map(&:id)).update_all(:topic_id => id) - update_attribute(:is_deleted, true) + ForumPost.where(:id => self.posts.map(&:id)).update_all(:topic_id => topic.id) + topic.update_attribute(:response_count, topic.response_count + self.posts.length) + self.update_columns(:response_count => 0, :is_deleted => true) end end