Daily updates from Odoo
Monday, March 3, 2025
6 changes
5 changes
Enhancements to existing features
This update aligns several Odoo apps with an improved internal Record component API, allowing customization hooks to be handled in a more consistent way. It helps keep Payroll, Sign, Timesheets, Gantt, Grid, and Studio features compatible with the broader platform change without introducing major user-facing behavior changes.
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-2276015Recruitment reporting pivots now show information that better matches each report’s purpose. Business users can more easily compare applicants by stage, recruiter performance, and recruitment source without manually reconfiguring the reports.
Original PR description
This PR improves the pivot view of the `Applicant Analysis`, `Source Analysis`, and `Team Performance ` reports. The pivot view for `Source Analysis` and `Team Performance` previously displayed exactly the same information by default as the `Applicant Analysis` report. This PR improves that by making the default data of those pivot views the same as what is displayed in the graph view, while also improving the `Applicant Analysis` report. - `Applicant analysis` now has `applicant`,`hired`, and `refused` sub columns for each stage. - `Team Performance` now has the recruiters on one axis and the amount of applicants in each state (`in progress`, `hired`, etc.) on the other axis. - `Source Analysis` now has the recruitment source on one axis and the amount of applicants in each state on the other axis. task-4146657
CRM lead conversion to helpdesk tickets now aligns with stricter partner matching that relies on email rather than lead names. This reduces the chance of linking new leads to the wrong customer when generic names are reused.
Original PR description
We removed extra criteria from '_find_matching_partner' to improve partner accuracy in CRM. This PR removes some tests based on those criteria for the CrmLeadConvert2ticket wizard. Related PR - https://github.com/odoo/odoo/pull/135793 Task-3235935
The itinerary wizard now suggests addresses as users type, so field service teams no longer need to enter full addresses manually. This speeds up scheduling and reduces the chance of incorrect or inconsistent address details.
Original PR description
Before this commit: the address in the itinerary wizard did not provide suggestions when users enter an address. This required users to manually type the full address, which was time consuming and and increased the risk of error for user. After this commit: the address field now supports autocomplete, providing address suggestions as users input. This improves the user experience by making address entry faster and reducing the chances of incorrect addresses and save users time. task-4461146
1 change
Enhancements to existing features
Analytic reporting now opens with a default date filter covering the current and previous fiscal years. This helps users focus on the most relevant recent performance data without manually setting the date range each time.
Original PR description
This commit add a new default filter on the analytic reporting view, which filters data based on date >= 1st day of last fiscal year. task-4453226