Daily updates from Odoo
Saturday, April 12, 2025
7 changes · 18.0
New functionality added to Odoo
This change adds an automated workflow to keep the GitHub repository mirrored to GitLab. It helps maintain an up-to-date backup or parallel copy with less manual work and fewer synchronization issues.
Original PR description
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
This change adds an automated process that keeps the GitHub repository mirrored to Bitbucket. It helps ensure the code remains available and synchronized across hosting platforms, supporting backup and integration needs without manual effort.
Original PR description
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
Enhancements to existing features
Opening the sharing settings on Knowledge articles is now much faster, especially for articles with many shared members or inherited permissions. This reduces long waits from minutes to milliseconds in large databases, improving responsiveness for users managing article access.
Original PR description
Description ----------- When clicking the sharing button on a knowledge article, the system retrieves all members linked to the article. This includes members directly tied to the article or…
Description ----------- When clicking the sharing button on a knowledge article, the system retrieves all members linked to the article. This includes members directly tied to the article or inherited through parent articles ( stopping at the first desynchronized article). In databases where articles have numerous associated members, the `_get_article_member_permissions` method suffers from severe performance issues. It retrieves *all* articles and their associated members, collects all parent articles in the hierarchy, and only then applies grouping and filtering based on the `id` of `self`. This process includes a `LEFT OUTER JOIN` on related tables to fetch specific `fields` passed as arguments, resulting in an O(n^2) complexity on large tables such as `res.partner` and `knowledge.article.member` (the latter being a Many2many relationship that typically contains a high volume of rows). This patch improves performance by shifting the grouping and filtering logic to the start of the process, effectively injecting all preconditions at the base of the recursion. This reduces the hierarchy of articles and memberships to explore. Additionally, the computation of inherited permissions—sourced from the "closest" ancestor article—is now handled at the SQL level instead of Python. This eliminates unnecessary rows in the process, avoiding unnecessary work in the business logic afterward. Benchmark --------- On a client's database with around 600 articles, 5k partners and 15k knowledge.article.member in total, for a specific article which has a total of 1.7k members (direct and inherited): | Request | Before | After | Speed-up | |--------------------------------|---------|-------|-----------| | `_get_article_permission_data` | 4.7+min | 150ms | **1880x** | Reference --------- opw-4603551
Miscellaneous changes
country_code has to be defined. Required field from Adyen. Falling back to the company country code or NL if the partner country is empty. opw-4698444 Forward-Port-Of: odoo/odoo#205723 Forward-Port-Of: odoo/odoo#205678
Original PR description
country_code has to be defined. Required field from Adyen. Falling back to the company country code or NL if the partner country is empty. opw-4698444 Forward-Port-Of: odoo/odoo#205723 Forward-Port-Of: odoo/odoo#205678
Problem: The inner content (text) of `oe-tabs` can be larger than the `span` itself, causing the selection to visually overflow outside the tab. Solution: Set `tab-size` to match `width` for `oe-tabs` to prevent the selection overflow. Steps to reproduce: 1. Add a tab between some text in the editor. 2. Select only the tab. 3. Notice that the selection (blue highlight) visually overflows outside the tab. opw-4711458 --- I confirm I have signed the CLA and read the PR guid
Original PR description
Problem: The inner content (text) of `oe-tabs` can be larger than the `span` itself, causing the selection to visually overflow outside the tab. Solution: Set `tab-size` to match `width` for `oe-tabs` to prevent the selection overflow. Steps to reproduce: 1. Add a tab between some text in the editor. 2. Select only the tab. 3. Notice that the selection (blue highlight) visually overflows outside the tab. opw-4711458 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#205130
A problem occurs when deleting a cash rounding method linked to a Point Of Sale configuration. After deleting the cash rounding, the following error message appears: “The cash rounding strategy of the point of sale Shop must be: 'Add a rounding line'.” because the rounding method is empty. The main issue arises when the cash rounding method is deleted while the POS session is open: it prevents the session from closing or modifying the cash rounding, locking the user out. Steps to reprod
Original PR description
A problem occurs when deleting a cash rounding method linked to a Point Of Sale configuration. After deleting the cash rounding, the following error message appears: “The cash rounding strategy of the point of sale Shop must be: 'Add a rounding line'.” because the rounding method is empty. The main issue arises when the cash rounding method is deleted while the POS session is open: it prevents the session from closing or modifying the cash rounding, locking the user out. Steps to reproduce: - Add a cash rounding for a POS - Open the POS session - Delete the cash rounding - Try to enter the POS - Error occurs This fix ensures that the deleted cash rounding is no longer linked to any POS configuration. opw-4651976 Forward-Port-Of: odoo/odoo#202773 Forward-Port-Of: odoo/odoo#202477
Steps to reproduce: - install helpdesk_timesheet - Go to `Timesheets` - Select ticket-linked timesheets only. - print report. Issue: - Tickets names are not rendered on the report, causing misalignment. Fix: - Updated condition to display table cell based on task, project, or ticket visibility task-4476391 Forward-Port-Of: odoo/enterprise#79546
Original PR description
Steps to reproduce: - install helpdesk_timesheet - Go to `Timesheets` - Select ticket-linked timesheets only. - print report. Issue: - Tickets names are not rendered on the report, causing misalignment. Fix: - Updated condition to display table cell based on task, project, or ticket visibility task-4476391 Forward-Port-Of: odoo/enterprise#79546