Daily updates from Odoo
Monday, February 2, 2026
9 changes · master
Enhancements to existing features
This pull request ensures that all strings within the HR Referral module are properly translated, improving the user experience for international users. The change addresses a previously missed translation, enhancing the module's localization capabilities. This update supports Odoo's commitment to global accessibility.
Original PR description
Added translation missed in the PR: https://github.com/odoo/enterprise/pull/95399
Resolved issues and error corrections
This update fixes an issue where users wouldn't receive a warning when entering invalid email addresses during shared sign request declines. Now, the system validates email formats and displays a clear warning message, preventing incorrect data entry and improving the overall user experience. This ensures data integrity and reduces potential errors.
Original PR description
Version: - saas-18.4 Steps to reproduce: - Create a shared sign request. - Try to decline the sign request. - Enter an email address in an invalid format. Issue: - No warning is shown to the user for an invalid email and An RPC_ERROR appears in the console. - This happens because the _check_signer_email_validity constraint fails when signer_email is not valid. Solution: - Validate the email format when the user submits the refusal request. - Show a warning message if the email format is invalid. task-5454929 Forward-Port-Of: odoo/enterprise#103146
This update resolves an issue where new appointments were sometimes created with duplicate default time slots. The fix ensures that default slots are only created once, preventing confusion and ensuring accurate appointment scheduling. This improves the user experience and data integrity.
Original PR description
Steps to reproduce: - Install website_appointment - Go to the frontend and create a new appointment from there - The appointment created has its default slots duplicated When creating an appointment type, it's possible that we end up creating the default slots two times by passing in the compute of the category and then the onchange linked to category_slot_scheduling. Technically, when we were in the onchange after the compute, slot_ids was populated by NewId records. So when assigning and creating a second time the default slots, the NewId would at the end become real records and the new one were added on top. Now we add a check on the previous category to create the default slot only when we came from a custom appointment and reset them if it is now a custom one. task-5499200 Forward-Port-Of: odoo/enterprise#104482
This update corrects a technical issue within the IoT module where the ORM import was incorrectly configured. By switching to `useService` for importing the ORM, the system now functions correctly, ensuring data integrity and stability. This resolves a potential error reported in the system.
Original PR description
In odoo/enterprise#104794, we moved the test button logic from the form controller to a widged. The orm should now be imported through `useService` instead of the now undefined `model`.
This update corrects a visual issue where newly added timesheet entries were incorrectly appearing at the top of the helpdesk ticket list. The fix restores the default list view setting to add new entries at the bottom, ensuring a consistent and user-friendly experience. This improves the clarity and organization of timesheet data.
Original PR description
Steps to Reproduce: - Open the helpdesk ticket form view - Add a new Timesheet entry - Notice that the newly created timesheet appears at the top of the list Cause: The timesheet list view was configured with editable="top", which forces newly created records to be inserted at the top. Solution: Restore the list view configuration to use editable="bottom" ensuring new timesheet entries are consistently added at the bottom of the list. task-5309676
This update refines the bill auto-complete feature within the Enterprise accounting module. Previously, the feature could suggest bills and purchase orders, but it has now been restricted to only suggesting purchase orders. This change ensures data consistency and accuracy in purchase order processing.
Original PR description
Adjust a few test cases to reflect the change in how the auto-complete feature works, it used to be able to auto-complete from pruchase orders or bills, now it can only auto-complete form purchase orders task-5258726
This update resolves an issue where the default packaging type for service products in the Odoo Enterprise system was incorrectly configured. The previous XML ID no longer functioned, preventing proper EDI processing. This fix ensures service products are correctly packaged for electronic invoicing in Kenya.
Original PR description
Update the xmlid for the default packaging type for service products, the previous one `l10n_ke_edi_oscu.packaging_type_ou` seems to have never existed. opw-5220129 Forward-Port-Of: odoo/enterprise#105905
This update fixes an issue where document actions would fail when multiple languages were enabled and then one was disabled. The change ensures that actions are now filtered to only include those linked to currently active languages, preventing errors and improving stability. This impacts the Documents module.
Original PR description
Filter Embedded Actions Based on Active Languages ### Impacted versions: 18.0 and later ### Steps to reproduce: - Install at least 2 languages - Install documents and accounting or other app to have actions on select - Uninstall one language - You will get an error when trying to activate again actions on select (also appears on network interface) ### Current behavior: When a language is deactivated, its corresponding translations may still appear in server actions, leading to errors when trying to add them to the context. This issue is now resolved by filtering actions to only include those linked to active languages. Task: [5420820](https://www.odoo.com/odoo/project/49/tasks/5420820) Forward-Port-Of: odoo/enterprise#102938
This update fixes an issue where the UrbanPiper store identifier field was visually overflowing its container. The changes include wrapping the field and button in a container with flexible width and overflow-hidden styling, resulting in a cleaner and more user-friendly display for users interacting with the UrbanPiper POS integration.
Original PR description
Before this commit: --- - The UrbanPiper store identifier field could overflow its container. After this commit: --- - Wrap the store identifier field and action button in a container. - Apply `overflow-hidden` and flexible width to the store identifier field. task-5472992 Forward-Port-Of: odoo/enterprise#106075 Forward-Port-Of: odoo/enterprise#103464