From dfb9c01bac164a4c7b5f1906150ece31fb1e6dc6 Mon Sep 17 00:00:00 2001 From: Toks Date: Fri, 29 Nov 2013 17:48:20 -0500 Subject: [PATCH] fixes #2048 --- app/models/post.rb | 7 ++++++- test/unit/post_test.rb | 14 ++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/app/models/post.rb b/app/models/post.rb index 39a700cc9..85c43e173 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -433,7 +433,7 @@ class Post < ActiveRecord::Base def filter_metatags(tags) @pre_metatags, tags = tags.partition {|x| x =~ /\A(?:rating|parent):/i} - @post_metatags, tags = tags.partition {|x| x =~ /\A(?:-pool|pool|newpool|fav):/i} + @post_metatags, tags = tags.partition {|x| x =~ /\A(?:-pool|pool|newpool|fav|child):/i} apply_pre_metatags return tags end @@ -468,6 +468,11 @@ class Post < ActiveRecord::Base when /^fav:(.+)$/i add_favorite!(CurrentUser.user) + + when /^child:(.+)$/i + child = Post.find($1) + child.parent_id = id + child.save end end end diff --git a/test/unit/post_test.rb b/test/unit/post_test.rb index 82632e836..af774490b 100644 --- a/test/unit/post_test.rb +++ b/test/unit/post_test.rb @@ -576,6 +576,20 @@ class PostTest < ActiveSupport::TestCase assert_equal("fav:#{@user.id}", @post.fav_string) end end + + context "for a child" do + setup do + @child = FactoryGirl.create(:post) + end + + should "update the parent relationships for both posts" do + @post.update_attributes(:tag_string => "aaa child:#{@child.id}") + @post.reload + @child.reload + assert_equal(@post.id, @child.parent_id) + assert(@post.has_children?) + end + end end context "tagged with a negated tag" do