Thursday, April 23, 2026
9 changes · 17.0
Resolved issues and error corrections
This update prevents portal users from seeing the 'View Timesheets' button on invoices if they lack the necessary permissions to access those timesheets. Previously, the system incorrectly displayed the button based on the presence of timesheets linked to the sale order, leading to a confusing user experience. The fix ensures users only see timesheets they are authorized to view.
Original PR description
sale: add sale order specific hook to extend page values ------ Allows adding custom data (e.g., timesheets) without overriding generic _get_page_view_values sale_timesheet: hide 'View Timesheets'…
sale: add sale order specific hook to extend page values
------
Allows adding custom data (e.g., timesheets) without overriding generic _get_page_view_values
sale_timesheet: hide 'View Timesheets' button for users without access
-------
Steps to Reproduce:
-----------------
- Create a product with the invoice policy set to Based on Timesheets
- Enable Project and Tasks on the order.
- Create and confirm a sale order using a portal user.
- Log timesheets on the related task.
- Create an invoice from the sale order.
- Log in as the portal user and open the invoice.
- Click the 'View Timesheets' button.
Issue:
-------------
The 'View Timesheets' button is shown to the portal user even though they don’t have access to view timesheets.
Root Cause:
------------
The timesheets are linked to the sale order, so the button appears based on the timesheet_count, but the portal user does not actually have permission to access those timesheets.
Fix:
-----------
We replaced the timesheet_count check with a check that verifies whether the user actually has access to any of the related timesheets.
task-4745519This update resolves an issue where portal users were incorrectly seeing a 'View Timesheets' button, despite lacking the necessary permissions. The fix utilizes a revised helper method to accurately control button visibility, ensuring users only see options they are authorized to access.
Original PR description
**Issue:** The 'View Timesheets' button is shown to the portal user even though they don’t have access to view timesheets. Currently, we have added _sale_order_get_page_view_values in the sale module, which is overridden in sale_timesheet. We are using it here. task-4745519
This update fixes an issue where closed Helpdesk tickets were sending out emails with the ticket's database ID instead of the correct reference number. This ensures consistent and accurate ticket references are used in customer communications, improving clarity and professionalism. The change updates a key email template to use the ticket reference.
Original PR description
Steps to reproduce: ------------------------ 1. Install the Helpdesk. 2. Go to Settings → Technical → Sequences and set the next number to 100. 3. Create a ticket and send a message using the…
Steps to reproduce: ------------------------ 1. Install the Helpdesk. 2. Go to Settings → Technical → Sequences and set the next number to 100. 3. Create a ticket and send a message using the "Helpdesk: Ticket Received" mail template; Observe that the correct reference (100) is used. (Open the full composer to use "Load template") 4. Now send a message using the "Helpdesk: Ticket Closed" mail template and Observe that it displays the database ID (e.g., 1) instead of the reference. Cause: ------ `new_ticket_request_email_template` uses the ticket reference(`object.ticket_ref`) correctly. https://github.com/odoo/enterprise/blob/d39e291ba89ad018ba6f5f9591d280a834822f27/helpdesk/data/mail_template_data.xml#L18-L19 However, the `solved_ticket_request_email_template` uses the database ID (`object.id`) instead of the actual ticket reference (`object.ticket_ref`), leading to inconsistent references in customer communications. related commit: 3ed5273 Solution: --------- Update `solved_ticket_request_email_template` to use `object.ticket_ref` instead of `object.id` opw-6087466
This update fixes an issue where upgrade scripts within Odoo modules weren't properly organized, leading to logging problems and unfiltered warnings. Now, these scripts are correctly associated with the core upgrade package, ensuring cleaner logging and proper handling of potential errors during updates.
Original PR description
The resulting modules should be bound to the `odoo.upgrade` package. Side effects: - the loggers created inside the upgrade scripts are now in the `odoo.upgrade` namespace. - warnings raised by bad usages in upgrade scripts are now correctly filtered. Forward-Port-Of: odoo/odoo#258025
This update resolves an inconsistency in how task deadlines are set in Field Service and Project apps when using the Gantt view. Previously, deadlines defaulted to today's date regardless of the selected time range. This change ensures deadlines align with the user's chosen timeframe, improving task planning and management.
Original PR description
Issue: ---------------------------------------- The default values of `date_deadline` are inconsistent between the Field Service app and the Project app when coming from the Gantt view. Steps to reproduce: ---------------------------------------- - Open Field Service, select the Gantt view - Change the range to display the week - Click "New" to create a new task - The default values for "Planned Date" are both on today's date - In Project, they would have been based on the time range of the Gantt view Cause: ---------------------------------------- A patch in `industry_fsm` implements change the default values to today. Solution: ---------------------------------------- Remove the patch responsible for this behavior. opw-6067523
This update resolves issues preventing the correct export of general ledger data in CSV format. Specifically, it corrects errors related to currency formatting and inactive currency handling, ensuring accurate and reliable reporting for financial data.
Original PR description
Follow-up to 8dfe4c0, addressing four issues in `_generate_csv_lazy_export`: 1. `AttributeError: 'int' object has no attribute 'id'` when `col['currency']` is a raw integer on aggregate lines returned by `_get_lines` with `no_format=True`. 2. `KeyError` on `decimal_places_per_cur_id` when a foreign currency account uses an inactive currency. The currency lookup was built with the default `active_test=True`, excluding archived currencies. opw-5994050
This update replaces a broken video snippet on the website with a new, publicly available video. The previous video was no longer accessible, causing a blank space in the edit mode. This ensures a consistent and functional video experience for users.
Original PR description
Specification: - The previously embedded video used by the "s_video" snippet (id=G8b4UZIcTfg) is no longer publicly available. After this commit: - This commit replaces the default video with a new publicly available one (id=nbso3NVz3p8). task-6034987 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update removes a redundant process in the account_edi_ubl_cii module for Belgium (BE). Previously, the system was incorrectly switching between different data formats when determining the best EDI endpoint. Now that we consistently use the 0208 format, this unnecessary recomputation has been removed, streamlining the process.
Original PR description
When adding peppol, we didn't know if we needed to use the 9925:BE or 0208. Therefore, we switched between them if the endpoint was not found. This has no more use today as we use 0208. opw-5976574 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#258297
This update fixes an issue where the 'Hide lines at 0' feature was removing the report-level total line from printed reports like the Trial Balance. The change ensures that total lines, including the main report total, are always displayed when this feature is enabled, improving report clarity and accuracy.
Original PR description
When "Hide lines at 0" is enabled, printing e.g. the Trial Balance will drop the report-level "Total" line when printing. This commit fixes that. The issue was introduced in this commit[^1], which didn't consider total lines without a parent (i.e. root total lines). [^1]: https://github.com/odoo/enterprise/commit/7fec18b99eb2aa5ebc357dcad5f95f234db5b7d8