Daily updates from Odoo
Navigate
Branch
Friday, August 12, 2022
24 changes
New functionality added to Odoo
Knowledge now supports smaller article items that live under parent articles and can be used to organize structured workflows such as task lists, property records, or custom pipelines. These items stay out of the left navigation, can be found through search and move dialogs, and automatically adapt when moved so article structures remain consistent.
Original PR description
Purpose ======= Allow users to create article items that once used in embedded views, can be used to manage any flow (real estate property, todo list, custom crm,...) Specifications ============ -…
Purpose
=======
Allow users to create article items that once used in embedded views,
can be used to manage any flow (real estate property, todo list, custom crm,...)
Specifications
============
- Flag them as "baby articles"
- Never show them in the left bar
- They should inherit property fields based on their parents
(see property field task when done)
- A baby article can have children. (baby or normal)
- A baby article must always have a parent.
- When rootifying a baby article, it will become a 'normal' article and
loses all its properties.
- When moving (via move to or drag and drop) an article (baby or normal)
under another article (baby or normal):
- if the parent article has baby articles, the article becomes a baby
- else: the article stays a normal article
- They can be found using searches (in advanced search, using ctrl+K) or as
potential parent using 'move' to wizard
- From the body of their parent article, baby article are opened in a modal.
Otherwise, they are opened like any other articles (only, they will never be
in side panel)
-> when /kanban and /list will be ready
Task-2898446Enhancements to existing features
Studio tests now share one simulated server across multiple test environments, better matching how several browser tabs use the same real server. This improves test reliability for multi-tab scenarios without changing the user-facing product.
Original PR description
The pyEnv used during tests is based on the mock server to provide server like api. This issue is that when creating multiple environments during tests, a new mock server is created each time. This is not realistic since in a real world scenario, multiple tabs would share a single server. In order to make pyEnv work with multiple tabs tests (e.g. multiple env tests), let's create a single mock server shared between js environment during a test. task-2053917 community: https://github.com/odoo/odoo/pull/97975
The website frontend navigation now keeps the Enterprise behavior for sending users to the app switcher instead of showing a direct app list. This keeps the experience consistent with the Enterprise interface and avoids an unnecessary duplicate menu.
Original PR description
Community counterpart commit is introducing back the fact that the "go to backend" icon in the frontend should display the app list directly. But this is not needed in enterprise as that "go to backend" button is landing on the nice enterprise app switcher.
This update reorganizes how mailbox-related conversations are handled in Odoo Enterprise Mail. It separates mailbox-specific behavior from the general conversation logic, making the code easier to maintain and reducing the risk of future issues.
Original PR description
This commit will simplify the code of Thread by properly splitting all behaviors exclusive to mail.box threads. Community: https://github.com/odoo/odoo/pull/97996
The Knowledge app now uses clearer access wording for chatter, distinguishing read access from write access. This helps align the interface with updated permission handling and reduces confusion around what users can view versus edit.
Original PR description
Chatter access have been split in hasWriteAccess and hasReadAccess. See https://github.com/odoo/odoo/pull/88531 task-2693304
Batch payment PDFs now show the company name and company bank account in the header, making the document easier to identify and verify. They also include the recipient bank account as a separate column, helping users review payment details more clearly before processing or sharing the report.
Original PR description
This commit improves the PDF by - adding the company name and its bank account in the header - adding the recipicient bank account column Task id 2928494
Online appointments without a physical location now automatically generate and include an Odoo meeting link in customer invitations. Booking pages and emails also use clearer joining instructions, reducing manual follow-up for sales teams and making it easier for attendees to join meetings.
Original PR description
Currently, when a calendar event is generated from an appointment that has no `location_id` set (which means it is handled online), the calendar event does not have `videocall_location` set by…
Currently, when a calendar event is generated from an appointment that has no
`location_id` set (which means it is handled online), the calendar event does
not have `videocall_location` set by default, so the salespersons have to
manually send a follow-up to customers on every booked meetings (to share the
URL where online meeting will take place).
This commit improves the behavior for such case, and auto-generates the meeting
URL(videocall_location) for appointments that do not have location set, so that
the URL will be included in the invitation mail being set to the attendees.
Apart from that, this commit also done below changes:
- At the time of booking an appointment, if the appointment has a
`videocall_location`, it will display the label "How to join"
with the online meeting URL.
- Change the "Meeting URL" label to "How to Join".
- Change the "https://meet.jit.si/odoo-xyz" label to
"www.mycompany.com/calendar/join_videocall/xyz".
- Adds the label "Join with Odoo Discuss" if the `base_url` is found in
`videocall_lcation`, otherwise "Join At" instead of simply showing the
meeting URL in calendar event related mail templates and moves the
meeting URL to the bottom of this label.
- To avoid a tiny calendar badge, add style `min-width: 130px`; to the
calendar badge.
- To make the code more robust and, more importantly, testable,
replace `request.session ['timezone']` with `request.session.get('timezone')`.
taskID-2821957Campaign action buttons now use shorter, clearer wording. Users will see "Add Post" instead of "Send Social Post" and "Send Push" instead of "Push Notification", making the campaign form quicker to scan and understand.
Original PR description
PURPOSE To shorten action wordings. SPECIFICATIONS The goal of this commit is to shorten the action button strings in campaign form view as follows, - from `Send Social Post` to `Add Post`. - from `Push Notification` to `Send Push`. LINKS PR #21421 Task 2653806
This update refreshes the spreadsheet engine with a cleaner menu experience, improved dashboard visuals, and more consistent spreadsheet interactions. It also fixes several issues affecting formulas, conditional formatting, scorecards, and spreadsheet editing, making business reports and dashboards easier to use and more dependable.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/6f5082c9 [IMP] spreadsheet: de-clutter cell context menu https://github.com/odoo/o-spreadsheet/commit/5a3ef4d5 [IMP]…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/6f5082c9 [IMP] spreadsheet: de-clutter cell context menu https://github.com/odoo/o-spreadsheet/commit/5a3ef4d5 [IMP] menu_registry: improve menu children https://github.com/odoo/o-spreadsheet/commit/e4eeb808 [REF] sheet: use sheet zone getter https://github.com/odoo/o-spreadsheet/commit/aa297259 [IMP] selection: CTRL+A loop https://github.com/odoo/o-spreadsheet/commit/1fa24eac [FIX] evaluation: formula cell evaluated.value as null https://github.com/odoo/o-spreadsheet/commit/44d42afb [IMP] figures: design improvements for dashboards https://github.com/odoo/o-spreadsheet/commit/cd7691c3 [IMP] menu: keep menu highlighted when submenu is opened https://github.com/odoo/o-spreadsheet/commit/39337c15 [IMP] formulas: add unit parameter to LARGE_NUMBER_FORMAT https://github.com/odoo/o-spreadsheet/commit/1dc2ac2a [FIX] tests: wrong scorecard data https://github.com/odoo/o-spreadsheet/commit/2c865979 [FIX] conditional formats: color scale breaks with error cell https://github.com/odoo/o-spreadsheet/commit/cfaee941 [FIX] composer: grid composer missing CF style https://github.com/odoo/o-spreadsheet/commit/9b10b2e2 [FIX] function: logical function "AND" traceback https://github.com/odoo/o-spreadsheet/commit/8731f3ec [IMP] side panel: prevent user text selection https://github.com/odoo/o-spreadsheet/commit/498c1d14 [FIX] scorecard: high contrast color on titles/descriptions
Resolved issues and error corrections
The list view menu no longer shows an unnecessary divider before the “Add Custom Field” option when there are no optional fields available. This makes the interface look cleaner and avoids a small visual inconsistency for users configuring fields.
Original PR description
This commit is to not display a <hr> separator between optional fields and "Add Custom Field" if there are no optional fields.
This change updates an internal performance test threshold for the Enterprise Discuss area to match related platform changes. It helps keep automated checks accurate and prevents false alarms during development, with no direct impact on users.
Original PR description
See fix with linked community PR odoo/odoo#97974 OPW-2742092 Task-2813738
This update adjusts an internal Project Enterprise test so it stays aligned with a related platform fix that can trigger one additional database query during setup. It helps keep automated performance checks stable without changing day-to-day user functionality.
Original PR description
Before this commit, the query counter fails with the fix done in odoo/odoo#97501, because this fix adds additional query if the data is not in the cache during the installation of project_enterprise module. This commit adds a query to avoid any issue in the performance because of the fix done in community. Related PR: odoo/odoo#97501 X-original-commit: d22fb024ed1003236de237c48befec10a283e493
A typo in the Sales Planning sample data was corrected to improve the quality and clarity of demo environments. This is a minor cleanup that helps users see more polished example content without changing core business behavior.
Original PR description
TaskID: 2784316
Users could see an access error when opening field service tasks in the portal if the reporting add-on was not installed. The needed delivered price information is now available in the main field service sales module, preventing that error and keeping portal access reliable.
Original PR description
Before this commit, when `industry_fsm_sale` module is installed and not
the `industry_fsm_sale_report` and the user wants to access to a task in
his portal, he will have an access error because
`delivered_price_{subtotal,tax,total}` are not defined in
`sale.order.line` model.
This commit moves those files from `industry_fsm_sale_report `in
`industry_fsm_sale` to get those files in that module.
Related PR #25280
Related task-2743512This update restores some visual behavior that stopped working after a recent list view change. Users should again see clearer drag-and-drop placement in Studio list editing, and the bank reconciliation screen should display buttons and field values correctly.
Code cleanup and technical improvements
The web enterprise upgrade boolean field was rewritten using Odoo's newer view framework. This keeps the upgrade-related interface aligned with the modern web platform, improving maintainability without changing expected business behavior.
Miscellaneous changes
Stick with version 17 of the tariff fraction catalog. opw-2871959 Forward-Port-Of: odoo/enterprise#29713
Original PR description
Stick with version 17 of the tariff fraction catalog. opw-2871959 Forward-Port-Of: odoo/enterprise#29713
In some cases, the lot of a component is defined with the producing lot To reproduce the issue: (Need quality_mrp_workorder) 1. Create two storable and tracked-by-usn products P_finished and P_compo 2. Update the quantity of P_compo: 1 x USN_COMPO 3. Create a bill of materials: - Product: P_finished - Components: 1 x P_compo - Operations: add a basic one OP 4. Add a step to OP: - Type: Register Consumed Materials - Product To Register: P_compo 5. Create and con
Original PR description
In some cases, the lot of a component is defined with the producing lot To reproduce the issue: (Need quality_mrp_workorder) 1. Create two storable and tracked-by-usn products P_finished and P_compo…
In some cases, the lot of a component is defined with the producing lot
To reproduce the issue:
(Need quality_mrp_workorder)
1. Create two storable and tracked-by-usn products P_finished and
P_compo
2. Update the quantity of P_compo: 1 x USN_COMPO
3. Create a bill of materials:
- Product: P_finished
- Components: 1 x P_compo
- Operations: add a basic one OP
4. Add a step to OP:
- Type: Register Consumed Materials
- Product To Register: P_compo
5. Create and confirm a MO with 1 x P_finished
6. Edit the MO:
- Lot/Serial Number: USN_FINISHED
7. Open the tablet view of OP
Error: The serial number for P_compo is USN_FINISHED instead of
USN_COMPO
The incorrect lot is stored in the field `lot_id` of a WO:
https://github.com/odoo/enterprise/blob/e543ab013dae6540075b2f0c2e319caa9e2a8afc/mrp_workorder/models/mrp_workorder.py#L54
As shown, the error comes from the lot defined on the QC. Step 6, when
setting the producing lot, it triggers `_compute_lot_line_id`. This
compute will define the lot of the QC with the producing lot of the MO.
However, the conditions are not restrictive enough: in case of a
consumed materials registering, we should not use the producing lot.
OPW-2948027
Forward-Port-Of: odoo/enterprise#30284
Forward-Port-Of: odoo/enterprise#30252Forward-Port-Of: odoo/enterprise#30351
Original PR description
Forward-Port-Of: odoo/enterprise#30351
It is currently impossible to modify the creation of the accounting entry lines. This commit allows at least to replace the new function action_create_account_move without altering the behavior of action_payslip_done. To avoid many differences, it is proposed this way, but it could segregate more functions. closes odoo/enterprise#16659 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com> Forward-Port-Of: odoo/enterprise#30267
Original PR description
It is currently impossible to modify the creation of the accounting entry lines. This commit allows at least to replace the new function action_create_account_move without altering the behavior of action_payslip_done. To avoid many differences, it is proposed this way, but it could segregate more functions. closes odoo/enterprise#16659 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com> Forward-Port-Of: odoo/enterprise#30267
Forward-Port-Of: odoo/enterprise#30346
Original PR description
Forward-Port-Of: odoo/enterprise#30346
New End of service calculation rule UAE 2022 Limited contracts The uae has a new end of service regime for contracts made after 2022. https://www.dmcc.ae/application/files/8616/4974/6093/End_of_Service_Benefit_EOSB_Calculation-English-V2.pdf https://www.albawaba.com/business/gratuity-uae-how-calculate-it-2022-1467001#:~:text=1%20to%203%20years%20of,basic%20salary%20as%20gratuity%20pay. Forward-Port-Of: odoo/enterprise#30327
Original PR description
New End of service calculation rule UAE 2022 Limited contracts The uae has a new end of service regime for contracts made after 2022. https://www.dmcc.ae/application/files/8616/4974/6093/End_of_Service_Benefit_EOSB_Calculation-English-V2.pdf https://www.albawaba.com/business/gratuity-uae-how-calculate-it-2022-1467001#:~:text=1%20to%203%20years%20of,basic%20salary%20as%20gratuity%20pay. Forward-Port-Of: odoo/enterprise#30327
During research for odoo/enterprise#30046 , we found out that the Documents list's selection tests on mobile didn't reflected its actual usage and behavior. This commit rewrites parts of this test to properly match the actual behavior of the documents list selection on mobile. But, in the process, it also highlighted an issue between the documents' customization and the list selection on touch devices (ie. long-touch instead of checkbox to enter in selection mode). This commit also
Original PR description
During research for odoo/enterprise#30046 , we found out that the Documents list's selection tests on mobile didn't reflected its actual usage and behavior. This commit rewrites parts of this test to properly match the actual behavior of the documents list selection on mobile. But, in the process, it also highlighted an issue between the documents' customization and the list selection on touch devices (ie. long-touch instead of checkbox to enter in selection mode). This commit also fixes it by forcing to move the mobile list selection `includes` up in the call stack and ensuring it is applied to `ListRenderer` before it will be extended. Forward-Port-Of: odoo/enterprise#30256 Forward-Port-Of: odoo/enterprise#30169
How to reproduce the bug ? TBD What is the bug ? When a customer send the HMRC VAT obligations, a response is sent. In the response, there might be a field related to the reception date. Currently, we are excepting that this field has 'received_date' as key. However, according to the documentation, the key of the field is 'received'. Because of this, in Odoo, the field is always blank. opw-2842878 Signed-off-by: Adrien Minet <admi@odoo.com> Forward-Port-Of: odoo/enterprise#28
Original PR description
How to reproduce the bug ? TBD What is the bug ? When a customer send the HMRC VAT obligations, a response is sent. In the response, there might be a field related to the reception date. Currently, we are excepting that this field has 'received_date' as key. However, according to the documentation, the key of the field is 'received'. Because of this, in Odoo, the field is always blank. opw-2842878 Signed-off-by: Adrien Minet <admi@odoo.com> Forward-Port-Of: odoo/enterprise#28883