I have been hacking at it, and it seems that a simple change in task.py's delete function would fix this. Instead of calling
task.remove_parent(self.get_id()) (line 483 I think)
for each subtask, my change calls
self.req.delete_task(task.get_id())
which seems to do the trick. From what I can read from the code this is not a breach of the architecture, though I might be wrong. The net result is that all subtasks (as well as their subtask and so on) to the deleted task are deleted.
So if we had
1.
A
- B
- C
- D
- E
- F
Then deleting E would leave us with
2.
A
- B
- C
- D
And if we deleted A (in either 1 or 2) there would be no tasks left.
Unless there are any objections I would like to test it a bit more, and then try to push it to a branch.
I have been hacking at it, and it seems that a simple change in task.py's delete function would fix this. Instead of calling
task.remove_ parent( self.get_ id()) (line 483 I think)
for each subtask, my change calls
self.req. delete_ task(task. get_id( ))
which seems to do the trick. From what I can read from the code this is not a breach of the architecture, though I might be wrong. The net result is that all subtasks (as well as their subtask and so on) to the deleted task are deleted.
So if we had
1.
A
- B
- C
- D
- E
- F
Then deleting E would leave us with
2.
A
- B
- C
- D
And if we deleted A (in either 1 or 2) there would be no tasks left.
Unless there are any objections I would like to test it a bit more, and then try to push it to a branch.