Daily updates from Odoo
Tuesday, December 24, 2024
14 changes · 18.0
Resolved issues and error corrections
Fixes a website editor issue where deleting text inside a quotes carousel could remove the whole slide and leave the carousel in a broken state. This helps website editors safely modify quote carousel blocks without causing page errors, and adds test coverage to prevent the problem from returning.
Original PR description
Steps to reproduce: - Enter website edit mode. - In the right panel, click on the "Intro" category. - Enter "quotes" in the "Search" input of the modal. - Click on one of the two "quotes carousel"…
Steps to reproduce: - Enter website edit mode. - In the right panel, click on the "Intro" category. - Enter "quotes" in the "Search" input of the modal. - Click on one of the two "quotes carousel" blocks. - After the "quotes carousel" block is inserted on the page, click on its "Blockquote". - Click the red "delete" button that appears above the "Blockquote". - Bug: The carousel item is removed, and only the arrows to move the slide are shown on the screen. If you click on one of the arrows, a traceback will occur. The exact same bug was previously fixed in commit [1], but since the modification of the "carousel quotes" snippet in commit [2], the fix no longer works. There is a system that removes the parent of a snippet that gets deleted if this parent is empty after the deletion. This allows, for example, to remove a column if its content is emptied to avoid leaving an empty column on the page. An exception to this rule was introduced by commit [1] for carousel items. Indeed, we don't want to remove a carousel item when it is empty. This exception checks if the grandparent of the deleted element is a carousel item. It worked initially because when the content of a slide was deleted, the container still remained within the carousel item. But this is no longer the case for the "quotes" carousel since commit [2], where the intermediate "container" element is no longer present. This commit also adds steps to the "carousel_content_removal" tour to prevent the issue from reappearing. [1]: https://github.com/odoo/odoo/commit/3c194faa930b0d3a537ca8b893b2c0442b5464e7 [2]: https://github.com/odoo/odoo/commit/4357ce81ed89bd389eafe3756733758736bad6cb opw-4417366 opw-4395645
This fixes a website issue where buttons linking to a section could fail to scroll to the right place when on-scroll animations were used. Visitors can now reliably navigate to linked page sections, while animated content still avoids unwanted horizontal scrolling across browsers.
Original PR description
Steps to reproduce the bug: - Go to the website edit mode. - Drag and drop a "Text - Image" block onto the page. - Drag and drop a "Media List" block at the bottom of the page. - Drag and drop a…
Steps to reproduce the bug: - Go to the website edit mode. - Drag and drop a "Text - Image" block onto the page. - Drag and drop a "Media List" block at the bottom of the page. - Drag and drop a "Text" block at the bottom of the page. - Click on the "Text" block. - In the "Text" block options, click the "Create a link to target this section" button. - Click on the "Button" inside the "Text - Image" block. - In the options, paste the "link" to the anchor copied to the clipboard into the URL input of the button. - In the "Column" options, add an "On Scroll" animation to the column. - Save the page. - Click the "Text - Image" button. - Bug: the page doesn't scroll to the "Text" block. This bug was introduced by commit [1], where the "overflow-x: hidden" CSS rule, used to prevent a horizontal scrollbar during animations caused by overflowing content on the right side of the page, was moved from the HTML element to the body element. The bug appeared because when the code triggering the scroll animation to the anchor runs after clicking the button, it checks which element is scrollable. At that moment, the body has "overflow-x: hidden," which causes its "overflow-y" to become "auto" instead of "visible" (browser behavior, see https://developer.mozilla.org/en-US/docs/Web/CSS/overflow). The body element is then considered scrollable, even though it isn't. This is why the scroll animation doesn't work. To fix this, we replace "overflow-x: hidden" with "overflow-x: clip". This is more appropriate in this context and prevents "overflow-y" from becoming "auto". We also add "display: flow-root;" in combination with "overflow: clip" because without it, "overflow: clip" alone may not be sufficient to prevent elements inside "body" from overflowing, particularly animated elements in Firefox. This creates a new formatting context, preventing unexpected overflow behavior across different browsers. [1]: https://github.com/odoo/odoo/commit/fece9cb85761e6cb3fe3642f947661464402363b opw-4393527
This update aligns the Point of Sale rescue session action with the current view naming used in Odoo. It is a minor maintenance fix that helps keep the interface configuration consistent and also adds the contributor legal agreement record.
Original PR description
… session action. Description of the issue/feature this PR addresses: 1. Usage of 'tree' in outstanding rescue session action. 2. Missing CLA for contributions. Current behavior before PR: 1. The outstanding rescue session action uses 'tree' . 2. CLA file is not included. Desired behavior after PR is merged: 1. 'list' replaces 'tree' in the outstanding rescue session action. 2. CLA file is added for future contributions. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Project updates now place manufacturing order costs in the manufacturing order section instead of grouping them under other costs. This makes project cost reporting clearer and helps users better understand where manufacturing-related expenses come from.
Original PR description
This commit's purpose is to remove the cost from the aal of manufacturing order from the 'other cost' section and put it inside the 'manufacturing order' section. This section currently contains only the MO linked to a work order. task - 4184226 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents email templates from being altered incorrectly when they contain self-closing template tags. It helps ensure standard templates, such as sales order confirmations, display and behave as intended when edited.
Original PR description
**Problem**: Previously, self-closing tags were converted after parsing with `DOMParser`. However, when parsing with the content type `"text/html"`, all self-closing tags are converted to open tags without corresponding closing tags. **Solution**: Convert self-closing tags before parsing to ensure proper handling. **Steps to reproduce**: 1. Open email templates. 2. Open a template containing self-closing tags like `t` (e.g., Sales: Order Confirmation). 3. Observe that the template is incorrect, with all self-closing tags converted to open but not closed tags. opw-4394833 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Delivery-related analytic costs are now grouped under materials in the project profitability view instead of being shown as other costs. This gives businesses a clearer and more accurate breakdown of project costs without extra manual review.
Original PR description
This commit's purpose is to put the aal generated from deliveries into the 'materials' section under the costs section in the project profitability panel. Currently, those aal are considered as random aal and put under the 'other costs' section. This does not sees very appropirate. In order to be able to differentiate aal created on the fly and the aal generated from picking, a new option is added on the already existing selection field 'category' in order to avoid a heavy search and computation on the move.line model. version 18.0 - master task - 4180276
Point of Sale payments now use the intermediary account configured on the payment method instead of the default temporary account. This helps keep accounting entries aligned with the intended payment setup and reduces reconciliation errors.
Original PR description
Before this commit, in the payment move for a normal order, the Default Temporary Account was used while it should use the payment method Intermediary Account. opw-4404557 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents restaurant point-of-sale orders from failing when a customer starts an online payment at one table, leaves it unfinished, and then starts another online payment at a different table. It keeps the payment flow stable and avoids forcing the POS into offline mode during normal restaurant operations.
Original PR description
This error occurs when a product is added to one table, and the payment screen is accessed where an online payment method is selected but the payment is not completed. Subsequently, switching to…
This error occurs when a product is added to one table, and the payment screen is accessed where an online payment method is selected but the payment is not completed. Subsequently, switching to another table and attempting to make an online payment results in the issue.
Steps to reproduce:
---
- Install ``pos_online_payment`` and ``pos_restaurant`` module
- Create a new online payment in ``Payment Method(eg: Test)``
- In Configuration/Settings, add it for a restaurant in ``Payment Method``
- Now open a session in a restaurant > Select one table > Add products > Order > Payment > Click on Test
- Click on ``+`` > Add product > Payment
- Click on Test and Validate
Traceback:
---
``Expected singleton: pos.order('p', 'o', 's', '.', 'o', 'r', 'd', 'e', 'r', '_', '2')``
Previous Behaviour:
---
When an online payment is selected for the first table but exited without completing the transaction, an RPC error occurs, causing the system to switch to offline mode. Consequently, the order encounters an error when attempting to place an order and process an online payment at the second table. At that time, it creates a new order as ID ``pos.order_2`` and updates the previous order. Due to what we get ID like ``pos.order_2``, leading to the issue.
After Commit:
---
When creating a new order for another table at [1], the ``online_account_payment_id`` is set to false. If this value is false, we will assign an empty set to ``online_account_payments_by_pm[pm_id]``.
sentry-5703437687
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prWebsite number chart snippets now resize correctly with their surrounding page layout. This helps pages remain visually consistent when editors adjust column sizes or visitors view content on different screen sizes.
Original PR description
This commit aims to make the graph in `s_numbers_charts` resize simultaneously with it's col parent. It looks like the problem came from the fact that the `s_chart` div was composed of the chart alone. Adding some other type of content makes the chart resize properly. task-4207620 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents scheduled email fetching from getting stuck when a Gmail OAuth session expires while closing an IMAP connection. Instead of stopping future mail retrieval, Odoo now handles the connection error gracefully and logs a warning so email fetching can continue normally.
Original PR description
### Description of the issue/feature this PR addresses: This error could be raised if oAuth session has expired before Odoo gets a chance to close the IMAP connection: ``` <class…
### Description of the issue/feature this PR addresses: This error could be raised if oAuth session has expired before Odoo gets a chance to close the IMAP connection: ``` <class 'imaplib.IMAP4.abort'>: \"socket error: [Errno 32] Broken pipe\" while evaluating\n'model._fetch_mails() ``` We get this error from time to time when fetching emails from a Gmail account configured with Google oAuth. ### Current behavior before PR: Fetchmail scheduled action hangs when this happens, and no email are fetched anymore (dangling connection still in worker process, until this worker is recycled? Is it possible?). ### Desired behavior after PR is merged: Catch properly the exception and have a scheduled action terminating nicely. We did this patch on v14, but we are not entirely sure it is fixing the encountered issue as this happened randomly, and very rarely. But I guess it is anyway a good thing to catch such errors to get a WARNING log, like it has been done by catching `OSError` for timeout issues. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix ensures that certain formatted content is handled correctly when the Knowledge app is installed. It prevents display or editing issues caused by incorrectly processed self-closing elements in Knowledge articles.
Original PR description
**Problem**: Similar to the issue addressed in [this commit](https://github.com/odoo/odoo/pull/191311/commits/9b159179a8d0ad85300bf31d3e1d67d7f1324b14), the `knowledge` module patches `HtmlField` and parses its content. Without this fix, self-closing tags are improperly handled when the `knowledge` module is installed. **Solution**: Apply the same fix to convert self-closing tags into open and closed tags to ensure proper handling in the `knowledge` module. opw-4394833
A new automated check covers the full process of creating manufacturing orders linked to projects. This helps ensure project profitability reports place related manufacturing costs in the correct section, reducing the risk of misleading project financials.
Original PR description
This commit's purpose is to add a test for the full flow of the creation of a BOM/MO when they are linked to a project. This is to ensure that the aal generated are generated correctly and that the project profitability is then computing them into the correct section. community pr: https://github.com/odoo/odoo/pull/186607 task - 4184226 affetced version 18.0 - master
Creating a shortcut to a document the user cannot access now produces a clearer, intentional error instead of failing due to an indirect side effect. This improves user understanding and makes the access check more reliable in the Documents app.
Original PR description
Purpose ======= When creating a shortcut to a document we can't access, an error is raised, because of side effect. This commit make the verification explicit. Task-4409538
Shop floor production for serial-numbered products now records completed quantities only on the relevant manufacturing order. This prevents unrelated backorders from incorrectly appearing as completed, improving production accuracy and traceability.
Original PR description
With this Commit : ---------------------------------- - Previously, when processing MOs on the shopfloor for SN products, registered production appeared to be done for all backorders created for SN products. - This fix ensures that registered production is only done for the relevant MO and not incorrectly for all backorders. Task-id: 4373005