Wednesday, June 19, 2024
15 changes · saas-17.2
Resolved issues and error corrections
This fixes an error that could occur when checking access to Belgian 281.50 partner tags. The update keeps the existing protection working correctly after a platform change, preventing interruptions for users managing Belgian reporting data.
Original PR description
In 17.0, a protection was added to the 281.50 tags on the partners (commit: 09439b46cbb8b6ef2447d67e1647cbc284d0e192). The code was forward ported but the function `user_has_groups` has been removed in saas-17.2 (in https://github.com/odoo/odoo/commit/cb31d4352c741a5f8a927a65debb8e027e87df22), causing a traceback. In this commit, we rather use the `has_group` function. task-3955109
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
Forward-Port-Of: odoo/enterprise#64772 Forward-Port-Of: odoo/enterprise#62136
Original PR description
Forward-Port-Of: odoo/enterprise#64772 Forward-Port-Of: odoo/enterprise#62136
Current behavior: --- When looking at an appointment availability, slots are missing (ie: 11pm-12am) Steps to reproduce: --- 1. Install website_appointment 2. Go to Appointment 3. Select/Create a resource appointment 4. Make sure resources use the default calendar 5. In schedule, change 'To' to midnight (00:00) 6. Click on 'Go to Website' 7. Select the next day 8. Should be available until midnight 9. => slots missing Cause of the issue: --- When computing unavailabilities wi
Original PR description
Current behavior: --- When looking at an appointment availability, slots are missing (ie: 11pm-12am) Steps to reproduce: --- 1. Install website_appointment 2. Go to Appointment 3. Select/Create a…
Current behavior: --- When looking at an appointment availability, slots are missing (ie: 11pm-12am) Steps to reproduce: --- 1. Install website_appointment 2. Go to Appointment 3. Select/Create a resource appointment 4. Make sure resources use the default calendar 5. In schedule, change 'To' to midnight (00:00) 6. Click on 'Go to Website' 7. Select the next day 8. Should be available until midnight 9. => slots missing Cause of the issue: --- When computing unavailabilities with _unavailable_intervals_batch, it takes all available slots: 12am-11:59am, 12pm-11:59pm then finds intervals between slots: 11:59am-12pm 11:59pm-12am These 1-minute intervals invalidate their respective slot => the slots 11am-12pm and 11pm-12am will show as unavailable Fix: --- Don't consider intervals that are one minute or less as unavailable Community PR: https://github.com/odoo/odoo/pull/163213 opw-3861561 Forward-Port-Of: odoo/enterprise#64898 Forward-Port-Of: odoo/enterprise#61403
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#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#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#63913
Issue: Sometimes payments are created in Odoo prior to sending the CFDI, by law payments don't have to be necessarily sent to the government on the same month and can sometimes be sent up to the first 10 days of the next month. Solution: fill the 'fecha' field with the current datetime for the cfdi of the payments, Then send it. Task-3885769 Forward-Port-Of: odoo/enterprise#63488
Original PR description
Issue: Sometimes payments are created in Odoo prior to sending the CFDI, by law payments don't have to be necessarily sent to the government on the same month and can sometimes be sent up to the first 10 days of the next month. Solution: fill the 'fecha' field with the current datetime for the cfdi of the payments, Then send it. Task-3885769 Forward-Port-Of: odoo/enterprise#63488
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