Thursday, June 26, 2025
23 changes
9 changes
Resolved issues and error corrections
This fix ensures text highlights appear in the correct position when selected content includes a line break. It improves the visual reliability of the website builder so users can apply highlights without unexpected misalignment.
Original PR description
Steps to reproduce: - Go to the website builder in edit mode - Select "We build great products ... to optimize their performance", the goal here is to have a `<br>` in the selection - Highlight the selection | Expected behaviour | Current behaviour | |--------|--------| |  |  | | Highlights are well positioned | The highlights SVGs are not well positioned, the br shift everything |
This fix ensures the website editor's link popover closes when users click elsewhere, such as another menu or top bar item. It prevents stale popovers from staying on screen and makes editing website navigation feel cleaner and less confusing.
Original PR description
Before this commit clicking on certain elements with a link popover open would not cause the link popover to close. Steps to reproduce: - go to the website homepage - open the editor - click on any top menu links like Home or Contact Us - click on the user dropdwon in the topbar (usually Administrator) - the popover from the first click is still open After the change clicking anywere that's not the popover's current link will cause the popover to close.
This fix ensures Romanian electronic invoicing only searches invoices and bills within the relevant company. It helps prevent records from other companies from being included in multi-company environments, improving accuracy and data separation.
Original PR description
Add the company to the domain to avoid searching invoices/bills from other companies. task-####### --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes an internal automated test so it works correctly when only the Purchase Stock app is being tested. It ensures a related feature is available before checking extra behavior, helping keep future updates reliable without changing day-to-day user workflows.
Original PR description
This commit fixes the `test_move_description` introduced in odoo/odoo#177390. The test failed in single app tests because part of the functionality depended on the existence of `product_matrix` module. This commit makes sure that the module is installed when checking for those extra parts. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an error that could occur when users grouped records by custom property fields in web views. The change helps reports and grouped lists load reliably when property-based fields are used, and adds test coverage to prevent the issue from returning.
Original PR description
We get a KeyError in `self._fields[groupby_spec.split(':')[0]]` in the `_open_groups` when we group by a property field because groupby_spec contains a property path (properties.property_name).
Fix it and add a test for it.This fix restores a consistent visual appearance for animated text options in the website builder after a recent redesign. It also makes highlighted text options look more aligned with the animated text controls, improving clarity for users editing website content.
Original PR description
With the redesign after the initial website builder refactor, the appearance of option for animated text was broken: it mixed light on dark and dark on light elements. After the initial website builder refactor, the appearance of the option for highlighted text was a bit weird. This commit changes it to be closer to the animated text option. Redesign commit: 0bbf24a4b0d6d6160e1964f18391f86b4513fc72 Website refactor: 9fe45e2b7ddbbfd0445ffe25a859e67a316d02b2 task-4367641
This update corrects a test setup issue for electronic invoicing so nightly checks use the intended company registration number. It helps keep automated quality checks reliable and prevents false failures in the community test environment.
Original PR description
The TestUblBis3 tests are failing in the nightly community runbot because the company_registry is not set on the company, causing the peppol_eas and peppol_endpoint to use the company's VAT number rather than its company_registry number. runbot-227638
The website editor once again shows the size of a selected image. This helps content editors quickly check image weight while building pages, supporting better page performance decisions.
Original PR description
When converting the website builder to `html_builder`, the tag that displayed the selected image's size was forgotten. This commit re-introduces it. task-4367641
Empty HTML property fields now display as blank in list views instead of showing the word "False". This makes records easier to read and avoids confusion for users reviewing lists with optional HTML content.
Original PR description
Bug === Create an HTML properties, and don't set a value. It is displayed as "False" in the list view, while it should be an empty string. Change the HTML formatter, so it's consistent with the text formatter. Task-4896271
4 changes
Resolved issues and error corrections
This fix removes extra blank separators from an address used in Ecuadorian electronic delivery guide tests. It helps keep automated checks aligned with the expected address format, reducing false test failures and improving release reliability.
Original PR description
The address formatting in test case included redundant separators, resulting in: `Libertador Simón Bolívar 1155 - - Quito - Ecuador` This has been corrected to remove the empty segment, for a valid address format: `Libertador Simón Bolívar 1155 - Quito - Ecuador` reference PR : https://github.com/odoo/odoo/pull/215562
10 changes
Resolved issues and error corrections
This fix prevents invoice line units of measure from being changed unnecessarily when related Kenya localization logic is triggered. It helps avoid incorrect invoice details and keeps accounting calculations, such as quantities and discounts, consistent.
Original PR description
This solves a runbot error occuring on the single l10n trigger for Kenya. Cause: l10n_ke_edi_oscu_stock adds a [compute…
This solves a runbot error occuring on the single l10n trigger for Kenya. Cause: l10n_ke_edi_oscu_stock adds a [compute function](https://github.com/odoo/enterprise/blob/18.0/l10n_ke_edi_oscu_stock/models/account_move.py#L166) to the `product_id` field on invoice lines. The ORM triggers computes for all items in the chain - irrespective of whether the value was changed or not. Therefore, when the Kenya modules are installed, the `_compute_product_uom_id` function is triggered - which changes the unit of measure. Solution: Improve the account.move.line's `_compute_product_uom_id` to only change the UoM when necessary. Considered Alternatives: - Whilst the l10n_ke_edi compute functions are not ideal - it was done because there was no PO/Bill matching feature at the time. Ideally these computes should be removed - but that would impact the stable policy and may have knock on effects. - changing the tests would simply hide issues arising from uom's and discounts. runbot-75230
Kenyan electronic stock reporting no longer changes calculation behavior unless a Kenyan vendor bill is actually being imported. This prevents unintended effects on regular accounting workflows while preserving the intended import behavior.
Original PR description
…KE vendor bill
This update fixes an error that could occur when changing selected bank reconciliation lines if no lines were properly selected. It helps users continue reconciliation work without unexpected interruptions.
Original PR description
This fix the traceback where selected lines is undefined and so when going to changeInSelectedMoveLine the check on the length crashes opw-4879020 opw-4892495 opw-4895837
This fixes commission achievement reporting so it no longer depends on a sales team field that was removed earlier. It helps prevent reporting errors and keeps commission calculations aligned with the current data model.
Original PR description
Since https://github.com/odoo/enterprise/pull/80888/files#diff-c5cbf70467370daa35b2be432bf26a385b61430164e32347906d6751209bcfa8L14 the team_id field is no longer available on the sale.commission.achievement model. taskid: 4844215
This fix prevents an unnecessary error from appearing when a direct call connection is closed while the system is switching to a fallback connection method. It improves call reliability by avoiding misleading tracebacks, with no expected change to normal user behavior.
Original PR description
Before this commit, there could be a race condition where the peer connection gets closed while an offer is being negotiated. This could happen for example when offers are being sent to establish a p2p connection and the fallback to the SFU kicks in and clears the connection. This would lead to a traceback but no functional issue.
This fixes an unreliable bus monitoring test that could fail when the browser reported no network connection. The connection status is now handled consistently regardless of whether the issue comes from the network, client, or server, helping keep automated validation stable.
Original PR description
This commit fixes the non-deterministic `connection considered as lost after failed reconnect attempt` test. The monitoring service does not show the connection as lost when the navigator online property is false which makes this test fail when network is not available. This check makes no sense, it doesn't matter if we lost the connection because of a server/client error or because the network is down. This commit removes this check on the "online" navigator property and fixes this test. fixes runbot-226892 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
Customers using self-ordering are now sent back to the product page if their cart is empty instead of being allowed to continue to payment. This prevents checkout errors and creates a smoother ordering experience.
Original PR description
Before this commit: ================ Users could attempt to proceed with payment even when the cart had no orderlines After this commit: =============== If the cart is empty, the user is automatically redirected back to the product page, preventing the error and ensuring a smoother user experience. Task-4880984
Fixes an issue where deleting a signature could leave behind an invisible signature area that caused newly typed content to be placed in the wrong container. This makes editing emails or documents with signatures behave more predictably after users clear signature content.
Original PR description
### Steps to Reproduce: - Insert a signature (e.g., using /signature). - Press Ctrl + A, then press Backspace — signature content is removed. - Press Backspace again — o-signature-container div remains. - Any new content is inserted inside the empty o-signature-container. ### Description of the issue/feature this PR addresses: - Empty signature containers were not converted to base containers on backspace. ### Desired behavior after PR is merged: - A predicate was added that checks for empty blocks of types: pre, heading, blockquote, and signature. This ensures empty signature containers are also converted to base containers on backspace. task-4793734 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The analytic distribution table now remains usable on mobile devices when many columns are present. Users can horizontally scroll the table instead of having content hidden, making expense and accounting workflows easier on small screens.
Original PR description
The analytic distribution table is not scrollable on mobile devices, resulting in hidden content and an unusable layout when there is horizontal overflow due to many columns. We added…
The analytic distribution table is not scrollable on mobile devices, resulting in hidden content and an unusable layout when there is horizontal overflow due to many columns. We added style="max-width: 100vw;" to table-responsive wrapper to enable horizontal scrolling on smaller screens. Steps to Reproduce: 1. Install the Expenses and Accounting modules. 2. Go to Settings → Search for Analytic Accounting → Enable it. 3. Add multiple analytic plans with sufficient data to cause horizontal overflow. 4. Navigate to Expenses → Open any record. 5. Open Inspect in your browser → Switch to mobile view. 6. Click on Analytic Distribution. <details><summary>Images</summary> <p> before FIX:  after FIX:  </p> </details> Ticket [link](https://www.odoo.com/odoo/project/967/tasks/4805590) opw-4805590
Removing a linked image in the HTML editor now properly closes the link popover and cleans up the empty link. This prevents a confusing leftover popup and keeps edited content cleaner.
Original PR description
Before this commit: 1. Insert an image and add a link to it. 2. Click on the image and remove it by clicking the remove button in the toolbar. 3. The link popover remains open and only disappears after clicking away. This occurs because the default behavior of a link with text preserves the link element to allow the possibility of completely changing the label of the link directly in the editing area. After this commit: The link popover is properly closed when an image link is removed, and the link element is removed when the link element associated with the image is empty. task-4805029 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Colombian electronic mandate module now clearly requires the Colombian DIAN module it depends on. This prevents installation, upgrade, or uninstall errors when companies use Colombian electronic invoicing features.
Original PR description
The module `l10n_co_edi_mandate` [inherits](https://github.com/odoo/enterprise/blob/ce9eed675db4de3bcd1b283688c5c44d2e1ecf12/l10n_co_edi_mandate/models/account_edi_xml_ubl_dian.py#L5) a model defined…
The module `l10n_co_edi_mandate` [inherits](https://github.com/odoo/enterprise/blob/ce9eed675db4de3bcd1b283688c5c44d2e1ecf12/l10n_co_edi_mandate/models/account_edi_xml_ubl_dian.py#L5) a model defined in `l10n_co_dian` module, and the workflow in the module also depends[[1]](https://github.com/odoo/enterprise/blob/ce9eed675db4de3bcd1b283688c5c44d2e1ecf12/l10n_co_edi_mandate/models/account_invoice.py#L9)[[2]](https://github.com/odoo/enterprise/blob/ce9eed675db4de3bcd1b283688c5c44d2e1ecf12/l10n_co_edi_mandate/models/product_template.py#L8) on DIAN being installed. Both modules have the same dependency `l10n_co_edi` and are autoinstalled. This can easily break if the user chooses to uninstall the dian module. The module will fail to install if dian is not installed. The uninstall of the dian module will also cause an error if this module is installed. The upgrade will fail if the user has dian uninstalled (edi_mandate is a new module and will try to autoinstall) This fix makes the dependency explicit.
The Philippine BIR 2307 XLS export checks now reflect the required ZIP code field and use the correct tax description for the nature of payment. This helps ensure withholding tax reports match regulatory expectations and reduces the risk of incorrect export validation.
Original PR description
The BIR 2307 XLS export was missing the `ZIP_code` and incorrectly showing the `nature` of payment from the invoice line instead of the tax description. In this commit: --- - updates the tests to include the `zip_code` column and fetch the correct `nature` from the tax description. - adjust name fields to reflect `individual` vs `company` partner logic. task-4880921 community- odoo/odoo#214940
Fixed an issue that could cause translated referral sharing links to fail. This helps employees share referral links more reliably across languages.
Original PR description
Issue: Prior to this commit, a translation issue occurred due to the use of a list comprehension. The _get_translation_source function attempts to scan the local variables, but in the context of a list comprehension, only variables defined within the comprehension are accessible. As a result, variables like uuid and cursor were not available to the _get_lang function, ultimately leading to an error. Fix: Replaced the list comprehension with a standard for loop to ensure proper access to local variables. runbot-98198