Thursday, April 10, 2025
19 changes · master
Enhancements to existing features
The wording of rating options shown to customers has been updated in Helpdesk and Subscriptions. This makes feedback choices clearer and more consistent when users rate tickets or subscription-related interactions.
Original PR description
This PR aims to update the rating keys visible for the user. task-4614098 https://github.com/odoo/odoo/pull/201811 https://github.com/odoo/upgrade/pull/7447
The Planning app now removes a redundant "Edit" label when editing recurring shifts. This makes the screen clearer and reduces unnecessary wording for users managing schedules.
Original PR description
This commit removes the 'Edit' label from the editting of recurrency shift in planning view. This aims to remove unnecessary information and better clarity. task-id: 4485233
This change updates test coverage for field service stock workflows, helping ensure catalog section behavior continues to work as expected. It is primarily a quality improvement with limited direct impact for business users.
Live chat reporting for website helpdesk has been consolidated into a single report structure. This makes reporting easier to maintain and supports more consistent insights across channels and operators without changing the business workflow.
Original PR description
This commit merges the two existing im_livechat report models `im_livechat.report.channel` and `im_livechat.report.operator` into one model: `im_livechat.report`. The fields from the two models are merged into the new model. task-4619167
This update aligns the field service sales product catalog with recent underlying changes in Odoo. It removes duplicate internal handling and updates a renamed product filter, helping keep the catalog reliable and easier to maintain without changing day-to-day user workflows.
Original PR description
`ProductCatalogKanbanController` component extends `KanbanController` and defines a property `action` to use the action service, but `KanbanController` already has a property `actionService` to use this said service. `FSMProductCatalogKanbanController` extends `ProductCatalogKanbanController` and was using action service too, so this commit replaces `action` with `actionService` to follow change explained above. Community PR: odoo/odoo#196620
Resolved issues and error corrections
This fixes a small issue in the online rental shop that could prevent product availability information from being adjusted correctly when multiple customizations are active. It helps keep stock and rental availability messaging stable for customers without changing the shopping experience.
Original PR description
task-4531354 See also: - https://github.com/odoo/odoo/pull/195285
Miscellaneous changes
In databases migrated to Odoo 18, that has the module l10n_mx_edi_stock installed the field l10n_mx_edi_hazardous_material remains empty. This issue occurs because the CSV file (product.unspsc.code.csv) assigns the value but the records are no update As a result, customers cannot generate the Carta Porte in the l10n_mx module, encountering the following error: Error 301 (CP155): The attribute "Mercancia:MaterialPeligroso" is missing or invalid when the ClaveProdServ is declared as hazardo
Original PR description
In databases migrated to Odoo 18, that has the module l10n_mx_edi_stock installed the field l10n_mx_edi_hazardous_material remains empty. This issue occurs because the CSV file (product.unspsc.code.csv) assigns the value but the records are no update As a result, customers cannot generate the Carta Porte in the l10n_mx module, encountering the following error: Error 301 (CP155): The attribute "Mercancia:MaterialPeligroso" is missing or invalid when the ClaveProdServ is declared as hazardous. As it was mentioned here: https://github.com/odoo/upgrade/pull/7468 I modified the script to use ir_model_data to link the records and now it's on the carpet migrations of l10n_mx_edi_stock Here is a ticket with an example of the error https://www.odoo.com/odoo/project.task/4577049/action-4665/4631583 Forward-Port-Of: odoo/enterprise#82972
This update restores the required lot and serial number permissions in stock barcode test scenarios. It helps keep inventory, barcode scanning, production, subcontracting, batch picking, and expiry workflows reliably validated before release.
Original PR description
'group_production_lot' is needed for the following runbot tests to pass TestStockPickingTour.test_add_new_line_in_detailled_op TestBarcodeClientAction.test_filter_on_barcode TestInventoryAdjustmentBarcodeClientAction.test_inventory_adjustment_tracked_product_multilocation TestInventoryAdjustmentBarcodeClientAction.test_inventory_setting_count_entire_locations_on TestPickingBarcodeClientAction.test_remaining_decimal_accuracy TestPickingBarcodeClientAction.test_scan_aggregate_barcode TestPickingBarcodeClientAction.test_scrap
When the order is sent to the preparation tools, synchronization is performed twice. This is because synchronization is done in the preparation tool method and in the unsetTable method. taskId: 4664549 Forward-Port-Of: odoo/enterprise#82286
Original PR description
When the order is sent to the preparation tools, synchronization is performed twice. This is because synchronization is done in the preparation tool method and in the unsetTable method. taskId: 4664549 Forward-Port-Of: odoo/enterprise#82286
adding missing access rule (read permission to the group_purchase_user) for the test that checks it build_error-70728 Forward-Port-Of: odoo/enterprise#82753
Original PR description
adding missing access rule (read permission to the group_purchase_user) for the test that checks it build_error-70728 Forward-Port-Of: odoo/enterprise#82753
Before this fix, it was possible to add more combo products than available to the cart. Indeed, the available quantity was only checked in the combo configurator, but not in other places where the quantity could be updated (such as the product page or the cart). This fix introduces a "max quantity" concept for combo products, which is based on the available quantity of their combo items. opw-4378554 Community PR: https://github.com/odoo/odoo/pull/188860 Forward-Port-Of: odoo/enterprise
Original PR description
Before this fix, it was possible to add more combo products than available to the cart. Indeed, the available quantity was only checked in the combo configurator, but not in other places where the quantity could be updated (such as the product page or the cart). This fix introduces a "max quantity" concept for combo products, which is based on the available quantity of their combo items. opw-4378554 Community PR: https://github.com/odoo/odoo/pull/188860 Forward-Port-Of: odoo/enterprise#82373 Forward-Port-Of: odoo/enterprise#77741
1. Replace "_" with "-" for name generation. eg. "appointment_with me" to "appointment-with-me" 2. Generate a unique link. Case 1: generate "-" based link when no link exists for the appointment eg. "/schedule-a-demo". Case 2: if a link exists for the appointment -> generate random code if appointment name based short code is already used in another configuration. Task-4610207 Forward-Port-Of: odoo/enterprise#81665
Original PR description
1. Replace "_" with "-" for name generation. eg. "appointment_with me" to "appointment-with-me"
2. Generate a unique link.
Case 1: generate "-" based link when no link exists for the appointment eg. "/schedule-a-demo".
Case 2: if a link exists for the appointment -> generate random code if appointment name based short code is
already used in another configuration.
Task-4610207
Forward-Port-Of: odoo/enterprise#81665…rwriting **Issue:** The data_cleaning module contains two views, data_merge_model_views and data_cleaning_model_views, that share the same form view id. **Steps to Reproduce:** 1. Install the data_cleaning module 2. Open psql in the terminal 3. Run the following query:” select id, name, model from ir_ui_view where model ilike 'data_%' and type = 'form';” 4. Observe that data_cleaning.model is missing from the results Expected Behavior: the form view for data_cleaning.model should
Original PR description
…rwriting **Issue:** The data_cleaning module contains two views, data_merge_model_views and data_cleaning_model_views, that share the same form view id. **Steps to Reproduce:** 1. Install the…
…rwriting **Issue:** The data_cleaning module contains two views, data_merge_model_views and data_cleaning_model_views, that share the same form view id. **Steps to Reproduce:** 1. Install the data_cleaning module 2. Open psql in the terminal 3. Run the following query:” select id, name, model from ir_ui_view where model ilike 'data_%' and type = 'form';” 4. Observe that data_cleaning.model is missing from the results Expected Behavior: the form view for data_cleaning.model should be present in the database. Actual Behavior: the form view for data_cleaning.model is not found in the database. **Root Cause** The form view in data_cleaning_model_views has the same id as the one in data_merge_model_views. Because data_cleaning_model_views is loaded first (as defined in __manifest__.py), it gets overwritten by data_merge_model_views. **Fix** To prevent this issue, the form view id in data_cleaning_model_views has been renamed to a unique and more appropriate identifier. Opw-4517418 Forward-Port-Of: odoo/enterprise#80594
Forward-Port-Of: odoo/enterprise#82948
Original PR description
Forward-Port-Of: odoo/enterprise#82948
Vendor bills and purchase orders should always be negative on a budget with type `both`, as they are expenses. - Create a budget with type `both` - Create a sales invoice and several purchase orders and vendor bills - The budget report's purchase order amounts are positive and added up. As soon as they are billed they become negative. Task [link](https://www.odoo.com/odoo/project/967/tasks/4568067) opw-4568067 Forward-Port-Of: odoo/enterprise#83074 Forward-Port-Of: odoo/enterprise#
Original PR description
Vendor bills and purchase orders should always be negative on a budget with type `both`, as they are expenses. - Create a budget with type `both` - Create a sales invoice and several purchase orders and vendor bills - The budget report's purchase order amounts are positive and added up. As soon as they are billed they become negative. Task [link](https://www.odoo.com/odoo/project/967/tasks/4568067) opw-4568067 Forward-Port-Of: odoo/enterprise#83074 Forward-Port-Of: odoo/enterprise#81356
**before:**  **after:**  Forward-Port-Of: odoo/enterprise#82494
Original PR description
**before:**  **after:**  Forward-Port-Of: odoo/enterprise#82494
Before this commit, the TestAustraliaTparReport.test_tpar failed in a single app context with the l10n_au_reports because the "accountant" module is not installed and the payment state will never be "in_payment". The commit evaluate the payment state as "paid" instead if the "accountant" module is not installed. [Runbot Error Build](https://runbot.odoo.com/odoo/error/134666) Forward-Port-Of: odoo/enterprise#81693
Original PR description
Before this commit, the TestAustraliaTparReport.test_tpar failed in a single app context with the l10n_au_reports because the "accountant" module is not installed and the payment state will never be "in_payment". The commit evaluate the payment state as "paid" instead if the "accountant" module is not installed. [Runbot Error Build](https://runbot.odoo.com/odoo/error/134666) Forward-Port-Of: odoo/enterprise#81693
In this commit: === - Introduced a timing filter in the preparation display to filter orders based on their scheduled time. - Added options to view All, Today, Tomorrow, and Next Days orders for better order management. related-https://github.com/odoo/odoo/pull/196122 task-4523422 Forward-Port-Of: odoo/enterprise#83062 Forward-Port-Of: odoo/enterprise#78345
Original PR description
In this commit: === - Introduced a timing filter in the preparation display to filter orders based on their scheduled time. - Added options to view All, Today, Tomorrow, and Next Days orders for better order management. related-https://github.com/odoo/odoo/pull/196122 task-4523422 Forward-Port-Of: odoo/enterprise#83062 Forward-Port-Of: odoo/enterprise#78345
Implemented a communication bridge to enable customer display support on Android PoS devices with external screens. This allows the frontend web application to control content displayed on the secondary screen. See https://github.com/odoo/mobile/pull/252 See https://github.com/odoo/mobile/pull/254 task-4456187 Forward-Port-Of: odoo/enterprise#83085 Forward-Port-Of: odoo/enterprise#82055
Original PR description
Implemented a communication bridge to enable customer display support on Android PoS devices with external screens. This allows the frontend web application to control content displayed on the secondary screen. See https://github.com/odoo/mobile/pull/252 See https://github.com/odoo/mobile/pull/254 task-4456187 Forward-Port-Of: odoo/enterprise#83085 Forward-Port-Of: odoo/enterprise#82055