summaryrefslogtreecommitdiffstats
path: root/lib/plugins
diff options
context:
space:
mode:
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>2014-01-20 05:59:50 +0000
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>2014-01-20 05:59:50 +0000
commitbcec29d5e42b6b93d42daa5980293ba252d00b31 (patch)
treed5ba20982ec5804f6c1ea36068139513f85b40e8 /lib/plugins
parent90777c16732725c0aeee02098eadda93820d1568 (diff)
downloadredmine-bcec29d5e42b6b93d42daa5980293ba252d00b31.tar.gz
redmine-bcec29d5e42b6b93d42daa5980293ba252d00b31.zip
apply Redmine awesome_nested_set 2.1.5 modification
git-svn-id: http://svn.redmine.org/redmine/trunk@12679 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'lib/plugins')
-rw-r--r--lib/plugins/awesome_nested_set/lib/awesome_nested_set/awesome_nested_set.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/plugins/awesome_nested_set/lib/awesome_nested_set/awesome_nested_set.rb b/lib/plugins/awesome_nested_set/lib/awesome_nested_set/awesome_nested_set.rb
index b101a5ef2..1a7ceae15 100644
--- a/lib/plugins/awesome_nested_set/lib/awesome_nested_set/awesome_nested_set.rb
+++ b/lib/plugins/awesome_nested_set/lib/awesome_nested_set/awesome_nested_set.rb
@@ -198,14 +198,17 @@ module CollectiveIdea #:nodoc:
# set left
node[left_column_name] = indices[scope.call(node)] += 1
# find
- where(["#{quoted_parent_column_full_name} = ? #{scope.call(node)}", node]).order("#{quoted_left_column_full_name}, #{quoted_right_column_full_name}, id").each{|n| set_left_and_rights.call(n) }
+ where(["#{quoted_parent_column_name} = ? #{scope.call(node)}", node]).
+ order(acts_as_nested_set_options[:order]).
+ each{|n| set_left_and_rights.call(n) }
# set right
node[right_column_name] = indices[scope.call(node)] += 1
node.save!(:validate => validate_nodes)
end
# Find root node(s)
- root_nodes = where("#{quoted_parent_column_full_name} IS NULL").order("#{quoted_left_column_full_name}, #{quoted_right_column_full_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
indices[scope.call(root_node)] ||= 0
set_left_and_rights.call(root_node)
@@ -307,7 +310,7 @@ module CollectiveIdea #:nodoc:
# Returns true if this is the end of a branch.
def leaf?
- persisted? && right.to_i - left.to_i == 1
+ new_record? || (persisted? && right.to_i - left.to_i == 1)
end
# Returns true is this is a child node
@@ -590,6 +593,7 @@ module CollectiveIdea #:nodoc:
["#{quoted_right_column_name} = (#{quoted_right_column_name} - ?)", diff]
)
+ reload
# Don't allow multiple calls to destroy to corrupt the set
self.skip_before_destroy = true
end