Wednesday, August 27, 2025
9 changes · master
Enhancements to existing features
Thread action placement in live chat, helpdesk, and WhatsApp messaging has been simplified by removing the old sidebar-specific logic. This should make chat and discussion actions more consistent across different messaging views while reducing internal complexity.
Original PR description
This was added for contextual elligibility of showing of action in sidebar vs discuss top-right thread actions and chat window actions. This commit replaces the `sidebarActions` to explicit code in `condition`. The slight difference of sequences with partition has been considered with dynamic sequence based on conditions for "sidebar". This change also removes `partition` and `contextual action` that were defined to work in tandem with `sidebar` concept.
The accounting interface now shows the journal selection field only when the accounting app has multiple journals available and the user needs to choose one. This reduces unnecessary clutter when there is only one option, while still making the choice visible when it matters.
Original PR description
Improves journal field visibility for better user experience: - Shows journal field when `account_accountant` is installed and multiple journals are available for selection - Hides journal field when only one journal is available (no selection needed) - Completely hidden when only `account` module is installed Before: Journal field only visible when `accountant` module is installed. After: Journal field is visible when `account_accountant` module is installed and multiple journals are available. Related PR : https://github.com/odoo/odoo/pull/222209 Task : 4988183
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
Code cleanup and technical improvements
This update completes leftover cleanup from a broader date handling migration across several Odoo apps. It keeps underlying views and website data aligned with the new approach, reducing maintenance risk without changing day-to-day business workflows.
Original PR description
odoo/odoo#221348
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
The Knowledge and Web Studio areas were updated to use the new video permission setting behind the scenes. Users can still add videos in Knowledge through the existing embedded media flow, so there is no expected change in day-to-day behavior.
Original PR description
This commit adapts code to the replacement of the `allowMediaDialogVideo` option with `allowVideo`. For the knowledge module, inserting video will still be available (only) via an embedded component, so no functional changes are introduced. task-4384948