Daily updates from Odoo
Monday, March 3, 2025
1 change · master
Enhancements to existing features
Timers started from tasks or helpdesk tickets now stay in sync with the Timesheets app timer, so users can start and stop work tracking from either place. Timesheets are created when the timer starts, with a stop confirmation dialog to adjust time and description, reducing duplicate steps and inconsistent records.
Original PR description
* = helpdesk_timesheet,timesheet_grid,industry_fsm{_sale} PURPOSE ======= Currently, the timer on tasks/tickets works "independently" from the timer header of the Timesheets app. For instance, if the…
* = helpdesk_timesheet,timesheet_grid,industry_fsm{_sale}
PURPOSE
=======
Currently, the timer on tasks/tickets works "independently" from the timer header
of the Timesheets app. For instance, if the timer was launched from a task,
it is not reflected in the Timesheets app. The goal of this task to make these
two behaviors consistent.
Implementation details
----------------------
### Uniform the using of timer
The main goal is to directly link the timer on the timesheet and so the
will be generated when a timer is started. Also, the timer has to be
linked to the task/ticket to be able to stop the timer in the related
task/ticket (if the timesheet is linked to task/ticket or if the timer
is launched in a task/ticket). To do that, a new mixin called
`timer.parent.mixin` will be used for the task/ticket instead of
`timer.mixin` to keep the functionalities as before and in the
`timer.timer`, 2 new fields will be added to linked the task/ticket on
the timer.
### Replace fields created to display the buttons for timer by domain
Before, some boolean fields are created to display the right button for
the timer. Now, those boolean fields have been removed and the domain of
those buttons has been updated to keep the same behavior as before even
if those fields will no longer exist.
### Align timer on tasks/tickets with timer header
Use the new mixin in `project.task` and `helpdesk.ticket` models
instead of `timer.timer` and adapt the code to be able to start
and stop the timer as before.
### Remove the `project.task.create.timesheet` and `helpdesk.ticket.create.timesheet` wizards
Since a timesheet will be automatically generated when a timer is started
those wizards are no longer necessary since it will no longer create a
timesheet since it will already exist when the user stops the timer.
### Remarks
The timer has been uniform to have the same behavior in the Timesheets app
and in `project.task` and `helpdesk.ticket` form views. More precisely,
the behavior in the Timesheets app will be kept and so, the pause button
will be removed in `project.task` and `helpdesk.ticket`. The user could
only starts and stops the timer.
Also, before the user could start a timer in `helpdesk.ticket` and at the
same time, starts a timer in `project.task` and/or in Timesheet. Now, since
the main link on the timer will always be with the timesheet, it means only
one timer can be started in the same time. That is, if the timer is launched
on a ticket, the user will can see a timer is running in the Timesheet app but
if he starts a timer on a task via the `project.task` form view or in another
timesheet in Timesheet app, the existing timer will be stopped and removed before
starting the new timer.
task-2276015