Undefined due dates in subtasks should always stay undefined and displayed as such in the editor

Bug #1038662 reported by Bertrand Rousseau on 2012-08-19
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Getting Things GNOME!
Bertrand Rousseau

Bug Description

1. create a task and a subtask, leave all due dates undefined
2. set parent task due date to X
3. See that the task list displays the task and subtask as having X as due date
3. open a subtask in the editor

Result: task due date entry displays X.
Correct result: to get: task due date entry should be undefined, and the (parent) constraining due date should be displayed somewhere (but not editable)

This bug is related to this discussion: https://bugs.launchpad.net/gtg/+bug/1011094

The steps above describes the current situation in GTG (r1229): if you set a task due date of a parent task with subtasks, the child subtasks will inherit the due date. A better behavior (which was partly implemented before too) is to leave undefined due dates so that it can always be re-interpreted dynamically if the task relations change (e.g.: if a subtask is reparented).

Two fixes are required here:

1) change the due date inheritance behavior: don't save the constraining due date in the task if the due date is undefined*
2) find a way to display both the subtask actual due date and the constraining due date in the editor, so that the user gets the two informations.

* Now, there is a question here: if a due date is set, should we actually update it? or also leave it as such? Since we might at all moment choose to display and use the *constraining* due date in the UI rather than the actual due date, there could be some sense to allow the users to set a specific, always untouched, due dates to a task. That way, if the user change task relations, the specified due date won't be altered.

Related branches

I'm setting this bug as critical since we might want to avoid changing this core behavior too often (that would confuse users). However, we migt not have enough time to work it out and test it correctly. At least, if it doesn't make before 0.3 trunk freeze, it should be delayed to 0.3.1

I worked on this bug, and changed the due date inheritance mechanism so that due date of children is not altered if it's not set.

Since I can't come up with a good UI to display the constraining date in the task editor, I think the best solution is to leave the due date selector widget blank and not display anything about a constraining date.

Changed in gtg:
assignee: nobody → Bertrand Rousseau (bertrand-rousseau)
status: Confirmed → In Progress
Changed in gtg:
status: In Progress → Fix Committed
Changed in gtg:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers