Daily updates from Odoo
Wednesday, June 19, 2024
22 changes
9 changes
Resolved issues and error corrections
This fix makes Odoo's web test runner handle errors in test setup and cleanup steps correctly. Instead of freezing until a timeout, failed test preparation is now reported against the right tests, helping development teams identify issues faster and keep test runs reliable.
Original PR description
Before this PR, throwing an error in any test hook (before, after, beforeEach, etc.) would cause the error to be logged but the test would actually timeout because the runner would freeze. This was due to the runner incorrectly catching errors in hooks. This PR ensures that all these callbacks are properly catched to ensure the errors are assigned to each relevant test and do not clog up the runner's execution. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
When an image gallery is edited, the options of its selected image are displayed in the side panel. If the previous/next arrows are used to navigate between the images, the image options are not updated to match the newly selected image. This commit fixes this by explicitly selecting the reached image once the slide transition is completed. The completion detection is based on the equivalent code for the "Carousel" snippet. Steps to reproduce: - Drop an "Image Gallery" snippet into a page
Original PR description
When an image gallery is edited, the options of its selected image are displayed in the side panel. If the previous/next arrows are used to navigate between the images, the image options are not updated to match the newly selected image. This commit fixes this by explicitly selecting the reached image once the slide transition is completed. The completion detection is based on the equivalent code for the "Carousel" snippet. Steps to reproduce: - Drop an "Image Gallery" snippet into a page. - Select its first image. - Set an image option (e.g. Shape or Filter). - Click on the "Next" arrow beside the image. => The image options were not updated. task-3716863 Forward-Port-Of: odoo/odoo#168820 Forward-Port-Of: odoo/odoo#160942
**Before this PR:** When you open Emoji picker in discuss mobile view and screen size is enough small so that the categories tab overflows and shows horizontal scroll. And as it's parent div `o-mail-PickerContent-emojiPicker` doesn't have any fixed width set it's width also increases in response to the categories tab. Which will display the horizontal scroll on the whole parent div instead of the categories tab.  **After this PR:** This commit sets max-width 100% to it's `o-mail-PickerContent-emojiPicker` so, that the scrolling would only take effect on the categories tab.  **task**-[3950434](https://www.odoo.com/odoo/my-tasks/3950434?debug=&cids=2) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#166840
**Steps to reproduce:** - Install sale_project, E-Commerce module - Create a service product and put its invoicing policy as 'Based on milestones' - Go to website as Public user and try to add the product you created to the cart **Current behavior before PR:** A traceback is happening when a public user try to add a product -that has Based on milestones as invoicing policy- to the cart. This is happening because we check if the user has 'group_project_milestone' https://github.com/odoo
Original PR description
**Steps to reproduce:** - Install sale_project, E-Commerce module - Create a service product and put its invoicing policy as 'Based on milestones' - Go to website as Public user and try to add the product you created to the cart **Current behavior before PR:** A traceback is happening when a public user try to add a product -that has Based on milestones as invoicing policy- to the cart. This is happening because we check if the user has 'group_project_milestone' https://github.com/odoo/odoo/blob/17.0/addons/sale_project/models/product.py#L18 and if the user is not signed in he won't have this group. **Desired behavior after PR is merged:** The public user should be able to add this products. As we are now checking if the user is a public one and if the SUPERUSER has the 'group_project_milestone'. opw-3956165 Forward-Port-Of: odoo/odoo#169697 Forward-Port-Of: odoo/odoo#167810
This commit adds 3 missing payment method logos: 7eleven, Cashalo and Cebuana. task-3994673 | Before | After | |--------|--------| |  |  | --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forwa
Original PR description
This commit adds 3 missing payment method logos: 7eleven, Cashalo and Cebuana. task-3994673 | Before | After | |--------|--------| |  |  | --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#169647
### Steps to reproduce: - Create a storable product P with a BOM with two raw lines: - 1 unit x COMP 1 - 1 unit x COMP 2 - Create and confirm a manufacturing order for 1 unit of P - Click on the list icon of the stock move of COMP 1 and close the x2many dialog tab with cancel - Change the qty_producing of the MO to 1 and then click anywhere on the form of the MO to trigger the associated onchange ### Cause of the Issue: Clicking on the list icon of the stock.move will trigger the
Original PR description
### Steps to reproduce: - Create a storable product P with a BOM with two raw lines: - 1 unit x COMP 1 - 1 unit x COMP 2 - Create and confirm a manufacturing order for 1 unit of P - Click on the list…
### Steps to reproduce: - Create a storable product P with a BOM with two raw lines: - 1 unit x COMP 1 - 1 unit x COMP 2 - Create and confirm a manufacturing order for 1 unit of P - Click on the list icon of the stock move of COMP 1 and close the x2many dialog tab with cancel - Change the qty_producing of the MO to 1 and then click anywhere on the form of the MO to trigger the associated onchange ### Cause of the Issue: Clicking on the list icon of the stock.move will trigger the `extendRecord` method: https://github.com/odoo/odoo/blob/f8182fb625eb3e20c85388d4c342553af4fe7ab9/addons/web/static/src/model/relational_model/static_list.js#L195-L198 This trigger will then add the `move_line_ids` to the fields and active fields of the stock.move of COMP 1. Closing the x2many dialog and changing the `qty_producing` of the mo will then trigger this onchange call: https://github.com/odoo/odoo/blob/f8182fb625eb3e20c85388d4c342553af4fe7ab9/addons/mrp/models/mrp_production.py#L806-L807 This one will update the stock move values of both components. However, the stock move associated to COMP 2 was not extended and the `move_line_ids` field that record will be accessed to determine its invisible attribute: https://github.com/odoo/odoo/blob/f8182fb625eb3e20c85388d4c342553af4fe7ab9/addons/web/static/src/model/relational_model/static_list.js#L546-L547 Since the result is undefined a client error is thrown. opw-3923341 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#167217
Update the OWL lib. Release notes: https://github.com/odoo/owl/releases/tag/v2.2.10 https://github.com/odoo/owl/releases/tag/v2.2.11 These releases contain small improvements * v2.2.10 [IMP] runtime: allow using any class as a type in props validation Update reactivity.md [IMP] owl-vision: Better snippets [FIX] docs: code in example cannot run * v2.2.11 [FIX] compiler: better support for arrow function and function call [IMP] owl-vision: Autocomplete and added missing owl dir
Original PR description
Update the OWL lib. Release notes: https://github.com/odoo/owl/releases/tag/v2.2.10 https://github.com/odoo/owl/releases/tag/v2.2.11 These releases contain small improvements * v2.2.10 [IMP] runtime: allow using any class as a type in props validation Update reactivity.md [IMP] owl-vision: Better snippets [FIX] docs: code in example cannot run * v2.2.11 [FIX] compiler: better support for arrow function and function call [IMP] owl-vision: Autocomplete and added missing owl directives [IMP] index: export batched utility function [FIX] playground: correctly escape backslashes and interpolation sigils [FIX] compiler: correctly escape special characters in template literals [FIX] Typo docs [FIX] runtime: don't emit async hook warnings when cancelled/destroyed --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#169745
Add an option to restrict users from creating language on mobile self-order & kiosk mode. task - 3980908 Forward-Port-Of: odoo/odoo#168804
Original PR description
Add an option to restrict users from creating language on mobile self-order & kiosk mode. task - 3980908 Forward-Port-Of: odoo/odoo#168804
Problem --------- When the OCR was deactivated, the attachments from the mail would get deleted. Solution --------- By default, when requesting a decoder, return a function that returns False. That way, we always have a 'decoder' and attachments create an invoice. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#169861
Original PR description
Problem --------- When the OCR was deactivated, the attachments from the mail would get deleted. Solution --------- By default, when requesting a decoder, return a function that returns False. That way, we always have a 'decoder' and attachments create an invoice. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#169861
13 changes
Enhancements to existing features
This update simplifies how WhatsApp discussion sidebar tests identify elements by removing an unnecessary page structure dependency. It is a minor maintenance improvement that makes tests less fragile without changing user-facing behavior.
Original PR description
The title itself is precise enough to not depend of the tag. Community PR: https://github.com/odoo/odoo/pull/169751
Resolved issues and error corrections
This fix ensures the accounting settings page can load correctly when users work in translated languages. It removes an unnecessary dependency on visible section titles, reducing the risk of setup screens breaking because labels are translated.
Original PR description
The settings view inherits from the `account` one, and locates the block tag by both `title` and `id`, but: - Once you have the `id` you don't need the `title`. - In case of translated title, it is translated before being inherited, so the arch fails finding it.  Old PR: odoo/enterprise#56686
The demo double opt-in campaign now sends newsletter confirmation messages almost immediately instead of waiting one hour. This improves the subscriber experience by reducing delays during signup confirmation.
Original PR description
This PR update the Demo Campaign Double Opt-in's Trigger Value to 0 Hour, so that subscribers of a newsletter get a close-to instant confirmation instead of an hour later. Task-3976448
Code cleanup and technical improvements
This update aligns several Enterprise modules with a recent core platform change by using the renamed shared boolean parsing utility. It is an internal cleanup that helps keep the codebase consistent and easier to maintain, with no expected change for end users.
Original PR description
This commit is made to follow the changes made in https://github.com/odoo/odoo/pull/167387 's first commit (rename archParseBoolean into exprToBoolean and move it to string utils)
This update refreshes internal guided-tour test definitions across several Odoo apps to use the newer activation rule format. It helps keep automated testing infrastructure compatible with the platform and prepares the old configuration fields for removal, without changing business features.
Original PR description
Since https://github.com/odoo/odoo/pull/168829, the auto, edition, skip_trigger, mobile keys have been replaced by isActive. In this commit, we replace these keys with isActive so that we can then delete them from the schema of a step. task~3974087
Miscellaneous changes
Before this commit: An IoT box would always listen to the iot.channel of the first company as it did not take into account the IoT-box company field. As such, setting an IoT box on a company C2 setting a printer and report to print on this IoT and restarting it. Report will never print as the IoT listen to C1 channel After this commit: If the IoT box company is set and the IoT is restarted. It will received the correct IoT channel. So, to print IoT reports opw-3991810 Forward-Port-Of:
Original PR description
Before this commit: An IoT box would always listen to the iot.channel of the first company as it did not take into account the IoT-box company field. As such, setting an IoT box on a company C2 setting a printer and report to print on this IoT and restarting it. Report will never print as the IoT listen to C1 channel After this commit: If the IoT box company is set and the IoT is restarted. It will received the correct IoT channel. So, to print IoT reports opw-3991810 Forward-Port-Of: odoo/enterprise#64943 Forward-Port-Of: odoo/enterprise#64859
The aim of this commit is giving a fallback value when we need digits' currency and that we don't have this currency loaded in the js session. This commit is almost a backport of what we have done in this commit [1], the main difference is that we put a default value instead of dealing with the undefined value. task-3959277 [1]: https://github.com/odoo/enterprise/commit/6a3623c168f3bdf32b9530071e21c014dd19ea07 Forward-Port-Of: odoo/enterprise#64940 Forward-Port-Of: odoo/enterprise#63913
Original PR description
The aim of this commit is giving a fallback value when we need digits' currency and that we don't have this currency loaded in the js session. This commit is almost a backport of what we have done in this commit [1], the main difference is that we put a default value instead of dealing with the undefined value. task-3959277 [1]: https://github.com/odoo/enterprise/commit/6a3623c168f3bdf32b9530071e21c014dd19ea07 Forward-Port-Of: odoo/enterprise#64940 Forward-Port-Of: odoo/enterprise#63913
The "Send Support Document to DIAN" button was displayed on vendor bills even when the associated journal was not set up for it (the field "Resolución de Facturación" was not set up for that move's journal). The button is now invisible if the correct conditions are not met. task-3990920 Forward-Port-Of: odoo/enterprise#64764
Original PR description
The "Send Support Document to DIAN" button was displayed on vendor bills even when the associated journal was not set up for it (the field "Resolución de Facturación" was not set up for that move's journal). The button is now invisible if the correct conditions are not met. task-3990920 Forward-Port-Of: odoo/enterprise#64764
opw-3935664 Forward-Port-Of: odoo/enterprise#64775 Forward-Port-Of: odoo/enterprise#63998
Original PR description
opw-3935664 Forward-Port-Of: odoo/enterprise#64775 Forward-Port-Of: odoo/enterprise#63998
Bug === 1. Open Safari or Firefox 2. Open the split tool 3. We can not open the preview by clicking on the upper card of the card Technical ========= The hover effect was done with CSS trickery, so we added a new div to remove the CSS `transform` trick. Task-3863428 Forward-Port-Of: odoo/enterprise#64841 Forward-Port-Of: odoo/enterprise#61010
Original PR description
Bug === 1. Open Safari or Firefox 2. Open the split tool 3. We can not open the preview by clicking on the upper card of the card Technical ========= The hover effect was done with CSS trickery, so we added a new div to remove the CSS `transform` trick. Task-3863428 Forward-Port-Of: odoo/enterprise#64841 Forward-Port-Of: odoo/enterprise#61010
In the Discuss app, update the avatar for each WhatsApp channel category message, from a static to a dynamic one. The avatar image is fetched from the associated partner. task-3908710 Forward-Port-Of: odoo/enterprise#64640 Forward-Port-Of: odoo/enterprise#63078
Original PR description
In the Discuss app, update the avatar for each WhatsApp channel category message, from a static to a dynamic one. The avatar image is fetched from the associated partner. task-3908710 Forward-Port-Of: odoo/enterprise#64640 Forward-Port-Of: odoo/enterprise#63078
**Steps to reproduce:** - Go to list view or kanban view. - Select the document to preview in the inspector. - Clear the input value of a required field (here, Name or Workspace), and click elsewhere or press 'Enter'. **Issues:** - _**Workspace field**_ A validation error is raised when a Workspace name is cleared. However, an alert dialog is not displayed. - _**Name field**_ An alert dialog indicating a validation error is shown yet on clicking the `OK` button, the unnamed docume
Original PR description
**Steps to reproduce:** - Go to list view or kanban view. - Select the document to preview in the inspector. - Clear the input value of a required field (here, Name or Workspace), and click elsewhere…
**Steps to reproduce:**
- Go to list view or kanban view.
- Select the document to preview in the inspector.
- Clear the input value of a required field (here, Name or Workspace), and click elsewhere or press 'Enter'.
**Issues:**
- _**Workspace field**_
A validation error is raised when a Workspace name is cleared. However, an alert dialog is not displayed.
- _**Name field**_
An alert dialog indicating a validation error is shown yet on clicking the `OK` button, the unnamed document is saved as is.
Instead, the changes should be reverted.
**Causes:**
- _**Workspace field**_
The `required` attribute was not added to `folder_id` field in the view. As a result, alert dialog was not shown.
- _**Name field**_
The config mode never changes to 'edit'. Even when a user is editing an inspector field, the mode is 'readonly'.
As a result, the boolean `isInEdition` remains false and the code-block meant to be executed
on click of the confirm button of alert dialog does not execute as intended.
**Fix:**
- _**Workspace field**_
The `required` attribute is forcefully set to true for the `folder_id` field so that an empty value for workspace
is not considered to be a 'validSelection' and the user faces an alert popup.
- _**Name field**_
This PR fixes the issue by switching to edit mode whenever user changes the value of a document inspector field.
This PR also adds a testcase in `documents_kanban_tests.js` to ensure that the confirm ('OK') button works as intended.
Task: [3799280](https://www.odoo.com/web#id=3799280&menu_id=4722&cids=2&action=333&active_id=10888&model=project.task&view_type=form)
Forward-Port-Of: odoo/enterprise#64560
Forward-Port-Of: odoo/enterprise#59734Task-3924439 Forward-Port-Of: odoo/enterprise#64783 Forward-Port-Of: odoo/enterprise#64310
Original PR description
Task-3924439 Forward-Port-Of: odoo/enterprise#64783 Forward-Port-Of: odoo/enterprise#64310