fix always new lft and rgt are lft = 1, rgt = 2 (#6579)

git-svn-id: http://svn.redmine.org/redmine/trunk@13009 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Toshi MARUYAMA
2014-03-26 01:47:48 +00:00
parent e4cf210fa2
commit 3c83d1c646
3 changed files with 6 additions and 5 deletions

View File

@@ -540,7 +540,9 @@ module CollectiveIdea #:nodoc:
# on creation, set automatically lft and rgt to the end of the tree
def set_default_left_and_right
highest_right_row = nested_set_scope(:order => "#{quoted_right_column_full_name} desc").limit(1).lock(true).first
highest_right_row =
self.class.base_class.unscoped.
order("#{quoted_right_column_full_name} desc").limit(1).lock(true).first
maxright = highest_right_row ? (highest_right_row[right_column_name] || 0) : 0
# adds the new node to the right of all existing nodes
self[left_column_name] = maxright + 1