Wednesday, August 27, 2025
5 changes · master
Resolved issues and error corrections
Appointment video call redirection now works correctly when several calendar events are processed at once. This prevents an error that could block or break video call link setup for multiple appointments.
Original PR description
When computing `videocall_redirection`, the method `get_base_url()` was called directly on a recordset containing multiple `calendar.event` records. Since `get_base_url()` expects a singleton, this raised the error: Traceback: --- `ValueError: Expected singleton or no record: calendar.event(4, 6, 1, 5)` This commit ensures the computation is done per record, avoiding the singleton issue and allowing correct videocall redirection values to be set on multiple events. Reference review: https://github.com/odoo/enterprise/pull/53569#discussion_r1543135425 sentry-6819406171 Forward-Port-Of: odoo/enterprise#92717
Fixes an error that could occur when setting a Pricer Sales Pricelist on a product variant. Users can now update this field without interruption, including while working with newly created product records.
Original PR description
Steps to Reproduce: ---------------------------------- - Open the product variant form - Set the Pricer Sales Pricelist field - Traceback Issue: ---------------------------------- - `TypeError: ProductPricelist._compute_price_rule() takes 3 positional arguments but 4 were given` Cause: ---------------------------------- - `_get_product_price()` was calling `_compute_price_rule()` with positional args instead of named quantity - If the product record is not yet created (`product._origin` is False), it skips price computation logic Fix: ---------------------------------- - Pass `quantity=1.0` explicitly to `_compute_price_rule()` to resolve the argument mismatch - Handle case where `product._origin` is False by falling back to `product` itself Task-4888983 Forward-Port-Of: odoo/enterprise#92702 Forward-Port-Of: odoo/enterprise#88321
This fixes a crash that could happen when a user marked a planned activity as done after its related Studio approval rule had been deleted. Users can now complete those activities without being blocked by an error, improving reliability in approval workflows.
Original PR description
An error occurs when a user attempts to mark a scheduled activity as done after the associated approval rule has been deleted. **Steps to Reproduce:** 1) Install Sales and Web Studio modules. 2) Log…
An error occurs when a user attempts to mark a scheduled activity as done after the associated approval rule has been deleted. **Steps to Reproduce:** 1) Install Sales and Web Studio modules. 2) Log in as Admin and use Studio to add an approval rule to the Sale Order’s Preview button. >- Set Allowed Group to Access Rights. >- Set Responsible User to Mitchell Admin. 3) In the Incognito Tab, login as Demo, open the same sale order and click on preview to create activity in chatter. 4) Delete the Approval Rule in the original tab. 5) Switch back to Demo and click Mark Done under Planned Activity in chatter. **Error:** `SyntaxError: syntax error at or near ')'` `LINE 1: SELECT id FROM studio_approval_rule WHERE id IN () FOR UPDAT. ^` **Root Cause:** The error occurs because the SQL query at [1] includes an empty tuple of rule IDs `(all_rule_ids)`. An empty `IN ()` clause in SQL results in a syntax error. [1]- https://github.com/odoo/enterprise/blob/7ea45724e7689a0df11d20ace9c562788f5d19e3/web_studio/models/studio_approval.py#L366 **Solution:** This commit avoids the error by ensuring that the SQL query only runs when `all_rule_ids` is not empty. sentry-6306636466 Forward-Port-Of: odoo/enterprise#86982
Reopening a selection or numeric global filter in spreadsheets now replaces the current side panel instead of opening an extra one. This creates a more consistent editing experience and avoids confusing duplicate panels for users working with spreadsheet filters.
Original PR description
This commit aligns the behaviour of reopening the global filter side panel with the imp introduced in commit: https://github.com/odoo/enterprise/pull/92483/commits/60ceb8bd1188fdd14fdf72bac46a445e688f3683 Current behavior before PR: - Reopening a selection/numeric global filter side panel showed the previous behaviour (opening a new panel instead of replacing it). Desired behavior after PR is merged: - The same behaviour as in the commit applied: reopening side panel from a child now replaces the current one instead of opening a new side panel. Task: 5034264
This fix prevents the Point of Sale from showing an error when an order is unavailable while checking the amount due. It helps cashiers continue their workflow smoothly in edge cases where order data is missing.
Original PR description
Before this commit, accessing the order amount caused an error if the order was not defined. opw-5027426 Forward-Port-Of: odoo/enterprise#92928 Forward-Port-Of: odoo/enterprise#92736