Daily updates from Odoo
Friday, November 8, 2024
8 changes
4 changes
Enhancements to existing features
This update adapts automated tests to a changed messaging initialization route. It helps keep accounting and studio test coverage aligned with the platform so future releases remain reliable without changing user-facing behavior.
Original PR description
https://github.com/odoo/odoo/pull/179352
The bank account synchronization area has had its automated tests updated to use Odoo's newer testing approach. This helps keep quality checks maintainable and reliable without changing day-to-day user functionality.
Original PR description
Update legacy tests importing mail/test_utils.js to use HOOT instead of Qunit. Task-3818666
The VoIP and OnSIP VoIP test suites were updated to use Odoo's newer testing framework. This is an internal quality improvement that helps keep the modules maintainable without changing the user-facing VoIP experience.
Original PR description
Purpose of this PR is to convert remove QUnit tests which rely on `mail/test_utils` to hoot. Part of task-3818666
This update modernizes how Odoo enforces key data rules and database indexes across many business modules. It helps improve data consistency and reliability behind the scenes, with little expected day-to-day impact for users.
Original PR description
Replace virtual constraints. odoo/odoo#175783
3 changes
Enhancements to existing features
User lookup by display name has been adjusted to avoid a slow database search pattern on very large user lists. This restores the previous behavior and can reduce searches from many seconds to milliseconds, improving responsiveness in user-related screens and operations.
Original PR description
After removal of _name_search(), the res.users `_search_display_name()` has been rewritten to use an `OR` to match either exactly the login or part of the name; this make the query very inefficient as it prevent PostgreSQL to use the index an any of the two fields.
This commit re-introduce the previous behavior: we first check for an exact users match on the login or (if none) we fallback to standard display name search (for `name`).
With a database will multiple millions of users:
Before:
```
In [1]: %time env["res.users"].search([('display_name', 'ilike', 'OdooBot')])
CPU times: user 2.03 ms, sys: 8 µs, total: 2.04 ms
Wall time: 16.8 s
```
After:
```
In [1]: %time env["res.users"].search([('display_name', 'ilike', 'OdooBot')])
CPU times: user 1.21 ms, sys: 1.87 ms, total: 3.08 ms
Wall time: 6.69 ms
```
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThe wording shown when an administrator is asked for a password while editing another user's account has been clarified. This reduces confusion during sensitive account management actions and helps admins understand why the prompt appears.
Original PR description
Sometimes admins are asked the password when they modify the account of someone else. The wording shown is a bit confusing. This commit makes the wording more clear. Task-4295458
The time off settings now show a clearer warning when a negative balance limit is set incorrectly. This reduces confusion for users by replacing contradictory wording with a more understandable message.
Original PR description
Before this commit, the error message that the user receives once triggering the constraint on negative balances values was: "The negative amount must be greater than 0." which was a bit confusing by having side to side "negative" and "greater than 0" This commit rephrases that error message.
1 change
Enhancements to existing features
This update enables the invoicing of free items in Peru, aligning with local regulations. It modifies the invoice XML structure to exclude dummy tax groups, ensuring compliance with SUNAT requirements. This simplifies the invoicing process for Peruvian businesses.
Original PR description
We need to be able to invoice free items. How it works in Peru is that the item is "sold" with the original price. Still, we should be able to mark the transaction as a free transaction (this is done…
We need to be able to invoice free items. How it works in Peru is that the item is "sold" with the original price. Still, we should be able to mark the transaction as a free transaction (this is done with the field l10n_pe_edi_legend that is in the Peru EDI tab). This tag should change the XML to the correct format for a free transaction. An enhancement is introduced to exclude the 'l10n_pe.tax_group_dummy' tax group from tax details processing. This improvement is aimed at facilitating free billing in Peru by ensuring dummy tax groups are not included in tax calculations. task latam: https://latam-localizations.odoo.com/web#id=974&menu_id=88&cids=1&action=188&model=project.task&view_type=form Legal Reference: https://cpe.sunat.gob.pe/sites/default/files/inline-files/guia%2Bxml%2Bfactura%2Bversion%202-1%2B1%2B0%20%282%29_0.pdf (page 97) https://booksdigital.jimdofree.com/2014/10/15/tratamiento-contable-de-la-entrega-de-obsequios-vales-y-celebraciones-a-favor-de-los-trabajadores/ Related: https://github.com/odoo/odoo/pull/174131