When displaying a sub-task's dependencies, don't display item names as
they are unnecessary (all dependencies being sub-tasks of the same
task anyway).
* A function was being deleted instead of another, causing trouble
later.
* I'd forgotten to move the code for the tasks_move() function from the
temporary script it was in.
* Works when moving tasks without dependencies. Crashes with a SQL error
due to FK violation when moving tasks with interdependencies (LTC ID?)
* The form is unable to force removal of external dependencies at this
time.
* Related PL/PgSQL code stored in database/temp.sql at this time.
Moving a subtask to its grandparent, or making a task a sub-task of one
of its siblings, didn't work as expected. While the icons were being
updated correctly, the task didn't appear in the right location. That
was because, while the cached structure was being updated, the task
itself wasn't.
The previous implementation of sub-tasks did not work as expected: it
was possible to mark sub-tasks as completed before the parent task's
dependencies were satisfied. In addition, it was impossible to retrieve
a task's path from the database without running a recursive query.
Full paths to sub-tasks added to views, since it is now possible to
obtain them.
The "move up" action now shows a confirmation form in all cases. This
first confirmation form is followed by another such form if the task has
dependencies or reverse dependencies.
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.
Removed duplicate code in task lists views (now using a single class
with constructor parameters). Added specific display for assigned tasks
that have missing dependencies.
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.
If there is a display name, it will be used in all views (task lists,
task details, comments).
Made a view for task lists, because it was cleaner and because they're
all more or less the same anyway.
A description field has been added to items in the database, form fields
have been added to both item creation and modification. Removed some
French text that was still around.
Tasks that have missing dependencies will be displayed in a red-ish
colour on the item views and in the full tasks list. Added a "blocked
tasks" mode to the tasks list page.
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.