69
70
71
72
73
74
75
76
77
78
79
80
|
# File 'lib/closure_tree/numeric_order_support.rb', line 69
def reorder_with_parent_id(parent_id, minimum_sort_order_value = nil, scope_conditions = {})
return if parent_id.nil? && dont_order_roots
scope = model_class
.where(parent_column_sym => parent_id)
.order(nulls_last_order_by)
scope = scope.where(scope_conditions) if scope_conditions.any?
scope = scope.where("#{quoted_order_column} >= #{minimum_sort_order_value}") if minimum_sort_order_value
scope.each_with_index do |ea, idx|
ea.update_order_value(idx + minimum_sort_order_value.to_i)
end
end
|