Saturday, February 22, 2025
7 changes · 17.0
Enhancements to existing features
This update replaces several custom database savepoint patterns with a shared helper, reducing the chance of inconsistent behavior and making maintenance easier. It is an internal cleanup with no expected change to day-to-day user workflows.
Original PR description
Avoids inconsistencies, simplifies control flow sometimes. Not all manual savepoints are converted: - The implementation details of `Savepoint` can't exactly be converted. - The test case savepoint is difficult to convert as the savepoint name / id is "leaked" for historical reasons, but also `test_mail_bounce_during_send` does exceedingly strange stuff and needs to re-create the test savepoint because it commits multiple times...
This update replaces a low-level database checkpoint pattern with a standard helper in affected Odoo flows. It reduces maintenance risk and keeps behavior stable for users by avoiding unnecessary changes to data flushing.
Original PR description
They're not in loop (that I can see) so are unlikely to trigger odoo/odoo#71395, but the use of manual savepoint seems unwarranted. Using non-flushing savepoint to avoid risks of behaviour change.
Resolved issues and error corrections
The import screen now correctly keeps and applies the “No Separator” option when users import bank statement CSV files. This prevents the system from accidentally treating commas as the thousands separator, helping avoid incorrect import previews or results.
Original PR description
**Steps to reproduce:** - Install Accounting - On Accounting dashboard, click on "Import File" button of Bank journal - Select a CSV file with bank statements - On the left menu, select "No…
**Steps to reproduce:** - Install Accounting - On Accounting dashboard, click on "Import File" button of Bank journal - Select a CSV file with bank statements - On the left menu, select "No Separator" as "Thousands Separator" **Issue:** "Comma" is displayed as selected instead the first time. The second time "No Separator" stays as selected. However, the value sent when testing or importing is not the correct one. **Cause:** "No Separator" option should have an empty string as value. However, during the generation of the "select" element, the value for the "option" element is evaluated with: `opt.value or opt` As `opt.value` is the empty string (evaluated to False), `opt` is used instead, even if it is an object, which is not correct. The main issue is that the empty string is not handled as a valid value. **Solution:** Handle the empty string as an acceptable value. opw-4325310 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
Steps to reproduce: * Open the form view of any UoM category. * Add a new line in the units list. * Without saving, Uncheck "Active" checkbox. * Before saving, change the type of this unit to reference. * Save the form. Expected behavior: An error should be thrown as it's not allowed to have more than one reference unit for some category. Current behavior: The record is normally saved without any errors. This issue caused an inconsistency when upgarding a database in such state t
Original PR description
Steps to reproduce: * Open the form view of any UoM category. * Add a new line in the units list. * Without saving, Uncheck "Active" checkbox. * Before saving, change the type of this unit to reference. * Save the form. Expected behavior: An error should be thrown as it's not allowed to have more than one reference unit for some category. Current behavior: The record is normally saved without any errors. This issue caused an inconsistency when upgarding a database in such state to saas18.1, where each unit points to its reference as a parent. Having multiple references in the same category caused a having a cycle in this link. See: https://github.com/odoo/upgrade/blob/master/migrations/uom/saas~18.1.1.0/pre-migrate.py#L16-L25 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#197634
The Discuss call interface now checks the correct connection status before showing a warning. This prevents users from seeing misleading call connection alerts when there is no actual issue.
Original PR description
Before this commit, the condition for displaying the call warning was using `rtc.connectionType` instead of `rtc.state.connectionType`, which resulted in the warning being shown in the wrong situations.
Steps to reproduce the bug: - Create a “quality.point”: - Operations: Manufacturing - Add a Work Order Operation - save - Update the operations to Receipt. Problem: The Work Order Operation field becomes invisible, but it is still filled so the quality point will still be applied. opw-4536136 Forward-Port-Of: odoo/enterprise#79868
Original PR description
Steps to reproduce the bug:
- Create a “quality.point”:
- Operations: Manufacturing
- Add a Work Order Operation
- save
- Update the operations to Receipt.
Problem:
The Work Order Operation field becomes invisible, but it is still filled so the quality point will still be applied.
opw-4536136
Forward-Port-Of: odoo/enterprise#79868This commit adds one flow test to `l10n_ec_edi` that mocks `zeep` when sending an invoice to the SRI. This complements the existing tests that check the generated XML. task-none Forward-Port-Of: odoo/enterprise#77578
Original PR description
This commit adds one flow test to `l10n_ec_edi` that mocks `zeep` when sending an invoice to the SRI. This complements the existing tests that check the generated XML. task-none Forward-Port-Of: odoo/enterprise#77578