Daily updates from Odoo
Friday, January 31, 2025
24 changes
1 change
Resolved issues and error corrections
The spreadsheet component was updated to a newer version with fixes for number parsing and row resizing. This helps users in locales that use dots as thousand separators avoid incorrect values, and improves spreadsheet behavior when automatically resizing rows.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/0bffee921 [REL] 17.2.34 Task: 0 https://github.com/odoo/o-spreadsheet/commit/0cb28d1e8 [FIX] locale: wrong parsing with "." thousand separator Task: 4525746 https://github.com/odoo/o-spreadsheet/commit/230ca8ae2 [FIX] ui_sheet: batch resize commands in `AUTORESIZE_ROWS` Task: 4504918 Co-authored-by: Anthony Hendrickx (anhe) <anhe@odoo.com> Co-authored-by: Alexis Lacroix (laa) <laa@odoo.com> Co-authored-by: Lucas Lefèvre (lul) <lul@odoo.com> Co-authored-by: Dhrutik Patel (dhrp) <dhrp@odoo.com> Co-authored-by: Adrien Minne (adrm) <adrm@odoo.com> Co-authored-by: Mehdi Rachico (mera) <mera@odoo.com> Co-authored-by: Florian Damhaut (flda) <flda@odoo.com> Co-authored-by: Rémi Rahir (rar) <rar@odoo.com> Co-authored-by: Pierre Rousseau (pro) <pro@odoo.com> Co-authored-by: Vincent Schippefilt (vsc) <vsc@odoo.com>
3 changes
Resolved issues and error corrections
The WhatsApp Calendar test setup now includes a default phone number for the admin contact. This prevents test failures when demo data is not installed, helping keep quality checks reliable across environments.
Original PR description
Problem: When test cases run without demo data, the admin's phone number is not set, causing `_find_value_from_field_path` to return `''` while creating a WhatsApp message record. This is compared with `False` in the test, leading to a failure. Solution: Set a default phone number for the admin partner in the test setup to ensure consistent behavior regardless of demo data availability.
Fixed an issue where entering an on-hand quantity for a lot-tracked product without specifying a lot or serial number would not update inventory. This helps users keep stock levels accurate when creating inventory lines from barcode-related flows.
Original PR description
### Steps to reproduce: - Create a storable product tracked by lot/serial - Click on "On Hand" - Create a new line with 10 "On Hand Quantity" WITHOUT lot/serial - Go back to the product: The "On…
### Steps to reproduce: - Create a storable product tracked by lot/serial - Click on "On Hand" - Create a new line with 10 "On Hand Quantity" WITHOUT lot/serial - Go back to the product: The "On Hand" quantity is still at 0. - Click back to the "On Hand": the quantity of the line is back to 0. ### Cause of the issue: When a new line is created and the "On Hand Quantity" is edited from the `view_stock_quant_tree` view, we actually performs a create of the stock.quant followed by a write on the `inventory_quantity_auto_apply`. At this point the 'quantity' field of the new quant is not set and the `action_apply_inventory` of the `inventory_quantity_auto_apply` is expected to create and validate a move line in order to update our quant quantities here: https://github.com/odoo/odoo/blob/e041e890b91e5bc515e1827683f073781788f253/addons/stock/models/stock_quant.py#L230-L235 However, this steps will never be performed as we return the call before the `_apply_invetory` because our quant is set without lots: https://github.com/odoo/odoo/blob/e041e890b91e5bc515e1827683f073781788f253/addons/stock/models/stock_quant.py#L447-L449 https://github.com/odoo/odoo/blob/e041e890b91e5bc515e1827683f073781788f253/addons/stock/models/stock_quant.py#L465-L477 ### Master Fix: We remove the wizzard. opw-4428050
This fixes the sales spreadsheet integration so it continues to work after recent spreadsheet platform changes. Business users should see field highlighting and synchronization behave as expected when working with sales-related spreadsheets.
Original PR description
See: - https://github.com/odoo/odoo/pull/195935 - https://github.com/odoo/o-spreadsheet/commit/7c179b457383fff716156acc216ca34999eaa85d
20 changes
Resolved issues and error corrections
Event proposal forms now exclude tags that are meant to stay hidden on the public website. This keeps the tag list cleaner and helps visitors choose only relevant, intended options.
Original PR description
Colorless tags are always hidden in the frontend interface, this allows to manage them in backend without showing them. Since there's no filter on the `websiteEventTrackProposalFormTags` widget, those tags were still selectable from the website, resulting in the following issues: - Adding useless noise in the selection. - Letting users select tags that are not intended to be selected. - Users could also wrongly select a tag instead of the intended one.
This update makes several automated user journeys more dependable by adding checks that keep each test on the intended path. It reduces inconsistent test results across website, events, CRM, and point of sale areas, helping teams validate changes with more confidence.
Original PR description
In this commit, we fix multiple tours on step that can cause non deterministic behaviors by adding additionnal steps to ensure tour is well on the way to taking the right path. 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
Point of Sale now keeps its order tracking sequence from resetting when the browser is refreshed during the same device session. This reduces the risk of duplicate tracking numbers and helps staff avoid confusion when managing new orders.
Original PR description
Before this commit, refreshing the browser and creating a new order could yield a duplicate tracking number, causing confusion. This commit addresses the issue by preventing the sequence from resetting within the same session on a single device. opw-4501048 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Settling an unconfirmed sales quotation through Point of Sale now correctly updates the delivered quantity on the quotation. This keeps sales records accurate even when the quotation was not confirmed before payment in the POS.
Original PR description
When settling a quotation (unconfirmed sale order) from the POS, the delivered quantity was not updated in the quotation. Steps to reproduce: ------------------- * Make a sale order but don't confirm it * Go to the POS and settle the quotation > Observation: The delivered quantity is not updated in the quotation Why the fix: ------------ If the quotation was not confirmed no move lines were created, so the `has_valued_moves` was False and no move lines were created for the PoS order. And because the pos order has no move lines the quotation was not updated with the delivered quantity. opw-4479862
This fixes an internal test validation issue so JavaScript test failures are detected more reliably. It reduces false failures caused by wording changes in error messages, helping keep development and release checks stable.
Original PR description
Before this commit, the error_checker asserting that a JS unit test run failed performed a strict equality with an outdated string on error logs. Now, the message has been changed, flagged explicitly as something that shouldn't be changed and the presence of that message is checked accross the entire message for robustness. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents Point of Sale sessions from crashing when orders are created and receipts are printed while offline, then synchronized after reconnecting. It also shows a clear connection-lost message for kitchen order sending while offline, helping staff understand what went wrong instead of encountering a traceback.
Original PR description
Steps to Reproduce: =================== - Open a POS session and go offline. - Create orders and print receipts at the receipt screen. - Restore the internet connection and bring the POS online. - A…
Steps to Reproduce: =================== - Open a POS session and go offline. - Create orders and print receipts at the receipt screen. - Restore the internet connection and bring the POS online. - A traceback occurs during synchronization. Before this commit: ===================== A traceback occurred when making a POS order, printing a receipt in offline mode, and later going online. The issue arose because the nb_print field was updated via a backend write call to restrict payment method edits. However, during offline mode, the order_id was a string, causing the traceback. After this commit: =================== - The backend write call for nb_print is bypassed in offline mode. Instead, the `nb_print` count is updated on the frontend. When the order syncs after going online, the increased `nb_print` value prevents payment method edits as expected. - Removed the nb_print validation constrains from payment lines. Validation is already handled in the write method of pos.order. This change avoids validation errors when syncing orders from offline to online, where nb_print = 1 and payment lines exist. The write method ensures proper handling during order creation. - A `Connection Lost` error message is displayed when attempting to send orders to the kitchen while in offline mode. Task-4504625
The spreadsheet tool was updated to a newer version with fixes that make formulas faster and improve everyday editing behavior. It also corrects number parsing for certain locales and improves pivot table calculations, reducing errors for users working with spreadsheets in Odoo.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/f505971d4 [REL] 18.0.13 Task: 0 https://github.com/odoo/o-spreadsheet/commit/9d5251d0d [PERF] formulas: add a cache on…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/f505971d4 [REL] 18.0.13 Task: 0 https://github.com/odoo/o-spreadsheet/commit/9d5251d0d [PERF] formulas: add a cache on linear search functions Task: 4080146 https://github.com/odoo/o-spreadsheet/commit/4ef9f2da1 [FIX] auto-complete: hide auto-complete when selecting a cell Task: 4022927 https://github.com/odoo/o-spreadsheet/commit/d131f1585 [FIX] locale: wrong parsing with "." thousand separator Task: 4525746 https://github.com/odoo/o-spreadsheet/commit/7793d0931 [FIX] ui_sheet: batch resize commands in `AUTORESIZE_ROWS` Task: 4504918 https://github.com/odoo/o-spreadsheet/commit/07ee8ab47 [FIX] pivot: use displayed value in computed measure Task: 4517312 Co-authored-by: Anthony Hendrickx (anhe) <anhe@odoo.com> Co-authored-by: Alexis Lacroix (laa) <laa@odoo.com> Co-authored-by: Lucas Lefèvre (lul) <lul@odoo.com> Co-authored-by: Dhrutik Patel (dhrp) <dhrp@odoo.com> Co-authored-by: Adrien Minne (adrm) <adrm@odoo.com> Co-authored-by: Mehdi Rachico (mera) <mera@odoo.com> Co-authored-by: Florian Damhaut (flda) <flda@odoo.com> Co-authored-by: Rémi Rahir (rar) <rar@odoo.com> Co-authored-by: Pierre Rousseau (pro) <pro@odoo.com> Co-authored-by: Vincent Schippefilt (vsc) <vsc@odoo.com>
This fix lets the recruitment app create separate candidate records for the same email address when applications are for jobs at different companies. It prevents erroneous duplicate-candidate errors and supports multi-company hiring workflows.
Original PR description
In version 18.0, due to this PR: https://github.com/odoo/odoo/pull/190334/commits/b28dbc7faeac1095fe01d75e1783d7395, applying to jobs in different companies using the same email will not create separate candidates. This behavior raises the following error: https://github.com/odoo/odoo/blob/75571a661c5fa1dd80299bb110d9297219b7f465/addons/hr_recruitment/models/hr_applicant.py#L351. This PR aims to fix the issue by ensuring that candidates are unique per company. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update removes two unrelated steps from an automated web test that had been copied in by mistake. It helps keep the test suite clearer and easier to maintain, with no expected change for end users.
Original PR description
Commit https://github.com/odoo/odoo/commit/98218629f88b619ca9c8013ecbffaa221d82531c introduced a test with two non-related steps (these steps were certainly copy-pasted from another test, in spreadsheet). This commit removes these steps. 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 businesses from enabling lot-based valuation on products that still have valued stock without a lot number. It avoids unusable stock records and accounting discrepancies, and also clarifies an error message related to negative lot quantities.
Original PR description
When Lot valuation is enabled on a product, it is not longer possible to create a move without lot. Hence, if you had a valued quantity without lot before enabling lot valuation, it was impossible to…
When Lot valuation is enabled on a product, it is not longer possible to create a move without lot. Hence, if you had a valued quantity without lot before enabling lot valuation, it was impossible to update or empty this quantity in any way. Leaving you with an unusable StockQuant. Furthermore, when enabling the lot valuation, no layer was created for the quants without lot, creating a permanent discrepancy between the stock and valuation. This discrepancy was still present even after disabling the lot valuation. To fix this issue, we do not allow the lot valuation if there is a quant without lot in a valued location.  + Fix negative lot error message PREV:  NOW:  --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Restaurant point-of-sale users can now create a new floor plan by clicking anywhere on the create button, not just the plus icon. This removes a small usability frustration and makes setup more intuitive.
Original PR description
Before this commit: ========== - To create a new floor plan, the user must click the plus icon on the floor plan's create button; clicking anywhere else on the floor plan's create button was not working. After this commit: ========== - Users can click anywhere on the floor plan's create button to create a floor plan. task-4517219
Point of Sale reports now avoid showing duplicate order lines when a sold product belongs to multiple POS categories. This keeps sales reporting clearer and prevents inflated or confusing report details for affected products.
Original PR description
If you sell a product that has multiple pos categories, the report would contain as many lines as the number of categories. Steps to reproduce: ------------------- * Create product A with atleast 2 pos categories * Make a sale in PoS with this product * Go to PoS order report and click on the graph * This will open a view containing all the lines of the report > Observation: You have multiple lines for the same order Why the fix: ------------ To avoid this issue, we select only the first category of the product. opw-4451101
This fix prevents Odoo spreadsheets from unnecessarily reloading pivot data when a global filter is changed. Users get a smoother spreadsheet experience with fewer interruptions while working with filtered business data.
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
Email unsubscribe links now require an extra confirmation step, preventing automated security scans by email clients from unsubscribing recipients by mistake. The unsubscribe confirmation experience is also clearer, so users can easily see when they have been unsubscribed and still manage their subscription settings if needed.
Original PR description
## Do not merge; commit will be cherry-picked into fw-port PRs 16.0 PR: https://github.com/odoo/odoo/pull/189561 Email clients have begun implementing security measures to protect users from phishing…
## Do not merge; commit will be cherry-picked into fw-port PRs 16.0 PR: https://github.com/odoo/odoo/pull/189561 Email clients have begun implementing security measures to protect users from phishing by analyzing email links, and interacting with them (see task-3972953). This has the side effect of automatically unsubscribing email recipients from mailing lists by clicking the link in the footer of the emails. This commit adds an intermediate step to the process, by requiring users to click on a button before they are unsubscribed. task-4364446 -- The current unsubscription destination page for emails makes it unclear for the user whether they've been unsubscribed or not. This is because the "unsubscription confirmed" box is placed below the "manage subscription settings" box on the confirmation page. To avoid confusion, while ensuring current Studio customizations to stable instances are not impacted, a new intercalate page is added to clarify that the user is unsubscribed, and offer the option to manage unsubscriptions by reaching the previous page. task-4364446
The Point of Sale sample setup no longer triggers an error when users reopen the Clothes section after deleting the Clothes Shop. This prevents confusing log errors and keeps the POS setup flow working smoothly.
Original PR description
Currently a `Parseerror` appears when the user clicks 'Clothes' in POS. ### Error: ``` ParseError while parsing /home/odoo/src/odoo/18.0/addons/point_of_sale/data/scenarios/clothes_data.xml:337 A combo choice can't contain duplicate products. View error context: '-no context-' ``` ### Steps to reproduce above error :- - Install 'Point of Sale' (without demo data). - Open POS and click 'Clothes', then delete 'Clothes Shop'. - Click again 'Clothes'. - The error appears in the log. This commit resolves the issue by using `Command.clear()`, to clear the link before creating the combo products. sentry-6191520798
This update corrects inconsistent Profit and Loss report data that could cause the report to fail when loading lines. Users can now open the report more reliably without encountering an unexpected error.
Original PR description
The aim of this commit is to avoid having inconsistent data leading to a Traceback while loading the lines of the Profit and Loss report. Context: cbe74884b937f630cf1d2ccf475a04e70b6f4669 changed the structure hierachy. It wasn't a big issue until e96e8d4aa663a4a5305214f2124243070fa797bb resequenced the lines and changed the order of computation in `<account.report>._get_line`. This method assumes the parent lines are going to be computed first and then cached in a dict. Leaving `parent_id` made this assumption wrong leading to a KeyError exception throwing a traceback. Before the commit: The data kept the previous `parent_id` which could lead to a traceback due to inconsistent data. After the commit: `parent_id` not being set, the code doesn't try to get it from the cached lines and computes it correctly. task-id: None
The dashboard no longer shows the bank selection prompt when a journal is already linked to a bank account. This avoids confusing users with an unnecessary setup option and keeps the banking dashboard clearer.
Original PR description
The aim of this commit is making sure that we don't display the bank selection in the dashboard if the journal is already connected to a bank account. no task id
This fix addresses two recurring nightly test failures in the Kenya OSCU localization and its Point of Sale integration. It removes an unnecessary dependency trigger and adjusts access handling so validation information can be read reliably by the right users.
Original PR description
This commit fix 2 tests who nightly fails on runbot: Test 1, `test_01_orders_no_invoiced` (https://runbot.odoo.com/odoo/runbot.build.error/111519): This test failed because of a `flush_all()`, who raised an error because of an `api.depends_context` on a computed field in `product_template` Solution: remove the `api.depends_context` as he's useless (the compute still trigger as it should) Test 2, `test_read_purchase_order` (https://runbot.odoo.com/odoo/runbot.build.error/111518): This test failed because of access right error Solution: add a compute_sudo on `l10n_ke_validation_message` field and add a `groups="point_of_sale.group_pos_user"` on account_move view. no-task
Subscription totals are now calculated more accurately when orders include multiple lines with tax-included prices. This prevents small rounding discrepancies, especially in certain foreign currencies, so recurring and non-recurring amounts shown to users match the expected billed values.
Original PR description
Subscriptions with multiple lines and tax-included prices introduced a rounding error in some cases. This commit fixes the _compute_recurring_total method by using the same rounding method as _compute_amounts in the sale/ module, based on AccountTax helper methods. opw-[4460812](https://www.odoo.com/odoo/all-tasks/4460812)
The Documents app now correctly highlights the Info & Tags button when users open it from the cog wheel menu. This makes the interface clearer and keeps the button state consistent across the document view.
Original PR description
Steps to reproduce: 1. Click the 'Info & Tags' button from the cog wheel dropdown menu next to the breadcrumb. 2. The info button on the right side (near the view switch button) is not getting the 'active' class as it should be. Technical Reason: `this.documentsState.isChatterVisible` in `documents_control_panel` couldn't be updated through the cog menu component directly. This commit adds a reactive object which can be modified and observed by several components. After this Commit: The Button will get the 'active' class accordingly to the state. This commit also removes duplicate code by using an existing mixin. Task-4427575