Monday, June 2, 2025
9 changes · saas-18.3
Resolved issues and error corrections
The live chat dashboard once again sorts agents by the number of chats they handle. This restores the intended ranking so managers can quickly see the most active agents without manually comparing data.
Original PR description
The "nbr_channel" measure was recently removed from the livechat report channel model. During this change, the agents are not sorted by number of chats in the dashboard. This PR fixes this issue. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The calendar view now adjusts its size without fully reloading when its surrounding layout changes. This reduces unnecessary work and helps keep the calendar experience smoother for users.
Original PR description
This commit optimize a previous fix as in this fix we always rerender the FullCalendar when the parent's sizing element was changed, but it's not optimal as we can call `updateSize` instead of `render`. Doc: > render > Will initially render a calendar, or if it is already rendered, will rerender it. > > --- > updateSize > Immediately forces the calendar to readjusts its size. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents the project dashboard from crashing when a vendor bill linked to a project has its analytic details removed. Users can continue viewing project profitability information without encountering an error in this purchase-related workflow.
Original PR description
When user tries to open the dashboard of project, A traceback will appear. Steps to reproduce the error: - Install ``sale_management``, ``project_purchase`` and ``accountant`` modules - Go to…
When user tries to open the dashboard of project,
A traceback will appear.
Steps to reproduce the error:
- Install ``sale_management``, ``project_purchase`` and ``accountant`` modules
- Go to Settings > Enable Analytic Accounting
- Create Project A > Billable: True > Go to Settings >
Select any analytic account in project(account_id)
- Make sure that bills are available
- Create A new PO > add any product > Other Information > Project: Project A >
Confirm Order > Bill Matching > Select a line > Match > Bill will be created
- Remove Analytic from Invoice Lines of the bill
- Go to Project > click on dropdown menu of Project A > Dashboard
Traceback:
```
File "/home/odoo/src/odoo/addons/project_purchase/models/project_project.py", line 161, in _get_profitability_items
percentage for ids, percentage in line.analytic_distribution.items()
AttributeError: 'bool' object has no attribute 'items'
```
https://github.com/odoo/odoo/blob/9cebb8c23d66a6aadd06bf0d806c65b67dc13ae7/addons/project_purchase/models/project_project.py#L161
When a user removes the analytic from the invoice lines of a bill,
``line.analytic_distribution`` becomes False,
So, It will lead to the above traceback.
sentry-6638122973
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis update makes an automated accounting test more stable by avoiding a changing field identifier and waiting for the amount field to be ready. It helps reduce false build failures, improving confidence in release validation without changing user-facing behavior.
Original PR description
The `account_accountant_tour` test was failing at the step that attempts to set an amount, due to the selector `input[id=amount_0]` not being found within the timeout. The root cause was that the selector used an ID (`amount_0`) which is dynamically generated and can change across test runs . To resolve this, the selector was replaced with a more stable one: `div[name=amount] input`, which targets the same field but does not rely on dynamic IDs. Additionally, a no-op wait step was introduced immediately before this interaction to ensure the DOM has fully rendered the input element before the test proceeds. build_error-220890
This fixes an error that could occur when searching or grouping documents by last access date with empty values. The change helps prevent unexpected failures in the Documents app and keeps document filtering more reliable.
Original PR description
…n values. A small error was been made in https://github.com/odoo/enterprise/pull/76079 (`_search_last_access_date_group`): the SQL string contains a %s without an argument, resulting in a "TypeError: not enough arguments for format string." Fix it. A test will be added later to the master branch in a later PR that found the issue https://github.com/odoo/odoo/pull/133224. https://github.com/odoo/odoo/pull/212115
Closing an AI agent chat box no longer causes an error when the chat has not been linked to a conversation. This prevents an unexpected crash and gives users a smoother experience in the AI module.
Original PR description
The system will crash because `AIAgent.close_chat()` requires a `channel_id`, and if `component.thread?.id` is undefined, it results in a missing argument error.
**Steps to Produce:-**
1. Install the `AI` module.
2. Navigate to the AI module. If an agent is already present, click on it. Otherwise, create a new agent.
3. Click on the agent to open the chat box.
4. Close the chat.
**Error:-**
`TypeError: AIAgent.close_chat() missing 1 required positional argument: 'channel_id'`
**Solution:-**
- Check that `component.thread.id` is present before calling
`AIAgent.close_chat`.
**Sentry : 6388425767**Fixes an issue where grouping account records by placeholder code could fail with an error. This helps users view and analyze accounting data more reliably in grouped lists and reports.
Original PR description
The web client considers the `account.account.placeholder_code` field to be groupable since there is an implementation inside _field_to_sql. However, grouping by this field results in a NotImplementedError because the search method doesn't implement equality. Equality is necessary because since the '__extra_domain' returned from `formatted_read_group` contains a leaf, such as `('placeholder_code', '=', ...)`.
Add the equality implementation to the search method. A test will be added later to the master branch in a later PR that found the issue https://github.com/odoo/odoo/pull/133224.
https://github.com/odoo/enterprise/pull/86626This fixes an issue in the website shop onboarding tour so users can complete the guided setup as expected. It helps new or configuring users follow the intended flow without getting blocked or confused.
This fixes failing Sales test checks when Odoo is built with only selected apps enabled. It helps keep automated validation reliable without changing the Sales experience for users.
Original PR description
runbot_error-161629 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr