Defect #26085

Updated by Mischa The Evil 5 months ago

To replicate the issue one needs to:
* 1. Create
to create a level 1 issue. This will be the parent of all other issues. Let's call it Issue #100
* 2. Then create any number greater than 1 subtasks of that parent. We will create five and say they are issue ID's 110, 120, 130, 140, and 150.
* 3. Now under issue ID create a subtask with issue ID 111. That will work fine.
* Here comes the problem: ******************************HERE IS THE PROBLEM*******************************************************************
* 4. Move 111 to 150 and it will be abandoned.
* 5. Move 111 to 140 and it will say 140 is the parent, but it will actually be placed under 150.

Looking at the issues table in SQL the problem seems to be that the lft and rgt fields do not increment when adding the new subtask to a new parent that did not have tasks previously. So, the new task fails over to the next available range of lft rgt bounds. If there is no parent to that range then the issue is orphaned, otherwise it assigns the issue to the next range available, but not the one that the user desires even though the application will say the tasks is a child of the correct parent.


Our current workaround is as follows using the example from above: above.
Edit issue 140 or 150 whichever you are working with as follows. Remove the parent of 100 and set it to blank and save. Then edit issue 111 so that it has no parent and save it. Go back to issue 140 or 150 and set the parent to 100 and save it. Then go to issue 111 and assign to either 140 or 150 and it will now work.


Redmine version 3.3.0.stable
Ruby version 2.1.8-p440 (2015-12-16) [x64-mingw32]
Rails version 4.2.6
Environment production
Database adapter SQLServer
Redmine plugins:
redmine_agile 1.4.1