Saturday, September 28, 2024
38 changes
Resolved issues and error corrections
This update fixes an issue that could prevent the add-to-cart notification from displaying correctly on the website shop. Customers should now get smoother feedback when adding products to their cart, reducing confusion during checkout preparation.
Original PR description
Owl doesn't accept `null` values for optional props, so we should omit the prop instead of providing a `null` value.
This fixes an error that could occur after a user was granted an exception to remove a sales lock date. Users can now create or edit invoices with dates before the former lock date without encountering a traceback, improving reliability for accounting workflows.
Original PR description
In commit d8bf86fec7b9a0a3f6e0aef2c4c124bc81bfb898 we allowed removing lock dates with an exception.
But when computing the user lock date based on (parent) company lock dates and user exceptions (`_get_user_lock_date`) we still assume that it is not possible.
This is fixed in this commit.
Reproduce traceback
1. Set Sale Lock Date to 2024/08/31
2. Remove Sale Lock Date with an exception for me forever
3. Create an invoice and try to set the invoice date to a date
before 2024/08/31This fixes an issue where the website editor button for loading product categories into mega menus did not correctly trigger category fetching. Website managers can now reliably populate shop navigation menus with categories, improving setup consistency for online stores.
Original PR description
With previous commit f354cb8794c9fd2b5183e520ce292adbe547ba4c, a new feature was introduced to be able to load categories to your mega menu however there was a bug that the button was not synced to fetching the categories Backport of https://github.com/odoo/odoo/pull/181075 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes an issue in the website shop where information used by the page was not available in the right place. It helps ensure shopping pages render reliably and prevents minor display or checkout-related disruptions for customers.
Original PR description
A variable was initialized in a subtemplate but read both in the subtemplate and outside of it. It needs to be declared outside of the subtemplate in order to be readable there.
Discount lines in sales loyalty flows no longer show an extra “Discount:” label when no taxes apply. This avoids redundant wording because the product name already identifies the discount, making sales order descriptions clearer for users.
Original PR description
Issue: - When applying a discount without taxes, a 'Discount:' label is shown in the description field, even though the product name already indicates the discount. Fix: - The 'Discount:' description is now suppressed when there are no taxes applied. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an error in automated warehouse wave processing caused by grouping items using a field that was not available in that process. It helps ensure picking batches can be created reliably without failing on invalid product category references.
Original PR description
auto_wave do a reference to `product_categ_id`. It only exists on `stock.quant` and not `stock.move.line`. 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
The cart page now respects mandatory sign-in settings by hiding express checkout for visitors who are not logged in. This prevents shoppers from bypassing required account creation and keeps the checkout flow consistent with the store's policy.
Original PR description
Issue: - When the 'Sign in/up at checkout - mandatory' option is enabled, the 'Express Checkout' button is still visible on the cart page even when the user is not signed in. This causes an inconsistency, as express checkout bypasses the mandatory creation of portal account, which should not be allowed in this mode. Fix: - Added a condition at the t-call of express checkout template to ensure that it is hidden when mandatory sign-in at checkout is activated and user is not signed in. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Creating a task from the website form no longer fails when optional company or phone details are left blank. This prevents users from seeing an error page and helps ensure submitted requests are captured reliably.
Original PR description
Currently, when a user creates a task through the webform without providing a company or phone, a traceback occurs.
Technical details:
- The issue arises when trying to access a key that doesn't exist in a dictionary.
- Example: `test = {'a': 1}`, accessing `test['b']` results in a KeyError.
Solution:
- Replaced direct dictionary access with the `get` method to handle missing keys gracefully.
task-4207886Printing POS session reports with per-employee details no longer gets stuck or disconnects. The reports are now generated one after the other, ensuring both downloads complete reliably and the print dialog closes correctly.
Original PR description
Steps: - Activate 'login with employees' in settings - Open PoS - Make sales and switch between different employees - Close session - Go to reporting, click on Session Report - Check the box "add a report per each employee" - Click on print, if the report layout wizard comes up, print the report. - Again try to print the report. Issue: Stuck on loading then the connection gets lost Cause: Try to process two async requests parallelly to download reports "session report" and "session report per employee" causing them to get stuck on loading then the connection lost FIX: Instead of trying to process two async requests parallel, we will wait for first one to complete then execute the second one. task - 4191502
Project purchase orders now include orders linked through line-level analytic distributions, so project views show a more accurate purchase count. The update also prevents purchase order project changes from overwriting existing line distributions and improves expense analytic allocation when reinvoicing customers.
Original PR description
Steps to reproduce: ------------------- 1. From the Purchase app, create a purchase order (don't link it to any project with the project field) 2. Add a line on the PO with a distribution 3. On the…
Steps to reproduce:
-------------------
1. From the Purchase app, create a purchase order (don't link it to any project with the project field)
2. Add a line on the PO with a distribution
3. On the line, add the project's analytic account
4. Go to the Project > Top bar > Purchase Orders > The new purchase order is not there
Fix:
-------------------
We should take into account the purchase orders whose lines have an analytic distribution corresponding to the project. We will do a second _read_group() call for that purpose.
- Others fixes: - Still in Purchase app, when changing the project_id of the PO, it changes the analytic distribution of all PO lines (including PO lines with non-empty distribution). To be consistent with SO and SO lines, it should only affect PO lines that do not have their analytic distribution set.
- In Expenses app, when changing the 'Customer to Reinvoice' field of an expense, it should automatically fill in the analytic distribution of the expense with the account
of the project of the sale order linked to the 'Customer to Reinvoice'. The problem is that it does not systematically change the analytic distribution if such account exists.
- When creating an expense from the top bar action, and changing the distribution of the expense (the percentage for instance), it does not get saved on saving the record.
task-4191106
version-18.0
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prKanban cards now show their configured color indicator even when the color field is not explicitly included in the view setup. This restores expected visual cues in Planning and helps users quickly distinguish cards by status or category.
Original PR description
Kanban cards can be colored (their left border) dynamically by using the root attribute `highlight_color="color"`, where `color` is the name of the integer field to use as color field. However, before this commit, this required the given `color` to be also defined in the arch, otherwise it wouldn't have been fetched, and no card would be colored. With this commit, we automatically fetch the highlight_color field. This fixes a bug in planning where colors weren't displayed. Task~4215979 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 update fixes how the website handles modern language code formats in the SEO dialog. It prevents errors when editing or generating SEO information for multilingual websites and keeps behavior consistent across Odoo versions.
Original PR description
[1] fixed the correct application of jsToPyLocale and pyToJsLocale conversions due to the new language code format used in the front-end and was forward-ported to master in [2]. The goal of this commit is to backport [2] to ensure the same API is used in both v.18 and master. [1]: https://github.com/odoo/odoo/commit/2cd53220c39f897c346b8174ac65b5dbd950b67f [2]: https://github.com/odoo/odoo/commit/b012952e511f6ec70218d2fd5ead3cb93a2afd9f task-4210172
Manufacturing order overviews now calculate operation costs more accurately when no expected duration was set. Once production starts or is completed, costs use the real recorded duration for machine and labor time, giving businesses a clearer view of actual manufacturing costs.
Original PR description
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
Product pages no longer fail when the specifications section is empty. This prevents a broken interaction on ecommerce product pages and keeps the shopping experience stable.
Original PR description
Issue: when the product specifications are empty, the `#product_accordion` exists without an `.accordion-item` which fails the `._updateAccordionActiveItem` function. follow-up of task-3987039 task-4215477 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes broken navigation arrows in website image gallery slideshows used inside page templates. Visitors can once again move through gallery images as expected, restoring the intended browsing experience.
Original PR description
Since the redesign of `s_image_gallery` in commit 9042b1cae7b630b20e0670788b7a4ed9e4c97609, the arrow anchors has been changed and no longer work in slideshows that are in page templates. To fix this issue, this commit reintroduces the previous ID. task-4215411 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix makes the point-of-sale restaurant tip screen test reliable when orders appear in a different order. It reduces false test failures, helping maintain confidence in the checkout and tipping flow without changing customer-facing behavior.
Original PR description
Fix tests checks, the test 05_tip_screen_tour.js was failing because the order of orders can vary, so we need to change the check to prevent error related to the order of the orders. rb error: 99346
The chatter search panel no longer shows a duplicate search icon above the search bar. This cleans up the interface and avoids confusion when users search messages in chatter.
Original PR description
**Current behavior before PR:** On clicking the search button on chatter. Extra search icon appears above the search bar **Desired behavior after PR is merged:** now after clicking search button on chatter extra icon is removed. task-4206791 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes a point-of-sale restaurant issue where moving an order from one table to another could leave one item behind. Staff can now transfer full table orders reliably, reducing billing mistakes and service delays.
Original PR description
Steps to reproduce : --------------------------- - Install the pos_restaurant module. - Place orders on two separate tables, e.g., Table A and Table B. - Use the action button to transfer the order from Table A to Table B. Issue : --------- The last orderline of the table from where we transfer to another table is not transfered to destination table when there is any orderline having different product which is not present in any of the orderlines of the destination table. Cause : ---------- The for loop on orderlines modifies the orderline reference during iteration, causing the loop to skip some lines because the order.lines is altered mid-iteration. Fix : ------ Intead of updating within iteration we will update all lines after completion of the iteration.
The point of sale employee sales report no longer shows duplicate sales entries in session reports, making totals clearer and more reliable. The employee sales details report was also renamed for easier identification.
Original PR description
before this commit: ============== - session sales report was displaying duplicate values. after this commit: ============== - removed duplicate entries from print session sales report - renamed the employee sales details report. task - 4143903
This fix makes invoice payment statuses update correctly when payments are created, confirmed, validated, reconciled, or rejected. Customers now see consistent portal labels such as “Processing payment,” with installment prompts hidden when a payment is already in progress.
Original PR description
Fix the status of invoices when registering a payment. Also improves the portal view depending on the invoice payment state. The following cases assume that no outstanding account is set on the bank…
Fix the status of invoices when registering a payment. Also improves the portal view depending on the invoice payment state. The following cases assume that no outstanding account is set on the bank journal Portal: - In case the invoice payment state is 'in payment', the portal should display "Processing payment", the "Next installment" section should be hidden, and a banner should appear in the popup of the payment (when pressing the "Pay Now" button). Portal list view: - Same payment state should be displayed as in the portal form view, e.g. "Processing Payment" Invoice Payment state: - If a payment is created for an invoice, then the state of the invoice is set to 'in payment' When the invoice is reconciled, and the payment is manually validated (This manual operation of validating the payment will be made automatically in another task) if the payment corresponds to a portion of the invoice amount, the invoice payment state is 'Partial' if the payment corresponds to the full invoice amount, the invoice payment state is 'Paid' If the payment is rejected, then the invoice payment state is reset If the payment is confirmed (before any reco), then the invoice payment state keeps being "in payment" task-4212954 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
The debug menu item for viewing raw record data now behaves as it did before, while keeping its updated name. This avoids exposing the option in places like list or kanban views where it was not intended, reducing confusion for users and support teams.
Original PR description
In the PR [1], the behavior of the "View Raw Record Data" debug item changed. It opened the /json route of the current view and it was also available in multi record views (list, kanban, etc.). This commit reverts this behavior change but keeps the renaming. task-4055746 [1]: https://github.com/odoo/odoo/pull/180141
The checkout address page no longer shows a sign-in prompt when sign-in or sign-up at checkout has been disabled. This keeps the checkout experience aligned with the store’s configured customer account policy and avoids confusing shoppers.
Original PR description
Issue: - When 'disabled' option is selected for Sign in/up at checkout, sign-in prompt is still showing on address page. Fix: - Updated the t-if condition to ensure that the sign-in prompt is no longer displayed when the 'disabled' option is selected. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Livechat visitors will no longer see their own country flag displayed in the conversation header after sending a message. The flag is now limited to the operator side, reducing unnecessary exposure of visitor location details and keeping the customer-facing chat interface cleaner.
Original PR description
Before this commit, when a visitor posts a message in livechat, the header was showing their country flag. Steps to reproduce: - log in as Mitchell Admin as available operator - log in as Joel Willis (portal user, on another browser context) - open a livechat as Joel and send a message => Country of joel "USA" is visible in header This happens because it was always showing `anonymous_country` when available, which is the visitor country. This commit fixes the issue by limiting the showing of the country flag to the operator of livechat conversation. Before / After  
Portal users can now fold categories in the Discuss sidebar without causing a crash. This keeps the public page experience stable by avoiding an action that only internal users are allowed to save.
Original PR description
The discuss sidebar was recently added to the public page. The state of the sidebar (folded categories) is saved for internal users. Guests and portal users do not have the rights to do this. However, it was only disabled for guests. As a result, folding a category as a portal user would lead to a crash. This PR fixes this issue.
This update improves how taxes are calculated and displayed when prices include tax, especially where rounding can affect invoice totals. It also keeps tax calculation naming consistent between accounting and point of sale, while preserving correct handling for reverse charge taxes.
Original PR description
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr