In addition to normal dependencies, the application now supports
sub-tasks. Sub-tasks can be added into any existing task (including
other sub-tasks, Inception-style).
Dependencies can only be added between global tasks, or between
sub-tasks of the same task. It is no longer possible to mark a task as
finished if it has incomplete sub-tasks, and conversedly, it is not
possible to reactivate a sub-task if its parent is marked as completed.
A pair of buttons allowing tasks to be moved up and down in the task
hierarachy have been added.
Tasks can be assigned to users. An user may decide to "claim" a task
directly, which will assign the task to him. Otherwise, it is possible
to set some arbitrary user as the assignee or remove the assignee
completely through the edition form.
Marking a task as completed will remove the assignee, while
re-activating a task will assign it to the user who re-activated it.
Also, fixed a bug which allowed a completed task to be edited.
Task views now include the list of dependencies and reverse
dependencies. In addition, it is impossible to mark a task as completed
if it has unsatisfied dependencies, and it is impossible to re-activate
a task that has completed reverse dependencies.
This initial import is a heavily modified version of the code I had
here, as Arse was modified for other purposes in the meantime and the
application no longer worked with it.
In addition:
* I did not import the user management part yet,
* task dependencies are supported in-base, but there is no interface
for that yet.