Daily updates from Odoo
Wednesday, June 4, 2025
10 changes
1 change
Resolved issues and error corrections
Several spreadsheet dashboards now keep their intended pivot sorting and valid filters after upgrades. This helps business users see dashboard data in the expected order and avoids broken dashboard views in HR, marketing, purchasing, sales subscriptions, and stock reporting.
Original PR description
See commit messages
9 changes
Resolved issues and error corrections
When editing content, users can once again search and select existing website pages while entering a link URL. This restores a basic website editing convenience and reduces the chance of broken or mistyped internal links.
Original PR description
Steps to reproduce: 1. install website, add a link into an editing area in Todo app 2. at the url input, we don't have the internal link suggestion (fuzzy search) when typing The PR target to 18.0…
Steps to reproduce: 1. install website, add a link into an editing area in Todo app 2. at the url input, we don't have the internal link suggestion (fuzzy search) when typing The PR target to 18.0 because fuzzy page search is considered as a basic function when website is installed. It's a functional fix for the html_editor In this PR, we've updated the linkpopover component of the html_editor to add a fuzzy page search feature to the URL input. Before 18.0, we created another OWL app to load the page anchors. Here we do it by using autocomplete component, users can now see and select from a dropdown of relevant Odoo page anchors as they type in the URL input field. To achieve this, we modified the popover template to include an autocomplete field specifically designed for the link popover. In the AutoCompleteInLinkpopover component, two new props were introduced: 1. inputClass: Allows customization of the input field's styling. 2. updateValue: Enables updating of the link popover's URL state when an option is selected from the autocomplete dropdown. We also remove the redundant linkpreview reload when clicking on apply, cause the loadAsyncLinkPreview is already called at onMounted. A unit test using hoot is added for testing the fuzzy page search in the linkpopover. task-4222657 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Point of Sale now blocks event ticket sales when required order-level event questions are left unanswered. This prevents incomplete event registration information and keeps mandatory question rules consistent across ticket and order questions.
Original PR description
Steps to reproduce: ------------------- 1. Create an event with a gloabl question, by checking the box "ask once per order", and mark it as mandatory. 2. In PoS, buy one ticket for this event, and leave this mandatory question unanswere. Observe the we're not blocked, we were able to keep the mandatory answer blank! Reason: ------- We are only validating that the mandatory questions on the registation level are valid, but not those on on the order level. Fix: ---- We do the same check for the global questions too. opw-4793837
This fix ensures that clicking a month or quarter value in a spreadsheet pivot table correctly updates the related dashboard filter. Users will now get the expected filtered results, such as December or Q4, instead of only filtering by the year.
Original PR description
Steps to reproduce: - Create a dashboard with a pivot table with a date field and a global filter on it. Ensure that the date field is set to "Month" in the pivot table and at least a value for the month of December is present. - Open the dashboard - Click on the "December" value in the pivot => Only the year is selected in the global filter, not the month. Same thing happens when the date field is set to quarter and the value Q4 is selected. Task: 4844417 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 corrects account settings used during tax closing, including checks that tax group accounts can be reconciled. It also fixes mixed-up receivable and payable account assignments in Bolivian tax groups and the Spanish 0% tax group, reducing the risk of incorrect tax balances during closing.
Original PR description
In our [previous commit][1], there were still a few missing bits: - We forgot to check for the `reconcile` option on the accounts set on a tax group. - The Bolivian localization had its receivable and payable accounts mixed for the tax groups. We reversed them and created a new one. - The 0% tax group for Spain had its receivable and payable accounts reversed. We changed them as well. [1]: https://github.com/odoo/odoo/commit/925f8cbe6aebad20de5423814b43e4c07644e9e1 [task-3763030](https://www.odoo.com/odoo/project.task/3763030) Issues noticed in https://github.com/odoo/upgrade/pull/7787
This fixes an issue where text could appear twice for another user when editing the same record in multiple tabs. The change keeps shared editing history consistent, reducing confusing duplicate content during collaboration.
Original PR description
Since 18.0, we don't store `nodeId` on a `Node` anymore. The error fixed by this commmit led to failure of the mechanism in charge of avoiding duplication of nodes during serialization of history steps. Steps to reproduce: - Open the same project task in two tabs, so that collaboration is enabled. - In one tab, type some text, select it, and make it bold. - Notice that in the other tab the typed text is duplicated. task-4825081
This fix prevents sales module updates from unexpectedly changing warehouse information on existing sales orders. It protects existing order data during module maintenance or upgrades, reducing the risk of accidental operational changes.
Original PR description
Since [1], `-u sale` will lead to a `write` on the WH of all existing SO, which is of course unexpected ORM side: While dealing with `sale` module, we drop the NOT NULL condition of the WH field https://github.com/odoo/odoo/blob/1c959dee906eba2f881904b06eeccd584f4653c6/odoo/models.py#L2520-L2542 Later, when processing `sale_stock` since there is a difference between the psql column and the orm field (nullable vs required), we call `_init_column`: https://github.com/odoo/odoo/blob/1c959dee906eba2f881904b06eeccd584f4653c6/odoo/fields.py#L1055-L1060 [1] d794b8da77c54cc257348d46482ae4b948460cc5 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Time Off dashboard now uses the active running contract when an employee has overlapping contracts. This prevents leave balances and day calculations from being based on the wrong work schedule, such as using a full-time contract when the employee is currently part-time.
Original PR description
Steps:
- Install the hr_holidays_contract module
- Create two contracts for the same employee:
- Contract A (Part-time) starting from 01/01/2025 and set to Running
- Contract B (Full-time) also starting from 01/01/2025 and set to New
- open holiday dashboard for that employee
Description of the issue/feature this PR addresses:
The Time Off dashboard incorrectly considers the full-time contract instead of the part-time one, even though the part-time contract is in the running state.
Cause:
The contract selection logic did not correctly prioritize the running contract when multiple contracts existed for the same period.
Fix:
This PR updates the logic to ensure that:
- If a contract is in the running state at a given time, it is used to determine the working schedule and time off calculations.
- If no contract is running during that time and multiple contracts exist, the contract with the latest creation_id will be considered.
task-4724155This fix prevents an error when printing picking operations for deliveries involving kit products where one line uses packaging. It helps sales and warehouse teams complete delivery documents reliably without a system crash.
Original PR description
Step to reproduce : - Create a quotation with 2 products using kits - Use the delivery smart button - Change one of the line to use a packaging - Print the picking operation Problem: ZeroDivisionError: float division by zero [opw-4824380](https://www.odoo.com/odoo/project.task/4824380) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Colombian DIAN invoicing setup now checks that a certificate contains usable data before trying to reload configuration. This prevents users from hitting an error screen when an invalid certificate file was saved, making the setup flow more stable.
Original PR description
The system crashes with the error because a certificate record exists (cert_sudo is not None), But the **pem_certificate field** is False. https://github.com/odoo/odoo/blob/18.0/addons/certificate/models/certificate.py#L282 **Steps to Produce:** 1. Navigate to **Settings > Certificates and Keys > Manage Your Certificates > Certificates**. 2. Add a new certificate using an invalid file and fill in the other required details. 3. Go to **Invoicing > Configuration > Accounting > Journals**. 4. Open any journal of type **Sales or Purchase**. 5. Go to **Advanced Settings** and click the **Reload DIAN Configuration** button. **Error:-** `TypeError: argument should be a bytes-like object or ASCII string, not 'bool'` **Solution:-** - Checked whether **cert_sudo.pem_certificate** is not False to avoid crash. **Sentry - 6373511231**