Drag and drop node sorting can break node's lft/rgt

digitalpoint

Well-known member
Affected version
2.2.12
If you have node A with a child of node B, and you use the draggable node sort system and reverse that (so node B is a child of node A), you end up getting an error about it being an invalid parent node. If you manually edit that node to pick the parent node from the drop down, you get the same error. If you try to go back to the original structure, you get the same error. The work around is to assign both nodes as children to other nodes and then you can make them children of each other again (either direction) as expected.

Digging a little, the node lft and rgt values get jacked when using the draggable interface (which is why assigning the "broken" nodes to different parents fixes it because lft and rgt get reset). I didn't dig so far into why those values are getting mucked (maybe the draggable interface isn't recalculating lft/rgt for children [or parents maybe])?
 
Top Bottom