Thursday, December 18, 2025
12 changes · saas-18.4
Resolved issues and error corrections
This update resolves an issue where archived employees were still appearing in the timesheet section of helpdesk tickets. The fix ensures that only currently active employees are displayed, preventing incorrect timesheet entries and improving data accuracy. This change enhances the reliability of our helpdesk reporting.
Original PR description
**Steps to Reproduce:** - Install hekpdesk_timesheet. - Go to settings, enable timesheets - Archive an employee. - In a ticket, try to add a timesheet entry. **Isuue:** Archived employees are also appearing under timesheets tab. **Fix:** Passed a context so that only active employees appear in the selection. task-5078763 Forward-Port-Of: odoo/enterprise#95137
This update fixes an issue where product documents stopped appearing on product pages after a document version was updated. The fix ensures that the product document record is correctly linked to the latest document version, maintaining accurate product information. This improves data consistency and prevents disruptions to product listings.
Original PR description
**Steps to reproduce:** 1. Install `sale_management` and `documents`. 2. Go to settings > check `product` under Files Centralization. 3. Create a product and add a document to it using the smart button. 4. Update the version of that document from the *Manage Versions* action on the document page. **Issue:** - After updating the document version, the linked document no longer appears on the product page. **Cause:** - The product page displays records from the `product.document` model, but its `ir_attachment_id` was not updated when the document’s version changed. **Solution:** - Update the `ir_attachment_id` on the corresponding `product.document` record when the document version is updated. opw-5144041 Forward-Port-Of: odoo/enterprise#99226
This update resolves an issue where removing all elements from the 'Contact Us' button in the website editor caused a website error. The fix ensures that unremovable elements, like this button, are not accidentally deleted, maintaining website stability and preventing disruptions for users.
Original PR description
Currently, an error occurs when the user edits the `Contact Us` button and removes both the label and the link.
**Steps to replicate:**
* Install `website`
* website > edit > Click on contact us > Edit Link
* replace all the fields by adding one space ' ' and apply > Save.
**Error:**
`ValueError: Element '<xpath expr='//a[hasclass('oe_unremovable')]'>' cannot be located in parent view.`
**Root cause:**
* When the user edits the `Contact Us` button and clears all the fields, then clicks `Apply` line [1] removes the button. But the button is meant to be unremovable, so this breaks the website.
**Solution:**
* Add a check before removal to verify whether the link element is removable and only remove it if it is removable.
[1]:
https://github.com/odoo/odoo/blob/674280cd86088a6cc3bd5c10dd56ece65bf5e517/addons/html_editor/static/src/main/link/link_plugin.js#L701
sentry-6639000902This update enhances the stability of the printer integration by adding exception handling for the Python escpos library. Previously, unexpected errors could cause the printer to fail, and this change ensures continued functionality. It's a routine fix to maintain reliable printing operations.
Original PR description
With python escpos library we are currently not catching some exceptions. This PR adds more exceptions to catch to keep the printer working Additional exception caught for >=v19.0 in https://github.com/odoo/odoo/pull/240429
This update corrects a display issue where task templates were incorrectly shown alongside regular tasks in the Odoo portal. The fix ensures that task templates are hidden from portal users, improving the clarity and usability of task management. This change was made to streamline the portal experience and prevent confusion.
Original PR description
Steps to Reproduce
- Log in as a portal user.
- Go to My Tasks and notice that task templates are visible with tasks.
- Share it with the portal user, giving edit access.
- Open the project sharing view and observe that task templates are visible there.
Cause
- The domains used to filter tasks in both the portal view and the project sharing view did not exclude task templates and it's sub-tasks. As a result, task templates were incorrectly shown alongside real tasks.
Solution
- Added `('has_template_ancestor', '=', False)` to the domain in the `_prepare_tasks_values` method to hide templates in the portal.
- Added `('has_template_ancestor', '=', False)` to the domain in the project sharing action to hide templates when listing tasks.
task-5079337
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#226602This update corrects a display issue in the Field Service > All Tasks view, preventing task templates and their associated tasks from appearing alongside real tasks. The fix ensures that users only see active, operational tasks, improving the clarity and usability of the Field Service interface.
Original PR description
Steps to Reproduce
- Navigate to Field Service > All Tasks.
- Observe that task templates are visible with tasks.
Issue
- Task templates are visible in the Field Service > All Tasks view, which is incorrect. Only real tasks should be listed.
Cause
- The domain in the view definition only filtered tasks by `is_fsm = True` and ` project_id != False`, but it did not exclude template tasks and sub-tasks of task templates.
Solution
- Added `('has_template_ancestor', '=', False)` to the domain so that only actual tasks are displayed in the Field Service > All Tasks view.
task-5079337
Forward-Port-Of: odoo/enterprise#94472This update fixes alignment issues within the partner forms and improves the user experience by hiding the 'MyInvois' tab for journal entries that aren't related to sales or purchases. This ensures that users only see relevant information, streamlining their workflow.
Original PR description
This commit: - Fixes alignment of the `MYINVOIS INFORMATION` section on the partner form. - Hides the `MyInvois` tab on journal entries where journal type is neither `sale` nor `purchase`. task-5356808 Forward-Port-Of: odoo/odoo#240333 Forward-Port-Of: odoo/odoo#239837
This update corrects an issue where product names were duplicated on delivery slips when a kit's component lacked a description. The fix ensures that product names appear only once on delivery slips, improving the clarity and accuracy of shipping documents. This resolves a potential confusion for customers and internal teams.
Original PR description
When creating a delivery slip, if the product sold is a kit and it's component doesn't have a description, the name will be repeated. Steps to reproduce: ------------------- * Create a product A with…
When creating a delivery slip, if the product sold is a kit and it's component doesn't have a description, the name will be repeated. Steps to reproduce: ------------------- * Create a product A with a bom of type kit * Add a product "comp" in the bom (don't give it a description) * Create a sales order with the product A and confirm it * Go on the delivery and create a delivery slip -> Issue, the name of the product "comp" appears twice. Observation: ------------- The name is added in description_picking field, since it is considered that the fallback for the description for outgoing deliveries should be display_name: https://github.com/odoo/odoo/blob/584f94e3246b6b59641bf83d4e707f2e872bc1e8/addons/stock/models/product.py#L293-L301 In _compute_description_picking, information about the bom will be added : https://github.com/odoo/odoo/blob/08c5fbbb5bc44c4810cd07188b29090c3060e14f/addons/mrp/models/stock_move.py#L235-L236 This causes the issue because the filter to prevent repeating the name on the delivery slip is implemented directly in the XML: https://github.com/odoo/odoo/blob/08c5fbbb5bc44c4810cd07188b29090c3060e14f/addons/stock/report/report_deliveryslip.xml#L83-L85 However, since we have added elements to the description (the bom information), this filter will not be applied, leading to the repeated name. opw-5265906
This update resolves an issue where local overlays were incorrectly persisting in the HTML editor after repeated editing and saving. The fix ensures that these overlays are properly cleared when the editor is destroyed, improving website performance and stability. This was a pre-existing issue addressed in 18.0, now resolved for all Odoo versions.
Original PR description
This commit ensures that local overlays are correctly removed when the Editor and `LocalOverlayPlugin` are destroyed. Steps to reproduce (observable after 18.4): - Go on website - Enter edit mode - Save - Repeat entering edit mode and saving - Inspect the DOM: oe-local-overlay elements keep accumulating, only one is non-empty The bug is only observable after 18.4, after the website refactoring, but the root cause has been present since 18.0, so we fix it there in case there are other use cases. task-5380409 Forward-Port-Of: odoo/odoo#239644
This update improves the accuracy of Thai VAT number input within Odoo. It now ensures that only 13-digit numeric VAT numbers are accepted for Thai partners, aligning with Thai regulations. This prevents incorrect data entry and ensures compliance.
Original PR description
This PR adds a validation method check_vat_th() to verify Thai VAT numbers. In Thailand, a VAT number must consist of exactly 13 numeric digits. For partners with country set to Thailand, the system will only allow VAT numbers that are exactly 13 digits long. Total credits go to: [Saran440](https://github.com/Saran440) `<saranl@ecosoft.co.th>` (See PR: https://github.com/odoo/odoo/pull/239164) Enterprise PR: odoo/enterprise#101905 Forward-Port-Of: odoo/odoo#240293 Forward-Port-Of: odoo/odoo#239616
This update corrects a test failure related to VAT number validation for Thailand. Following the recent implementation of stricter VAT number checks, a test case now incorrectly validates a sample VAT number. This fix ensures the Thailand VAT reporting functionality continues to operate correctly and aligns with regulatory requirements.
Original PR description
Following the implementation of proper validation for VAT numbers for Thailand, this now fails as the one set in the test doesn't follow the proper format. Community PR: odoo/odoo#239616 Total credits to @vin-odoo Forward-Port-Of: odoo/enterprise#102290 Forward-Port-Of: odoo/enterprise#101905
This update removes a 'New' button from the Payslip Work Days Lines Report and Payslip Line Report. This button was causing errors and was intended for viewing data only. This fix ensures these reports function correctly for viewing payroll information.
Original PR description
Remove the “New” button from the Payslip Work Days Lines Report and the Payslip Line Report. These reports are intended for viewing only, and allowing record creation caused a traceback. task-5416416 Forward-Port-Of: odoo/enterprise#102236