Fix structure position
This commit is contained in:
1 parent
fe1869199e
commit
5328a26440
4 files changed
+18
-12
No files matched your search
+10
-8
@@ -46,15 +46,17 @@ class Item
|
||||
|
||||
def shift_to(new_parent, position)
|
||||
position = position.to_i
|
||||
unless self.parent_id.to_s.eql?(new_parent) && self.position == position
|
||||
new_parent = Item.find(new_parent)
|
||||
current_position_sibling = find_by_parent_and_position(new_parent, position)
|
||||
if current_position_sibling
|
||||
move_above(current_position_sibling)
|
||||
elsif self.parent != new_parent
|
||||
self.parent = new_parent
|
||||
save
|
||||
new_parent = Item.find(new_parent)
|
||||
current_position_sibling = find_by_parent_and_position(new_parent, position)
|
||||
if current_position_sibling
|
||||
if self.position > current_position_sibling.position
|
||||
self.move_above(current_position_sibling)
|
||||
else
|
||||
self.move_below(current_position_sibling)
|
||||
end
|
||||
elsif self.parent != new_parent
|
||||
self.parent = new_parent
|
||||
save
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in new issue
Block a user