Monday, June 16, 2025
8 changes · 17.0
Resolved issues and error corrections
Iraq state records now use official ISO-compliant codes instead of simple numeric values. This helps ensure customer addresses and invoices show standardized location codes, reducing data quality issues for Iraq localization users.
Original PR description
**Step to reproduce:** 1. Install `l10n_iq` and `res_partner`. 2. Create a contact with Iraq as the country and assign any state. 3. Create an invoice for that customer. **Observation:** - State codes appear as numbers (e.g., 01, 02, 03...) which are not ISO-compliant. **Issue:** - State codes in the CSV file were defined as simple numbers instead of proper ISO codes. **Solution:** - Updated all state codes to match the official ISO 3166-2:IQ codes. (Reference: https://www.iso.org/obp/ui/#iso:code:3166:IQ) - For Arabic names, appended `-AR` to the code (e.g., IQ-BG-AR) for Arabic-specific entries. opw-4808778 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix ensures custom website background colors continue below the first screen on longer pages. It prevents visitors from seeing an unexpected blank or white area when scrolling, keeping page designs consistent.
Original PR description
This reverts the fix of commit 2597d6f4c33fe2ae8a60e11059c2630ac8aff58c and flatten the background color of the body element instead. Scenario: - set a color to the body different than white - add…
This reverts the fix of commit 2597d6f4c33fe2ae8a60e11059c2630ac8aff58c and flatten the background color of the body element instead. Scenario: - set a color to the body different than white - add snippets to have a height higher than the viewport - go down in the page Result: the background color is only set up to the viewport height. Cause: Before 18.0, the body takes 100% of the page height because we are scrolling over the #wrapwrap element. In 18.0 with 189a7c96e6e26825dc05c0c6466576fe63aa091e, we are scrolling over the body element, that combined with the body having a height of 100% makes the body element being positionned from 0 to viewport height, and it's not present below that. Also to set background of the whole page, the browser uses the body background if there is no background on the html element, so even if the body didn't cover the whole page, we were getting the body color on the whole page. So the change in 2597d6f4c33fe2ae8a60e11059c2630ac8aff58c that set the html element to white, causes the background color to only be applied to up to the viewport height, with the background being blank below that. Fix: set the body background color to the flattened rgb color. opw-4863179 opw-4863724
Fixes an issue where previewing a draft invoice with no invoice lines could crash. Users can now open the preview safely even before adding invoice details, improving reliability during invoice preparation.
Original PR description
Previewing an invoice that has no invoice lines causes a crash . The error happens when trying t o compute early payment discount info and assumes at least one payment term line is present. When there aren't any, it fails with a `ValueError` due to a call to `ensure_one()` on an empty recordset. this commit simply skips the discount logic when there are no payment term lines. Steps to reproduce: Accountant -> invoices New invoice with no lines Click on the preview button. OPW-4657488 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Printing a delivery slip after validating a delivery order now keeps users on the same page instead of forcing an unnecessary refresh. This preserves their navigation history and avoids disrupting warehouse workflows.
Original PR description
Steps to reproduce the bug:
- Enable multi-step routes.
- Go to Inventory > Configuration > Operation Types:
- Open Delivery Orders. - In the Hardware tab, enable “Delivery Slip”.
- Create a delivery order with any product.
- Confirm and validate the delivery.
Problem:
The delivery slip is correctly printed, but the page is unnecessarily refreshed causing the user to lose their route history. This happens because the “do_multi_print” function is called without the “another_action” parameter being set.
As a result, the “reload_context” action is triggered, which leads to a page refresh.
Solution:
Add a new parameter “noReload: true” when calling “do_multi_print” to prevent the page refresh explicitly.
opw-4801963Payroll accounting now allows each localization to define which salary rule represents net pay instead of assuming a fixed code. This helps payroll calculations and accounting entries work correctly in countries where the net pay rule uses a different code.
Original PR description
In some localizations, net rule code is not NET, we make this flexible through a getter function to allow overriding
Odoo Studio now updates the intended field when a sublist contains the same field more than once, such as one hidden and one visible version. This prevents accidental changes to the wrong field and makes list customization more reliable for users.
Original PR description
opw-4772870 opw-4664501
This fixes the Swiss payroll ELM transmission setup so the paid net salary rule uses the standard NET code. The change improves consistency with other payroll localizations and helps avoid mismatches in payroll processing or reporting.
Original PR description
In this PR, we change the paid net rule code to NET to align with other localizations.
Creating a payslip with an end date but no start date no longer triggers an error. This prevents an interruption in payroll preparation when users leave the period start date blank.
Original PR description
Currently, an error is produced when the payslip start date is not set, but the end date is provided. **Steps to reproduce:** - Install `hr_payroll` module(with demo). - Create new **Payslip** for…
Currently, an error is produced when the payslip start date is not set, but the end date is provided. **Steps to reproduce:** - Install `hr_payroll` module(with demo). - Create new **Payslip** for employee **Anita Oliver**. - Clear both the start and end dates under the "Period" section. - Set only the end date. **Error:** `TypeError: '<' not supported between instances of 'bool' and 'datetime.date'` **Cause:** The `_compute_warning_message` method performs a comparison between `slip.date_from` and `contract_id.date_start` without verifying if `date_from` is set. When `date_from` is `False`, the comparison `False < datetime.date(...)` - [1], raises a `TypeError`. [1] - https://github.com/odoo/enterprise/blob/a65314702b99df97c778d4f12f943191a19dafd1/hr_payroll/models/hr_payslip.py#L1029-L1031 This commit adds checks to ensure that start and end date is defined before performing date comparisons in warning message computation, preventing the error. Sentry - 6618275041