Saturday, September 26, 2026
3 changes · 18.0
Resolved issues and error corrections
Project task analysis reports now use the same progress and remaining-time values shown on the task itself. This prevents parent tasks from appearing incomplete or still having time left when logged time on sub-tasks has already fulfilled the allocation.
Original PR description
1. Open Project > Configuration > Settings and enable "Timesheets" 2. Create a task "Parent" with "Allocated Time" set to 02:00 and no timesheet 3. Create a sub-task of "Parent" and log 02:00 on it…
1. Open Project > Configuration > Settings and enable "Timesheets" 2. Create a task "Parent" with "Allocated Time" set to 02:00 and no timesheet 3. Create a sub-task of "Parent" and log 02:00 on it 4. Open Project > Reporting > Tasks Analysis and add the "Progress" measure -> "Parent" shows 0%, although the task itself shows 100% The report recomputes the progress by hand instead of reading the stored field, and leaves out the time spent on the sub-tasks. With this commit, the tasks analysis report reads the `progress` field of the task, so the report and the task always show the same value. task-6538249 Forward-Port-Of: odoo/odoo#286727 --- 1. Open Project > Configuration > Settings and enable "Timesheets" 2. Create a task "Parent" with "Allocated Time" set to 02:00 and no timesheet 3. Create a sub-task of "Parent" and log 02:00 on it 4. Open Project > Reporting > Tasks Analysis and add the "Time Remaining" measure -> "Parent" shows 02:00 remaining, although the task itself shows 00:00 The report recomputes the remaining time by hand instead of reading the stored field, and leaves out the time spent on the sub-tasks. The line right below already reads `remaining_hours` for the percentage, so the two columns contradict each other. With this commit, the tasks analysis report reads the `remaining_hours` field of the task, so the report and the task always show the same value. opw-6523514 task-6537664
The tasks analysis report now uses the same remaining time value shown on the task itself, including time logged on sub-tasks. This prevents conflicting numbers in project reporting and gives managers a more reliable view of task progress.
Original PR description
1. Open Project > Configuration > Settings and enable "Timesheets" 2. Create a task "Parent" with "Allocated Time" set to 02:00 and no timesheet 3. Create a sub-task of "Parent" and log 02:00 on it 4. Open Project > Reporting > Tasks Analysis and add the "Time Remaining" measure -> "Parent" shows 02:00 remaining, although the task itself shows 00:00 The report recomputes the remaining time by hand instead of reading the stored field, and leaves out the time spent on the sub-tasks. The line right below already reads `remaining_hours` for the percentage, so the two columns contradict each other. With this commit, the tasks analysis report reads the `remaining_hours` field of the task, so the report and the task always show the same value. opw-6523514 task-6537664
This update removes an unnecessary default value from an internal test method parameter. It aligns the code with best practices, reducing the risk of confusing behavior or future runtime issues without changing user-facing functionality.
Original PR description
[RUF077](https://docs.astral.sh/ruff/rules/method-receiver-default/#method-receiver-default-ruf077) specifies that method receiver parameters, such as `self` and `cls`, should not have default values. The reasoning is because these parameters are usually bound by the method binding protocol, so a default value on a receiver parameter is almost certainly a mistake and can lead to confusing behavior or runtime errors. This method seems to not reference self, and this should not cause errors, but it is best practice to not do this. runbot-[947144](https://runbot.odoo.com/odoo/error/947144)