Fixed that Project.rebuild! sorts projects by id instead of name (#12431).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10866 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
be7895e04e
commit
13f5301c09
|
@ -186,7 +186,7 @@ module CollectiveIdea #:nodoc:
|
||||||
end
|
end
|
||||||
|
|
||||||
# Find root node(s)
|
# Find root node(s)
|
||||||
root_nodes = where("#{quoted_parent_column_name} IS NULL").order("#{quoted_left_column_name}, #{quoted_right_column_name}, id").each do |root_node|
|
root_nodes = where("#{quoted_parent_column_name} IS NULL").order(acts_as_nested_set_options[:order]).each do |root_node|
|
||||||
# setup index for this scope
|
# setup index for this scope
|
||||||
indices[scope.call(root_node)] ||= 0
|
indices[scope.call(root_node)] ||= 0
|
||||||
set_left_and_rights.call(root_node)
|
set_left_and_rights.call(root_node)
|
||||||
|
|
|
@ -47,6 +47,13 @@ class ProjectNestedSetTest < ActiveSupport::TestCase
|
||||||
assert_valid_nested_set
|
assert_valid_nested_set
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_rebuild_should_build_valid_tree
|
||||||
|
Project.update_all "lft = NULL, rgt = NULL"
|
||||||
|
|
||||||
|
Project.rebuild!
|
||||||
|
assert_valid_nested_set
|
||||||
|
end
|
||||||
|
|
||||||
def test_moving_a_child_to_a_different_parent_should_keep_valid_tree
|
def test_moving_a_child_to_a_different_parent_should_keep_valid_tree
|
||||||
assert_no_difference 'Project.count' do
|
assert_no_difference 'Project.count' do
|
||||||
Project.find_by_name('B1').set_parent!(Project.find_by_name('A2'))
|
Project.find_by_name('B1').set_parent!(Project.find_by_name('A2'))
|
||||||
|
|
Loading…
Reference in New Issue