Daily updates from Odoo
Thursday, January 29, 2026
5 changes · master
Resolved issues and error corrections
This update resolves performance issues that were causing slow calculations for holiday leave requests. The change involved optimizing how the system queries for holiday information, resulting in faster processing times. This ensures smoother and more efficient leave management for users.
Original PR description
In this commit, we fixed the failed performance tests due to changes related to the new public holiday leave model since we are doing an additional query. Community PR: https://github.com/odoo/odoo/pull/229288 task-4791808
This update resolves an issue where invoices couldn't be processed correctly when multiple payment methods shared the same code, a requirement by Mexican regulations. The system now prevents users from modifying payment method codes, ensuring compliance and stability. This change enhances the reliability of the l10n_mx_edi module for Mexican businesses.
Original PR description
Currently, an error occurs when a user tries to post an invoice using a payment method that shares the same code as another payment method. Steps to replicate: - Install `l10n_mx_edi` and…
Currently, an error occurs when a user tries to post an invoice using a payment method that shares the same code as another payment method.
Steps to replicate:
- Install `l10n_mx_edi` and `accountant` with demo and switch to `ZAPATERIA URTADO ÑERI` (Mexican company).
- Go to `Accounting > Configuration > Payment Way Codes (MX)`.
- Open `Efectivo` and change its code to `02`.
- Create a new Invoice, select `Efectivo` in the Payment Way.
- Add a customer and a move line, then confirm the invoice and send it (make sure CFDI is checked).
Error:
```
File '/home/odoo/src/enterprise/19.0/l10n_mx_edi/models/account_move.py', line 424, in _l10n_mx_edi_get_extra_invoice_report_values
cfdi_infos['payment_way'] = f'{payment_way} - {payment_method.name}'
File '/home/odoo/src/odoo/19.0/odoo/orm/fields.py', line 1659, in __get__
record.ensure_one()
File '/home/odoo/src/odoo/19.0/odoo/orm/models.py', line 5934, in ensure_one
raise ValueError('Expected singleton: %s' % self)
ValueError: Expected singleton: l10n_mx_edi.payment.method(1, 22)
```
Cause:
- Issue originated through this [PR] that gave access to write on the model.
- As the user made the codes of two payment methods same, the [search] returned two records and while accessing `payment_method.name` on two records it results into this error.
Solution:
- Made the fields read-only to prevent users from changing the payment method codes established by the Mexican government.
- Added limit to the search query to prevent multiple records (Just for safety).
- Removed unlink rights on the `l10n_mx_edi.payment.method` model.
- Added a SQL constraint to allow only unique values for the code.
- Removed the form view.
- Added the field `active` to the list view and made it editable.
PR for stable(18.0): https://github.com/odoo/enterprise/pull/103944
[PR]: https://github.com/odoo/enterprise/pull/38046
[search]: https://github.com/odoo/enterprise/blob/18117c6a9fbf270ace1c551616828a85713d5225/l10n_mx_edi/models/account_move.py#L423
sentry-7171030995This update fixes an issue where editing component quantities on the shop floor incorrectly displayed all internal locations instead of just the source location. The fix ensures that only the intended source location is considered when updating component quantities, improving accuracy in work order management. This prevents over-allocation of stock and ensures correct material usage.
Original PR description
In the shop floor when you edit the quantity of components, all the components for the internal localization will appear instead of only the one from the source location Steps to reproduce:…
In the shop floor when you edit the quantity of components, all the components for the internal localization will appear instead of only the one from the source location
Steps to reproduce:
-------------------
- Active lot/serial number in settings
- Create component A tracked by lot, and add quantities in two location (WH/stock and WH/random)
- Create a product with a bom that use component A
- Create an operation for that bom
- Update the bom to consume the component during the operation
- Create a workorder for the product, confirm it and go to the shop floor
- Click on the operation
- Edit the quantity of components
-> all internal localisation appear (WH/{stock/random})
Observation:
-------------
The domain consider all localisation where the usage is internal: https://github.com/odoo/enterprise/blob/e99c20547528f6664d091cd230ce94cf76a08eb1/mrp_workorder/static/src/mrp_display/mrp_record_line/stock_move.js#L119
opw-5268989
Forward-Port-Of: odoo/enterprise#102902This update resolves an issue where signed documents sometimes displayed incorrectly, showing fields as incomplete. The change ensures the PDF iframe fully loads before displaying the document, guaranteeing accurate field visibility for users. This improves the user experience when working with signed documents.
Original PR description
Ensure sign items are refreshed after the PDF iframe is fully loaded to avoid displaying partially signed documents without fields when not in sign mode. task-5877678 Forward-Port-Of: odoo/enterprise#105533
This update fixes an issue where the Gantt chart controls would overlap the user interface, particularly when using custom date ranges and a smaller screen size (simulating an iPhone). The change ensures that the Gantt controls are displayed correctly, improving usability and preventing visual clutter.
Original PR description
Steps to reproduce ================== - Switch to dutch - Emulate an iPhone SE viewport in the browser settings - Open a project - Switch to the gantt view - Use a custom date range -> The gantt controls are displayed on top due to the daterange format being to long | Before | After | |--------|--------| | <img width="736" height="1542" alt="image" src="https://github.com/user-attachments/assets/7c573ab1-fbf8-4f31-83ba-21d66ebc504d" /> | <img width="736" height="1542" alt="image" src="https://github.com/user-attachments/assets/62ab3d47-701e-4e2d-aaef-5c92675236cb" /> | opw-5340869 Forward-Port-Of: odoo/enterprise#105229 Forward-Port-Of: odoo/enterprise#104821