Daily updates from Odoo
Thursday, March 28, 2024
20 changes · saas-17.2
Resolved issues and error corrections
The properties field type selector now displays correctly after recent dropdown changes. Popovers no longer appear hidden behind other elements, and icons/images keep the intended size, making property editing clearer for users.
Original PR description
In [1], dropdowns were updated and it impacted the properties field edition: - z-index of the popover opened for the dropdown of a property field type was lower than the element it was opened for, resulting in part of the popover being hidden. - img style (dimensions) was not applied as the dropdown list is now a popover (sibling instead of child), resulting in bigger images. This commit fixes the issue by adding a class on the field type selection popover. [1]: https://github.com/odoo/odoo/commit/7b7a2613901de20791d111a8efc8e98c226f39ad task-3834506
This update fixes documentation links across Odoo so they point to the correct saas-17.2 documentation. Users and administrators will be directed to guidance that matches their current version, reducing confusion from outdated or mismatched help pages.
Original PR description
See also: - https://github.com/odoo/enterprise/pull/59607
Miscellaneous changes
Before this commit sol field wasn't editable when user don't have any sales access and it was editable for timesheet page and project form view. This commit make SOL field in task form editable to be consistant with project form and timesheet page of tast form. task-3764793 Forward-Port-Of: odoo/odoo#159055 Forward-Port-Of: odoo/odoo#155339
Original PR description
Before this commit sol field wasn't editable when user don't have any sales access and it was editable for timesheet page and project form view. This commit make SOL field in task form editable to be consistant with project form and timesheet page of tast form. task-3764793 Forward-Port-Of: odoo/odoo#159055 Forward-Port-Of: odoo/odoo#155339
Before this commit: =================== In coins/bills pop pup, if user adds some coin and removes quantity from any of the fields (blank space) then it's showing `NAN` and not calculating the other inputted value which is completely annoying. After this commit: ================== If user removes quantity from any of the fields (blank space) then the input will count `0` in the backend and calculate accordingly. task - 3728728 Forward-Port-Of: odoo/odoo#153770
Original PR description
Before this commit: =================== In coins/bills pop pup, if user adds some coin and removes quantity from any of the fields (blank space) then it's showing `NAN` and not calculating the other inputted value which is completely annoying. After this commit: ================== If user removes quantity from any of the fields (blank space) then the input will count `0` in the backend and calculate accordingly. task - 3728728 Forward-Port-Of: odoo/odoo#153770
Fix the property mobile display: - Set the popup in fullscreen. - The draggable feature is disabled. - Replacing the move up/move down property arrows in the popup by a back arrow so that the fullscreen popup can be closed. - Removing the min-width on the property popover to prevent the popup from going out of the screen. - Edit button is now always visible as hovering on it is not possible on mobile. Task-3635554 --- I confirm I have signed the CLA and read the PR guidelines at
Original PR description
Fix the property mobile display: - Set the popup in fullscreen. - The draggable feature is disabled. - Replacing the move up/move down property arrows in the popup by a back arrow so that the fullscreen popup can be closed. - Removing the min-width on the property popover to prevent the popup from going out of the screen. - Edit button is now always visible as hovering on it is not possible on mobile. Task-3635554 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#156886
In c983f8a5 we updated the `test_survey_invite_action` test to create surveys in batch instead of one by one. This is problematic because `session_code` (given by utility method) must be unique for all surveys. Task-3829536 Forward-Port-Of: odoo/odoo#159295
Original PR description
In c983f8a5 we updated the `test_survey_invite_action` test to create surveys in batch instead of one by one. This is problematic because `session_code` (given by utility method) must be unique for all surveys. Task-3829536 Forward-Port-Of: odoo/odoo#159295
After the fw-port of the fix in [1], it seems some references had changed, breaking the translations again. This commit fixes that. [1] 9d2f7f312c5d699b937bd5546085fc151a149a8f --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#158557
Original PR description
After the fw-port of the fix in [1], it seems some references had changed, breaking the translations again. This commit fixes that. [1] 9d2f7f312c5d699b937bd5546085fc151a149a8f --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#158557
Issue: When using the Fullscreen mode of slides for articles we do run first the website animations before loading the slide, which will make the content to stay invisible since we will never actually perform the animation. Steps to reproduce: 1. Create a new course with an article content. 2. Add any block (text, image). 3. Add an animation to this piece of block. 4. Go to Fullscreen mode. Solution: We could manually instantiate and attach the WebsiteAnimate widget to the #wrapwr
Original PR description
Issue: When using the Fullscreen mode of slides for articles we do run first the website animations before loading the slide, which will make the content to stay invisible since we will never actually perform the animation. Steps to reproduce: 1. Create a new course with an article content. 2. Add any block (text, image). 3. Add an animation to this piece of block. 4. Go to Fullscreen mode. Solution: We could manually instantiate and attach the WebsiteAnimate widget to the #wrapwrap element to ensure animations are properly initialized and applied after the slide has loaded. opw-3757919 Forward-Port-Of: odoo/odoo#159032 Forward-Port-Of: odoo/odoo#155780
### Steps to reproduce: - Install **Restaurant** app. - Go to **Point of Sale** app and open a new **Restaurant** session. - Add items to the order. - Click on the **Bill** button, the receipt window appears. - Click on the **Print** button, the print window appears. Cancel it - U don't have to print it or save it-. - Close the receipt window. - Add another item to the order, the older items are removed -the order is cleared-. ### Investigation: - When the **Print** button is clicked
Original PR description
### Steps to reproduce: - Install **Restaurant** app. - Go to **Point of Sale** app and open a new **Restaurant** session. - Add items to the order. - Click on the **Bill** button, the receipt window…
### Steps to reproduce: - Install **Restaurant** app. - Go to **Point of Sale** app and open a new **Restaurant** session. - Add items to the order. - Click on the **Bill** button, the receipt window appears. - Click on the **Print** button, the print window appears. Cancel it - U don't have to print it or save it-. - Close the receipt window. - Add another item to the order, the older items are removed -the order is cleared-. ### Investigation: - When the **Print** button is clicked in the Bill Screen, `print()` method is triggered https://github.com/odoo/odoo/blob/c3fe6dfd3c56ae8058d0eb688680bdc627ee611a/addons/pos_restaurant/static/src/app/bill_screen/bill_screen.js#L16-L19 - which do two actions simultaneously: - calls the `printReceipt()` method https://github.com/odoo/odoo/blob/c3fe6dfd3c56ae8058d0eb688680bdc627ee611a/addons/pos_restaurant/static/src/app/bill_screen/bill_screen.js#L17 - set the order.`_printed` to `false` https://github.com/odoo/odoo/blob/c3fe6dfd3c56ae8058d0eb688680bdc627ee611a/addons/pos_restaurant/static/src/app/bill_screen/bill_screen.js#L18 _NOW order.`_printed` IS FALSE._ - Inside the `printReceipt()` method, we reach this line https://github.com/odoo/odoo/blob/c3fe6dfd3c56ae8058d0eb688680bdc627ee611a/addons/point_of_sale/static/src/app/store/pos_store.js#L1793 which set the order.`_printed` to True. _NOW order.`_printed` IS TRUE_. - When a new product is added to the order, this if clause https://github.com/odoo/odoo/blob/c3fe6dfd3c56ae8058d0eb688680bdc627ee611a/addons/point_of_sale/static/src/app/store/models.js#L1871-L1875 is activated given that the order.`_printed` is true although it should have been `false`! opw-3796605 Forward-Port-Of: odoo/odoo#158516
[This commit] fixed an issue with the menu cache. Unfortunately, during the forward port, we missed updating the cache key according to what has been done in [this other commit]. This commit updates the cache key and improves the test. Steps to reproduce the bug fixed by this commit: - Render a website without a record URL in the menu (to fill the cache) - Edit the website's menu - Add a link to a product page (e.g., customizable-desk) - Add a link to another product (e.g., chair-floor-pr
Original PR description
[This commit] fixed an issue with the menu cache. Unfortunately, during the forward port, we missed updating the cache key according to what has been done in [this other commit]. This commit updates…
[This commit] fixed an issue with the menu cache. Unfortunately, during the forward port, we missed updating the cache key according to what has been done in [this other commit]. This commit updates the cache key and improves the test. Steps to reproduce the bug fixed by this commit: - Render a website without a record URL in the menu (to fill the cache) - Edit the website's menu - Add a link to a product page (e.g., customizable-desk) - Add a link to another product (e.g., chair-floor-protection) - Save the menu - Click on the menu link to go to customizable-desk => At this point, the active menu element is correct - Click on the menu link to go to chair-floor-protection => The active menu element does not update This issue does not occur if there is a record like URL in the menu before the first render. [This commit]: https://github.com/odoo/odoo/commit/970c173530e5523d0e3242ad84dae6fe5e332d68 [this other commit]:https://github.com/odoo/odoo/commit/595aa248433246959a5fa9288e477091701c6a35 opw-3694651 opw-3750925 opw-3781668 Forward-Port-Of: odoo/odoo#159429
Avoid redirect to forum/<name>/question/<post> that will rediret in all case to /forum/<name>/<post>. Forward-Port-Of: odoo/odoo#158148
Original PR description
Avoid redirect to forum/<name>/question/<post> that will rediret in all case to /forum/<name>/<post>. Forward-Port-Of: odoo/odoo#158148
Before this commit ================== Unable to activate the industry from the form view in the industry section. Additionally, the button in the form for upgrading would be called the button_immediate_upgrade method, resulting in errors. After this commit ================= Activation of the industry from the form view in the industry section is now possible. Furthermore, the issue with upgrading the industry from the form view has been resolved. task-3775729 Forward-Port-Of: odoo/od
Original PR description
Before this commit ================== Unable to activate the industry from the form view in the industry section. Additionally, the button in the form for upgrading would be called the button_immediate_upgrade method, resulting in errors. After this commit ================= Activation of the industry from the form view in the industry section is now possible. Furthermore, the issue with upgrading the industry from the form view has been resolved. task-3775729 Forward-Port-Of: odoo/odoo#157008
## Issue: - When adding opportunity/lead to a contact using Studio and attempt to add a line, we encounter the following error:"TypeError: 'NewId' object is not iterable." ## Steps To Reproduce: - In a contact form open Studio and add a O2M field Customer (Lead/Opportunity) - Try to add a line - Notice Traceback Error "TypeError: 'NewId' object is not iterable" ## Solution: - The issue arises in the search domain of `return_if_relevant` , exactly in ("partner_id", "child_of", lead.pa
Original PR description
## Issue: - When adding opportunity/lead to a contact using Studio and attempt to add a line, we encounter the following error:"TypeError: 'NewId' object is not iterable." ## Steps To Reproduce: - In…
## Issue:
- When adding opportunity/lead to a contact using Studio and attempt to add a line, we encounter the following error:"TypeError: 'NewId' object is not iterable."
## Steps To Reproduce:
- In a contact form open Studio and add a O2M field Customer (Lead/Opportunity)
- Try to add a line
- Notice Traceback Error "TypeError: 'NewId' object is not iterable"
## Solution:
- The issue arises in the search domain of `return_if_relevant` , exactly in ("partner_id", "child_of", lead.partner_id.commercial_partner_id.id) where the type of `lead.partner_id.commercial_partner_id.id` is NewId since the partner is being edited to add a task. This action triggers the `parse` and `to_ids` methods with a value type of NewId. thus the error.
- The operator child_of expects a list of IDs, and the ids property refer to the record's origin ids. to resolve this, replace `commercial_partner_id.id` with `commercial_partner_id.ids`.
opw-3760372
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#159296Since this commit [1], the two searchbar snippets are broken. The search bar input seems invisible because it shares the same color as the default snippet background and has no border. This style matches the search inputs used in apps (like the "/shop" search bar), which isn't affected by the "Input fields" settings in the "Theme" tab. To resolve this issue, this commit introduces a new option to choose between the "light" style (similar to "/shop" search bars) and the "default input style
Original PR description
Since this commit [1], the two searchbar snippets are broken. The search bar input seems invisible because it shares the same color as the default snippet background and has no border. This style…
Since this commit [1], the two searchbar snippets are broken. The search bar input seems invisible because it shares the same color as the default snippet background and has no border. This style matches the search inputs used in apps (like the "/shop" search bar), which isn't affected by the "Input fields" settings in the "Theme" tab. To resolve this issue, this commit introduces a new option to choose between the "light" style (similar to "/shop" search bars) and the "default input style" for the 2 "Search" snippets. The "default input style" is automatically applied when the "Search" snippet (excluding saved snippets) is dropped to address the issue caused by the light-on-light color scheme. Steps to Reproduce the Issue: - While in Website edit mode, drag and drop a "Search" snippet onto the page. - Bug: The input appears invisible due to the lack of a border and a background color identical to the snippet's section color. [1]: https://github.com/odoo/odoo/commit/6b1d11a60d8e70b33c63da860bb81b015ce5ea20 task-3662985 Forward-Port-Of: odoo/odoo#154435
### [[FIX] website_slides: Stop sending completion mail on all slides removal](https://github.com/odoo/odoo/pull/153178/commits/f74fdbe8bb9a20d82caad5b78ec3292c34124fad) Construct deciding on whetheres an attendee should receive 'complete' mail, contains a condition which checks if the attendee has: number_completed_slides >= number of all slides This however falls into a corner case when there is no slides at all and computation gets triggered (which got introduced with commit [1] ).
Original PR description
### [[FIX] website_slides: Stop sending completion mail on all slides removal](https://github.com/odoo/odoo/pull/153178/commits/f74fdbe8bb9a20d82caad5b78ec3292c34124fad) Construct deciding on…
### [[FIX] website_slides: Stop sending completion mail on all slides removal](https://github.com/odoo/odoo/pull/153178/commits/f74fdbe8bb9a20d82caad5b78ec3292c34124fad) Construct deciding on whetheres an attendee should receive 'complete' mail, contains a condition which checks if the attendee has: number_completed_slides >= number of all slides This however falls into a corner case when there is no slides at all and computation gets triggered (which got introduced with commit [1] ). ### [This Commit Change] This commit introduces an additional check on the total number of slides in a channel. Consequently, records without any slides in the related channel will no longer send completion mail notification. ### [Reproduce] - Install website_slides - Create a new eLearning course with some content but do not publish it. - Add attendees. - Delete all the content. - BUG: emails about finishing the course got sent (Settings/Technical/Emails) ### [Why this commit modifies existing test] The test introduced with commit [2] checks if a specific template is used in email generation, requiring email generation to occur as a prerequisite. Originally (before [This Commit Change]), it relied on the default behavior that considered an attendee a completer even without any published slides, thus triggering an email. However, after this commit, with a course containing zero published slides, completion cannot occur, and thus, no emails are sent. For this reason slight alteration of the test setup is required allowing for the emails to get sent and in effect the test to perform its role. ### [References] [1] https://github.com/odoo/odoo/commit/3efa80847c4631febefc770b79bb786953a05b36 [2] https://github.com/odoo/odoo/commit/9a0231d5c3fa25f4ec63303cfc7eb8e2bc8ff9e1 opw-3703987 Forward-Port-Of: odoo/odoo#153178
*: website_sale This is a follow-up of [1], which missed some occurrence of the same issue that it fixed. E.g. - Add a delay to the "write" of the event model - Go to /event/<event_id>/community - Enter edit mode - Click on the page - Enable the room creation option => The page reloads but nothing seems to have been done... it is actually *being* done: the page reloaded too soon. Note: this commit also marks some other occurrences which are not buggy but might be in the future
Original PR description
*: website_sale This is a follow-up of [1], which missed some occurrence of the same issue that it fixed. E.g. - Add a delay to the "write" of the event model - Go to /event/<event_id>/community - Enter edit mode - Click on the page - Enable the room creation option => The page reloads but nothing seems to have been done... it is actually *being* done: the page reloaded too soon. Note: this commit also marks some other occurrences which are not buggy but might be in the future if not properly changed. To be adapted in the master forward-port. [1]: https://github.com/odoo/odoo/commit/556ae457b02e9c077d09fa9c3f9f1e6c6e26b345 Forward-Port-Of: odoo/odoo#159478 Forward-Port-Of: odoo/odoo#159316
## Description On a database with heavy activity, it is possible for the payload size we pass for the `NOTIFY` query on the bus to be larger than what PostgreSQL allows by default, 8000 B. This limit is defined as [src1](https://github.com/postgres/postgres/blob/6686e9676c8faff4ee04c1574e117ae38f117efa/src/backend/commands/async.c#L158-L166) and is used to compare the size of the payload before processing [src2](https://github.com/postgres/postgres/blob/6686e9676c8faff4ee04c1574e117ae38f117efa/
Original PR description
## Description On a database with heavy activity, it is possible for the payload size we pass for the `NOTIFY` query on the bus to be larger than what PostgreSQL allows by default, 8000 B. This limit…
## Description On a database with heavy activity, it is possible for the payload size we pass for the `NOTIFY` query on the bus to be larger than what PostgreSQL allows by default, 8000 B. This limit is defined as [src1](https://github.com/postgres/postgres/blob/6686e9676c8faff4ee04c1574e117ae38f117efa/src/backend/commands/async.c#L158-L166) and is used to compare the size of the payload before processing [src2](https://github.com/postgres/postgres/blob/6686e9676c8faff4ee04c1574e117ae38f117efa/src/backend/commands/async.c#L654-L657) ## Fix - Binary split the payload into multiple chunks if it's exceeding the above-mentioned limit. The unit of splitting is a channel, so if the content of one channel itself is larger than said limit, it is not handled, but shouldn't occur under normal circumstances. - Introduce also a new ENV variable `ODOO_NOTIFY_PAYLOAD_MAX_LENGTH` to allow tweaking of the limit if they are running a handrolled custom PostgreSQL cluster. ## Reference opw-3650618 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159469 Forward-Port-Of: odoo/odoo#154463
Description of the issue/feature this PR addresses: Avoid ugly URL if no variant on your eCommerce. Current behavior before PR: Product URL are like /shop/product-1#attr= Desired behavior after PR is merged: Product URL are like /shop/product-1 when no attributes --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159474
Original PR description
Description of the issue/feature this PR addresses: Avoid ugly URL if no variant on your eCommerce. Current behavior before PR: Product URL are like /shop/product-1#attr= Desired behavior after PR is merged: Product URL are like /shop/product-1 when no attributes --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159474
Wild try to avoid failures on runbot builds (not reproducible locally). * simplify and split tour steps * correctly specify check steps as isCheck: true * make sure python setup is deterministic * batch template creation to avoid creation of dummy archived variant * target values for the variant to archive instead of its number in the list of variants runbot build error 25046 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-P
Original PR description
Wild try to avoid failures on runbot builds (not reproducible locally). * simplify and split tour steps * correctly specify check steps as isCheck: true * make sure python setup is deterministic * batch template creation to avoid creation of dummy archived variant * target values for the variant to archive instead of its number in the list of variants runbot build error 25046 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159270
Steps to reproduce: - Remove all permissions to write/create/delete a view for the user "demo" - Open a view form with "demo" user Actual result: - View code is displayed in plain text and with formatting  Expected result: - View code is displayed with formatting only - You can't edit the view or the translations opw-3776073 --- I confirm I have signed the CLA and read the PR
Original PR description
Steps to reproduce: - Remove all permissions to write/create/delete a view for the user "demo" - Open a view form with "demo" user Actual result: - View code is displayed in plain text and with formatting  Expected result: - View code is displayed with formatting only - You can't edit the view or the translations opw-3776073 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159523 Forward-Port-Of: odoo/odoo#159216