]> source.dussan.org Git - redmine.git/commitdiff
Merged r15130 (#21900).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 12 Mar 2016 08:24:42 +0000 (08:24 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 12 Mar 2016 08:24:42 +0000 (08:24 +0000)
git-svn-id: http://svn.redmine.org/redmine/branches/3.1-stable@15198 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/wiki_page.rb
test/unit/wiki_page_test.rb

index ff8a12a994ecddf3904d2cd972a1a364c68d14d7..e6639021c54113b6117bb9d6a1d572eca16633b7 100644 (file)
@@ -127,7 +127,7 @@ class WikiPage < ActiveRecord::Base
         child.wiki_id = wiki_id
         child.redirect_existing_links = redirect_existing_links
         unless child.save
-          WikiPage.where(:id => child.id).update_all :parent_nil => nil
+          WikiPage.where(:id => child.id).update_all :parent_id => nil
         end
       end
     end
index 68e77a2e5daa6066d8130ff816f772b3a3b4fe53..d1557c2072eae124e6d7004888e61bfe560a49de 100644 (file)
@@ -121,6 +121,24 @@ class WikiPageTest < ActiveSupport::TestCase
     assert_equal parent, child.parent
   end
 
+  def test_move_parent_with_child_with_duplicate_name_should_not_move_child
+    parent = WikiPage.create!(:wiki_id => 1, :title => 'Parent')
+    child = WikiPage.create!(:wiki_id => 1, :title => 'Child', :parent_id => parent.id)
+    parent.reload
+    # page with the same name as the child in the target wiki
+    WikiPage.create!(:wiki_id => 2, :title => 'Child')
+
+    parent.wiki_id = 2
+    parent.save!
+
+    parent.reload
+    assert_equal 2, parent.wiki_id
+
+    child.reload
+    assert_equal 1, child.wiki_id
+    assert_nil child.parent_id
+  end
+
   def test_destroy
     page = WikiPage.find(1)
     page.destroy