Daily updates from Odoo
Navigate
Branch
Tuesday, May 3, 2022
26 changes
Enhancements to existing features
Project reporting is easier to use with clearer default measures and new filters for department-based timesheet planning and conflicting tasks. Timesheet entry labels were also clarified to help users understand what time information to provide.
Original PR description
** = timesheet_grid,project_timesheet_forecast Purpose of this PR to improve generic usage of project app. So, in this PR done following changes: - reporting > timesheets & planning analysis > graph view: display the count measure by default. - add 'my department' filter in 'timesheets & planning analysis' report's search view. - change string of time_spent field in project task create timesheet wizard. - add 'Task In Conflict' filter in 'Task Analysis' report search view. task-2742725
This adds automated coverage for inserting CRM pivot data into spreadsheets. It helps ensure the spreadsheet workflow keeps working reliably when users create reporting views from CRM data.
The Documents Spreadsheet feature has been updated to a newer spreadsheet engine version, adding a dedicated dashboard mode and improving how spreadsheet views are handled. This should support clearer dashboard-style reporting while also including configuration fixes that make the feature more reliable for future updates.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/a709ca18 [IMP] spreadsheet: introduce dashboard mode https://github.com/odoo/o-spreadsheet/commit/abe22e33 [REM] model: remove mode https://github.com/odoo/o-spreadsheet/commit/5443121f [FIX] config: update rollup path https://github.com/odoo/o-spreadsheet/commit/73e898e4 [FIX] config: Feed dedicated tsconfig.json file to jest https://github.com/odoo/o-spreadsheet/commit/b87ca1ea [FIX] config: Avoid compiling test files
This update removes redundant default settings from many app manifest files, reducing clutter without changing how the apps work. It makes the configuration easier to review and maintain, helping teams spot meaningful differences more quickly.
Original PR description
Remove most values uselessly specified because giving the same value as the default one (see _DEFAULT_MANIFEST in odoo/modules/module.py) * auto_install is Falsy by default * author is Odoo SA by default * summary & description are empty strings by default * application is False by default * test, demo, depends and data are empty lists by default This will reduce noise/inconsistencies between manifests specifications, simplify analysis of manifests content, ...
This update streamlines internal tests for the Enterprise messaging features by changing how discussion, dialog, and chat window components are loaded during testing. It prepares the codebase for upcoming messaging app changes and should reduce future development noise without affecting end users.
Original PR description
This PR prepares the ground for the one introducing the new environment in the
discuss app. Indeed, tests will now use the mainComponentRegistry in order to mount
those components. Doing so, the parameters has{Discuss/Dialog/ChatWindow} will become
obsolete. Removing those parameters now helps reducing the noise in the main PR.
task-2582313
community: https://github.com/odoo/odoo/pull/90120Access rights labels across several HR-related apps have been updated to make user roles easier to understand. Fleet also gains a new officer role with intermediate permissions, helping businesses assign responsibilities more accurately.
Original PR description
*: approvals hr_apprasaisal hr_payroll hr_referral fleet hr hr_attendance hr_holidays hr_recruitment lunch Change various access rights names to improve understandability for users. Addition of an officer role in fleet with intermediate accesses TaskID 2742855
HR teams can now launch a signing plan for multiple employees at once instead of repeating the process employee by employee. This saves time during onboarding or contract updates and makes bulk HR workflows smoother.
Original PR description
task - 2797331
Resolved issues and error corrections
Planning shifts now update more efficiently when employee leave is created, changed, or removed. This reduces delays during leave validation by avoiding unnecessary recalculations and dramatically lowering the amount of database work required.
Original PR description
Before this commit, the shifts are recomputed when a leave is added in the planned dates of those shifts and the compute of working_days_count is too costly. This method slows down the validation of a leave or the creation/suppression of a leave too. This commit improves the performance of this compute to take less time as possible to recompute the working_days_count field of those shifts impacted by a changes on a leave in their planned dates. Also, this commit checks the `vals` when a leave is updated to only recompute the `working_days_count` and the `allocated_hours` fields of shifts when the `resource_id`, `start_datetime` and `end_datetime` fields are changed. Without the fix, the query counter is equal to 395 queries for `_recompute_shifts_in_leave_periods` method and with the fix, only 5 queries are counted. Related PR: #24619
This update improves day-to-day usability across field service-related workflows by setting new helpdesk tickets to low priority by default, improving placement of the lot/serial number button, and keeping planning sample data visible when switching views. It also makes grouped timesheet grids more consistent by showing empty rows where expected.
Original PR description
* helpdesk, industry_fsm_stock, planning In helpdesk, - set low priority as default on ticket creation time - removed fa-pencil icon when sample data is enable In industry_fsm_stock, - aligned lot/SN button to bottom right corner In planning, - fixed sample data visibility on switch view task-2720976 closes: https://github.com/odoo/enterprise/pull/23884
This update fixes rental-related test failures that occurred on weekends because pickup restriction settings were not reset correctly. It also prevents potential errors caused by missing resources, improving reliability for the online rental flow.
Original PR description
Prior to this PR, company settings related to pickup restrictions for renting items were not reset properly, meaning the tours would fail systematically on week-ends. Also fixes two possible tracebacks using undefined resources.
This fixes how sales order references and narration text are shown on Colombian electronic document notes. The change prevents overly long values from causing layout issues in generated PDFs, making documents clearer and more reliable for customers and tax-related processing.
Original PR description
Currently, The value `invoice.invoice_origin` in notas 8 and 10, is creating issues on the PDF created by Carvajal when it has several SO's related, the space in the PDF designated for this value basically fits just one SO. In this commit, we add the first SO from `invoice.invoice_origin` in notas 8 and 10 and notas 3 narration has a max length of 500 characters so after the concatenation of `invoice.narration` and `invoice.invoice_origin` we trim at 500 characters. TaskID - 2679475 PR - #26306
Code cleanup and technical improvements
Several Odoo Enterprise apps now use the newer way of loading page resources such as scripts and styles. This keeps these apps compatible with the latest platform cleanup while preserving the same user experience.
Original PR description
*: documents_spreadsheet, hr_payroll, web_enterprise, web_map The loadAssets and useAssets functions have been removed in odoo/odoo#90122 to reduce the API surface of assets.js, this commit uses loadJS/loadCSS in combination with onWillStart instead where appropriate.
Miscellaneous changes
Forward-Port-Of: odoo/enterprise#26829 Forward-Port-Of: odoo/enterprise#26049
Original PR description
Forward-Port-Of: odoo/enterprise#26829 Forward-Port-Of: odoo/enterprise#26049
When an incoming call event is triggered, the voip 'user agent' will contact the backend to search for a user or partner matching the incomgin call's phone number (formatted in different ways). A 'limit: 1' was added to (presumably) increase performance, but it may interact badly with indices set on the phone number fields to increase performance - and indices on the partner table in general. Since the client code is already able to process more than one result, simply remove the lim
Original PR description
When an incoming call event is triggered, the voip 'user agent' will contact the backend to search for a user or partner matching the incomgin call's phone number (formatted in different ways). A 'limit: 1' was added to (presumably) increase performance, but it may interact badly with indices set on the phone number fields to increase performance - and indices on the partner table in general. Since the client code is already able to process more than one result, simply remove the limit. Forward-Port-Of: odoo/enterprise#26859
Make sure taxes are computed before we send anything to the customer. This is similar to what we do when the customer views the portal via portal_order_page(). task-2824272 Forward-Port-Of: odoo/enterprise#26854
Original PR description
Make sure taxes are computed before we send anything to the customer. This is similar to what we do when the customer views the portal via portal_order_page(). task-2824272 Forward-Port-Of: odoo/enterprise#26854
Steps to reproduce: -Install project, accounting and expenses -Activate analytic accounts and project budget in accounting settings -Create a new project with a budget and a corresponding analytic account -Add a budget position with the expenses account and a negative planned amount -Create an expense with the project analytic account -Check the project update of the new project in the project app -Look at budget section of the right pannel Expected behavior: The remaining column is e
Original PR description
Steps to reproduce: -Install project, accounting and expenses -Activate analytic accounts and project budget in accounting settings -Create a new project with a budget and a corresponding analytic account -Add a budget position with the expenses account and a negative planned amount -Create an expense with the project analytic account -Check the project update of the new project in the project app -Look at budget section of the right pannel Expected behavior: The remaining column is equal to the allocated - spent column Current behavior: The remaining column is equal to the allocated + spent column opw-2839017 Forward-Port-Of: odoo/enterprise#26864
Similar to what we do for invoices. task-2824272 Forward-Port-Of: odoo/enterprise#26855
Original PR description
Similar to what we do for invoices. task-2824272 Forward-Port-Of: odoo/enterprise#26855
Since https://github.com/odoo/enterprise/pull/21746 it's impossible to add a new Lines field to a view with studio because of an UserError: `Model x_model does not exist !` Steps: - Go to sales - Open a form view - Open studio - Try to add Lines field somewhere - Error It's because of this change https://github.com/odoo/enterprise/pull/21746/files#diff-c0b00b5e1675aa0ad18ab09466025112bed79bb604abde83a05549d138d6bf8dL201-R228 The custom name was used for the re
Original PR description
Since https://github.com/odoo/enterprise/pull/21746
it's impossible to add a new Lines field to a view with studio because
of an UserError: `Model x_model does not exist !`
Steps:
- Go to sales
- Open a form view
- Open studio
- Try to add Lines field somewhere
- Error
It's because of this change https://github.com/odoo/enterprise/pull/21746/files#diff-c0b00b5e1675aa0ad18ab09466025112bed79bb604abde83a05549d138d6bf8dL201-R228
The custom name was used for the relation instead of the real model name.
opw-2825413
Forward-Port-Of: odoo/enterprise#26600To find the `country_code` field (on company form) and the group `accounting_entries` (on partner form). Forward-Port-Of: odoo/enterprise#26785
Original PR description
To find the `country_code` field (on company form) and the group `accounting_entries` (on partner form). Forward-Port-Of: odoo/enterprise#26785
If the rut of the company is shorter than 8 characters, without counting the verification digit, we get a ValueError After this PR: the strip for the number is being executed starting from the reverse (from right to left instead of left to right) Same correction had been made for other document types in this one: https://github.com/odoo/enterprise/pull/22748 Forward-Port-Of: odoo/enterprise#26304
Original PR description
If the rut of the company is shorter than 8 characters, without counting the verification digit, we get a ValueError After this PR: the strip for the number is being executed starting from the reverse (from right to left instead of left to right) Same correction had been made for other document types in this one: https://github.com/odoo/enterprise/pull/22748 Forward-Port-Of: odoo/enterprise#26304
523047e110f3219a adapted account_avatax_sale to use partner_shipping_id on both account.move and sale.order. odoo/odoo@3732aea4b884eb3f moved partner_shipping_id on account.move from the sale module to the account module. This means we can now always use the partner_shipping_id, even when account_avatax_sale is not installed. Forward-Port-Of: odoo/enterprise#26794
Original PR description
523047e110f3219a adapted account_avatax_sale to use partner_shipping_id on both account.move and sale.order. odoo/odoo@3732aea4b884eb3f moved partner_shipping_id on account.move from the sale module to the account module. This means we can now always use the partner_shipping_id, even when account_avatax_sale is not installed. Forward-Port-Of: odoo/enterprise#26794
Previously, the debounce function was broken. After fixing it, some tests no longer pass and needed to be adapted. Community: https://github.com/odoo/odoo/pull/90116 Forward-Port-Of: odoo/enterprise#26797
Original PR description
Previously, the debounce function was broken. After fixing it, some tests no longer pass and needed to be adapted. Community: https://github.com/odoo/odoo/pull/90116 Forward-Port-Of: odoo/enterprise#26797
Currently, The value `invoice.invoice_origin` in notas 8 and 10, is creating issues on the PDF created by Carvajal when it has several SO's related, the space in the PDF designated for this value basically fits just one SO. In this commit, we add the first SO from `invoice.invoice_origin` in notas 8 and 10 and notas 3 narration has a max length of 500 characters so after the concatenation of `invoice.narration` and `invoice.invoice_origin` we trim at 500 characters. TaskID - 2679475 P
Original PR description
Currently, The value `invoice.invoice_origin` in notas 8 and 10, is creating issues on the PDF created by Carvajal when it has several SO's related, the space in the PDF designated for this value basically fits just one SO. In this commit, we add the first SO from `invoice.invoice_origin` in notas 8 and 10 and notas 3 narration has a max length of 500 characters so after the concatenation of `invoice.narration` and `invoice.invoice_origin` we trim at 500 characters. TaskID - 2679475 PR - #26305 Forward-Port-Of: odoo/enterprise#26806 Forward-Port-Of: odoo/enterprise#26305
This commit add day mode in task gantt view and remove format_type option from planned_date_begin and planned_date_end for form view of task. task-2836316 Forward-Port-Of: odoo/enterprise#26826 Forward-Port-Of: odoo/enterprise#26755
Original PR description
This commit add day mode in task gantt view and remove format_type option from planned_date_begin and planned_date_end for form view of task. task-2836316 Forward-Port-Of: odoo/enterprise#26826 Forward-Port-Of: odoo/enterprise#26755
When no slots are available or when the appointment is not configured, the appointment page shows a message with a picure telling that there are no availabilities for the appointment. Previously, the calendar was first shown then replaced by the message and the picture, causing a flicker. The calendar is now no more displayed if no slot is available. Task-2812306 Forward-Port-Of: odoo/enterprise#26130
Original PR description
When no slots are available or when the appointment is not configured, the appointment page shows a message with a picure telling that there are no availabilities for the appointment. Previously, the calendar was first shown then replaced by the message and the picture, causing a flicker. The calendar is now no more displayed if no slot is available. Task-2812306 Forward-Port-Of: odoo/enterprise#26130
For an imap "DTE server" we will fetch mail and set \Seen flag according to current value. But the way imaplib was used seem to possibly cause an issue on some particular mail providers. Mailing RFC* gives example of adding flags with parenthesis around flag: eg. "A003 STORE 2:4 +FLAGS (\Deleted)" but we are sending these command wihtout parenthesis (which seems to be working, but apparently not for some providers). To fix this issue, we change how we use the API to do the same thing than i
Original PR description
For an imap "DTE server" we will fetch mail and set \Seen flag according to current value. But the way imaplib was used seem to possibly cause an issue on some particular mail providers. Mailing RFC* gives example of adding flags with parenthesis around flag: eg. "A003 STORE 2:4 +FLAGS (\Deleted)" but we are sending these command wihtout parenthesis (which seems to be working, but apparently not for some providers). To fix this issue, we change how we use the API to do the same thing than in fetchmail module that is a lot more battle tested (and from logs is sending flags in parenthesis). * https://datatracker.ietf.org/doc/html/rfc3501#section-6.4.6 fixing #89305 fixing #81443 opw-2714596 Forward-Port-Of: odoo/enterprise#26467