summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>2014-01-21 06:29:48 +0000
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>2014-01-21 06:29:48 +0000
commit962ecabc4767e1c0c3d3ceb1ef18de1edc9d34ba (patch)
treed3e15d26997653f6e3973300d16bbfbcdfa37a38
parent94e3eb2b8b2d2cbd45ae5714ab90b5ca7bfe5097 (diff)
downloadredmine-962ecabc4767e1c0c3d3ceb1ef18de1edc9d34ba.tar.gz
redmine-962ecabc4767e1c0c3d3ceb1ef18de1edc9d34ba.zip
call Project#set_or_update_position_under in Project.rebuild_tree! (#12431)
git-svn-id: http://svn.redmine.org/redmine/trunk@12683 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/models/project.rb3
-rw-r--r--test/unit/project_nested_set_test.rb2
2 files changed, 4 insertions, 1 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index 798e64f69..e031da9e7 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -421,6 +421,7 @@ class Project < ActiveRecord::Base
transaction do
update_all "lft = NULL, rgt = NULL"
rebuild!(false)
+ all.each { |p| p.set_or_update_position_under(p.parent) }
end
end
@@ -1017,6 +1018,8 @@ class Project < ActiveRecord::Base
set_or_update_position_under(parent)
end
+ public
+
# Inserts/moves the project so that target's children or root projects stay alphabetically sorted
def set_or_update_position_under(target_parent)
parent_was = parent
diff --git a/test/unit/project_nested_set_test.rb b/test/unit/project_nested_set_test.rb
index 6048cd23d..7312d9bd6 100644
--- a/test/unit/project_nested_set_test.rb
+++ b/test/unit/project_nested_set_test.rb
@@ -50,7 +50,7 @@ class ProjectNestedSetTest < ActiveSupport::TestCase
def test_rebuild_should_build_valid_tree
Project.update_all "lft = NULL, rgt = NULL"
- Project.rebuild!
+ Project.rebuild_tree!
assert_valid_nested_set
end