Daily updates from Odoo
Wednesday, June 24, 2026
238 changes
15 changes
Enhancements to existing features
This update adjusts the XPath expressions used in the Website Builder template to align with recent changes made in the Odoo community version. This ensures consistent and accurate rendering of the website, resolving potential display issues. It's a routine maintenance update to maintain website functionality.
Original PR description
Adapt the XPath to the XML changes in community for the website.WebsiteBuilder template. task-6251151
This update enhances the Odoo system's ability to handle new analytic plans. Specifically, it ensures that newly created plans are correctly reflected in the user interface, mirroring a similar improvement for companies. This change improves the overall usability and accuracy of analytic planning.
Original PR description
The views need to include the newly created field on `account.analytic.line` and other models inheriting `analytic.plan.fields.mixin`. This is based on the same service for `res.company`: `reloadCompany` Forward-Port-Of: odoo/odoo#270789
Resolved issues and error corrections
This update restores the creation of rounding move lines within the Point of Sale module. Previously, when the pos_stock module wasn't installed, rounded payments weren't properly accounted for, leading to inaccurate financial records during session closing. This fix ensures accurate financial reporting by correctly handling rounded payment amounts.
Original PR description
Before this commit: = - The rounding move line creation was moved from point_of_sale to pos_stock while removing the dependency of stock on point_of_sale. - As a result, when pos_stock was not installed, no rounding move lines were created for rounded PoS payments, leading to unbalanced journal entries during session closing. After this commit: = - Restored the rounding move line creation in point_of_sale so that rounded payments are correctly handled. task-6214240 runbot-error-242920
This update prevents role warning messages from appearing to users who don't have administrative access to planning. Only administrators, who are responsible for managing roles, will now see these alerts. This improves the user experience by reducing unnecessary notifications.
Original PR description
This commit hides the warning about a resource missing the shift's role from users without the "Planning > Administrator" access right, as only administrators can assign roles and act on the warning. task-6303545
This update corrects a bug where the number of closed tickets displayed was incorrectly including tickets closed today. The change filters out closed tickets to provide a more accurate count, ensuring reporting and data analysis are reliable. This improves the transparency and accuracy of helpdesk metrics.
Original PR description
Before: The Tickets Closed number matches the actual tickets when clicking on it. It shows the tickets closed today, which should be excluded. After: Change the domain of the `ticket_closed` to be able to exclude tickets that are closed today --- task-6234330
This update fixes an issue where long 'Discard' or 'Save' labels in the website builder sidebar would overflow, causing display problems in certain languages. The change now uses ellipsis and tooltips for these labels, ensuring a clean and consistent user experience across all languages.
Original PR description
Before this commit, long `Discard` or `Save` labels could overflow in the website builder sidebar in some languages. After this commit, these labels use an ellipsis and show a tooltip when they are truncated. task-6251151
This update resolves an issue where E-Way Bill amounts were incorrectly calculated when sales prices included tax. The fix ensures that the tax is properly accounted for, leading to accurate E-Way Bill generation for sales with tax-included prices. This impacts sales orders and delivery challans.
Original PR description
`*` = `ewaybill_Stock, sale_stock, purchase_stock` **Steps to reproduce:** * Install `l10n_in_ewabill_stock` and `l10n_in_sale_Stock`. * Set the Default Tax Price Setting to "Tax Included". * Create…
`*` = `ewaybill_Stock, sale_stock, purchase_stock` **Steps to reproduce:** * Install `l10n_in_ewabill_stock` and `l10n_in_sale_Stock`. * Set the Default Tax Price Setting to "Tax Included". * Create a Sales Order (e.g. unit price 300, qty 600, 18% GST) and confirm the Delivery Challan/Delivery Order. * Generate an E-Way Bill from the Delivery Challan. **Observed behavior:** * The Taxable Amount and Total Invoice Amount are displayed incorrectly in the generated E-Way Bill, including both the printed document and the JSON. * The `ewaybill_price_unit` shows the tax-excluded price (e.g. 254.24) instead of the original tax-included price (300), leading to a double tax exclusion when `compute_all` processes it. **Cause:** * `_l10n_in_get_product_price_unit` in both `l10n_in_sale_stock` and `l10n_in_purchase_stock` unconditionally used `price_subtotal / qty` to compute the E-Way Bill price unit. `price_subtotal` is always tax-excluded, so for tax-included prices, the tax was already stripped. * `_l10n_in_tax_details_by_stock_move` then passed this already tax-excluded price to `compute_all` with taxes that have `price_include=True`, causing `compute_all` to strip the tax a second time (e.g. 254.24 / 1.18 = 215.46 instead of the correct 254.24). **Fix:** * Check whether any of the line's taxes have `price_include` set. If so, use `price_total / qty` (which preserves the tax-included price) so that `compute_all` can correctly extract the tax. Otherwise, continue using `price_subtotal / qty` as before. opw-6273101 Forward-Port-Of: odoo/odoo#271684 Forward-Port-Of: odoo/odoo#268504
This update enhances the Redsys payment process by translating cryptic error codes into clear, understandable messages. Previously, failed transactions were difficult to diagnose, leading to customer frustration. Now, support teams can quickly identify and resolve payment issues, improving the overall customer experience.
Original PR description
Raw Redsys response codes were not human-readable, making it hard to diagnose failed transactions or provide meaningful feedback. See: https://pagosonline.redsys.es/desarrolladores-inicio/integrate-con-nosotros/parametros-de-entrada-y-salida/#tablepress-11_wrapper --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#269968
This update fixes an issue where the tag container overlapped with the header due to changes in translated strings. The fix automatically adjusts the container's position and reduces its height to ensure a clean and consistent layout across different languages and header configurations. This improves the overall user experience.
Original PR description
Description: - The `.o_sign_template_tags_and_save` container relied on a hardcoded vertical offset (`top: 65px`) while being absolutely positioned. This assumed a fixed control panel height and…
Description: - The `.o_sign_template_tags_and_save` container relied on a hardcoded vertical offset (`top: 65px`) while being absolutely positioned. This assumed a fixed control panel height and caused the tags container to overlap with the header content when the neutralized red header bar expanded to multiple lines due to longer translated strings. - Replaced `top: 65px` with `top: auto` to remove the dependency on a fixed vertical offset and allow the element to be positioned according to its computed static position. - Reduced the height of `.o_field_widget.o_field_many2many_tags` from `50px` to `35px` to better fit the available space within the header area and prevent visual overlap between tag rows and surrounding elements. - This change preserves the existing positioning strategy while making the layout resilient to variable header heights caused by translations and other content-dependent UI variations. 19 - https://github.com/odoo/enterprise/blob/3db8db2eac3dff1485c6a1c977c80e573bfe6cab/sign/static/src/scss/sign_backend.scss#L486 Before fix: <img width="1874" height="443" alt="image" src="https://github.com/user-attachments/assets/196feab3-3460-4ed9-9f57-d7744e9c4e4b" /> After fix: <img width="1319" height="412" alt="image" src="https://github.com/user-attachments/assets/93ae5bcd-f0f0-4999-9cf7-f83b82d689ac" /> Forward-Port-Of: odoo/enterprise#118937
A technical issue preventing the creation of opportunity buttons on the website was resolved. The fix corrects a problem caused by recent code changes that incorrectly called a function used to create HTML elements. This ensures that users can now successfully create opportunities from their accounts.
Original PR description
**Steps to reproduce:** - Install CRM app with website_crm_partner_assign - Go to the current user contact page > Partner Assignment - Set its partner level (e.g. Gold) - Go the `/my/opportunities` url of the website - Create opportunity button should be available - On click an error is raised: `TypeError: this.el.createElement is not a function` **Issue:** `createElement` is a method of `Document`, but it's called from a dom element after some `Interactions` refactoring. **Fix:** Properly call the method like before. related: https://github.com/odoo/odoo/commit/22e777c046521f3f89b62caa5876680beb7f5aba opw-6267473 Forward-Port-Of: odoo/odoo#268036
This update fixes an issue where certain configuration settings, specifically a 'bin_path' option, weren't being saved correctly when updating configuration files. Previously, these settings would be lost during a save operation. Now, any setting defined within a configuration file will be preserved across subsequent saves, ensuring consistent system behavior.
Original PR description
Have a configuration file with a "bin_path" entry. Use that config file and --save it. The "bin_path" entry is removed from the new config file, it should had been persisted. The problem is common to all "undocumented options", options that did not exist in `config.py` before ConfigCleaner(7) and that were not created upon --save. We can argue about creating or not those options upon --save with the default config, but what's sure is that when the option be set in the config file, then it must be persisted across saves. Task-6106771 Reference-to: 80007415d621 ([REF] core: ConfigCleaner(7) remove deprecated options) 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 Forward-Port-Of: odoo/odoo#270191 Forward-Port-Of: odoo/odoo#258377
This update resolves an issue where switching between models within the Website Studio form builder caused a crash. The fix ensures both the currently displayed form and the newly selected model are retained in the system's memory, preventing errors and improving the overall stability of the form switching process. This enhances the user experience and reduces the risk of data loss.
Original PR description
Selecting a second model through the Action option's "More models" crashed because the current form model was dropped from the models cache while the new model was being applied. This commit keeps both the current form model and the model being applied in the cache. Steps to reproduce: - Add a form snippet - Click on the form - In the `Action` option, select `More models` - Select one model - Open `More models` again and select another model - Traceback appears: `TypeError: Cannot read properties of undefined (reading 'website_form_key')` task-6321878 Forward-Port-Of: odoo/enterprise#121492
This update removes an outdated method for retrieving system parameters in the l10n_fr_pdp module. Switching to a more standard approach ensures greater reliability and consistency in French payroll processing. This change is a technical update focused on internal improvements.
Original PR description
This commit will remove the use of the get_param for system parameter and instead use get_str no task id --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#271342
This update resolves an issue where the due date calculation for French payroll was incorrect, particularly in November. It also corrects a technical error that prevented the system from properly processing records, improving data accuracy and reliability. This change ensures proper French payroll processing.
Original PR description
- Fix due date calculation (returned month 0 if move date was in November) - Fix ensure_one error, avoid calling _deduce_country_code() on an empty recordset opw-6293701 Forward-Port-Of: odoo/odoo#270148 Forward-Port-Of: odoo/odoo#270003
This update resolves a potential instability issue in our spreadsheet testing process. Previously, tests were failing unpredictably due to a lack of awaiting asynchronous operations. By adding the necessary 'await' calls, we've made the tests more reliable and consistent, preventing random test failures.
Original PR description
Some tests did a `model.exportXLSX()` to verify it didn't crash, but did not `await` so a crash would break another test at random. Task: [6328937](https://www.odoo.com/web#id=6328937&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) 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 Forward-Port-Of: odoo/odoo#271721
8 changes
Resolved issues and error corrections
A recent update (19.2) caused a test to fail when only the HR holiday Gantt chart module was installed. The issue stemmed from a payroll-related field within the test's configuration. This fix resolves the test failure and ensures the module's functionality remains stable.
Original PR description
__ ## Error description When the test runs with only the module `hr_holidays_gantt` installed, it fails. ## Origin of the issue There's a payroll related field in the `read_specification` variable. ### Note The error is only triggered since 19.2. __ original commit: https://github.com/odoo/odoo/pull/256636
This update fixes an issue where a specific configuration setting, 'bin_path', wasn't being saved correctly when updating configuration files. Previously, changes made directly to a configuration file weren't reflected after using the '--save' command. This ensures that all configuration settings, especially those not present in the core system, are reliably saved across updates.
Original PR description
Have a configuration file with a "bin_path" entry. Use that config file and --save it. The "bin_path" entry is removed from the new config file, it should had been persisted. The problem is common to all "undocumented options", options that did not exist in `config.py` before ConfigCleaner(7) and that were not created upon --save. We can argue about creating or not those options upon --save with the default config, but what's sure is that when the option be set in the config file, then it must be persisted across saves. Task-6106771 Reference-to: 80007415d621 ([REF] core: ConfigCleaner(7) remove deprecated options) 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 Forward-Port-Of: odoo/odoo#270191 Forward-Port-Of: odoo/odoo#258377
This update resolves a bug that caused the Website Studio form builder to crash when switching between different model types via the 'More models' option. The fix ensures both the current and newly selected models are retained in the system's memory, preventing errors and improving the user experience.
Original PR description
Selecting a second model through the Action option's "More models" crashed because the current form model was dropped from the models cache while the new model was being applied. This commit keeps both the current form model and the model being applied in the cache. Steps to reproduce: - Add a form snippet - Click on the form - In the `Action` option, select `More models` - Select one model - Open `More models` again and select another model - Traceback appears: `TypeError: Cannot read properties of undefined (reading 'website_form_key')` task-6321878 Forward-Port-Of: odoo/enterprise#121492
This update removes an unnecessary 'external' tag from a key delivery module component. Previously, errors related to this component were only caught during nightly testing, leading to delayed detection. Fixing this tag requires updating some tests to ensure accurate and consistent monitoring.
Original PR description
Test class was tagged as external although calls are mocked. This means errors were only caught in nightly and not by CI. Removing the tag requires fixing some of the tests. For `test_multicollo`, we send the average weight of packages instead of the total since 97f82442c9fee7dcb3e8c5e9bacddcd6bb864e11. Forward-Port-Of: odoo/enterprise#121404 Forward-Port-Of: odoo/enterprise#111660
This update fixes an issue where long customer addresses in the Field Service kanban view would be cut off and displayed incorrectly. The change adjusts the layout to ensure addresses fit neatly within the kanban card, improving the user experience and readability of customer information. This ensures a cleaner and more professional appearance.
Original PR description
Steps to reproduce: - 1. Open the Field Service planning view in kanban. 2. Make sure a shift's customer has a long address (long street lines). 3. Look at that shift's card in the kanban view. Issue: - The customer address overflows the card and is clipped at its right edge instead of staying within the card boundaries. Cause: - The customer is rendered with the `many2one` widget and `show_address`, which marks each address line `text-truncate`. Truncation only works inside a width-bounded container, but the field root `.o_field_many2one` is an inline-flex item with the default `min-width: auto`, so it grows to fit the longest address line instead of shrinking to the card. As a result, `text-truncate` never engages and the address spills past the card. Fix: - Add the `min-w-0` class to the partner field so the flex item shrinks to the available card width. task-6272209
This update removes an outdated method for retrieving system parameters in the l10n_fr_pdp module. Switching to a more standard approach ensures greater stability and efficiency of the French payroll processing functionality. This change is a routine maintenance update.
Original PR description
This commit will remove the use of the get_param for system parameter and instead use get_str no task id --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#271342
This update resolves an issue where the due date calculation for French payroll was incorrect, specifically returning a month of 0 for November transactions. Additionally, a bug was fixed that prevented errors when processing empty recordsets, ensuring data integrity and reliable payroll processing. This improves the accuracy and stability of the French payroll module.
Original PR description
- Fix due date calculation (returned month 0 if move date was in November) - Fix ensure_one error, avoid calling _deduce_country_code() on an empty recordset opw-6293701 Forward-Port-Of: odoo/odoo#270148 Forward-Port-Of: odoo/odoo#270003
This update resolves a potential issue where spreadsheet tests could unexpectedly fail due to unhandled errors during file export. By adding necessary `await` calls, the tests are now more reliable and less prone to breaking other tests. This enhances the overall stability of the spreadsheet functionality.
Original PR description
Some tests did a `model.exportXLSX()` to verify it didn't crash, but did not `await` so a crash would break another test at random. Task: [6328937](https://www.odoo.com/web#id=6328937&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) 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 Forward-Port-Of: odoo/odoo#271721
2 changes
Resolved issues and error corrections
This update resolves an issue where switching between models within the website studio's 'More models' feature caused a crash. The fix ensures both the current and newly selected models are retained in the system's memory, preventing errors and improving the overall stability of form switching. This enhances the user experience for managing multiple forms.
Original PR description
Selecting a second model through the Action option's "More models" crashed because the current form model was dropped from the models cache while the new model was being applied. This commit keeps both the current form model and the model being applied in the cache. Steps to reproduce: - Add a form snippet - Click on the form - In the `Action` option, select `More models` - Select one model - Open `More models` again and select another model - Traceback appears: `TypeError: Cannot read properties of undefined (reading 'website_form_key')` task-6321878 Forward-Port-Of: odoo/enterprise#121492
This update resolves an issue where the due date calculation for French payroll was inaccurate, particularly in November. It also corrects a technical error that prevented the system from properly processing certain records. These changes ensure accurate reporting and data processing for French businesses using this module.
Original PR description
- Fix due date calculation (returned month 0 if move date was in November) - Fix ensure_one error, avoid calling _deduce_country_code() on an empty recordset opw-6293701 Forward-Port-Of: odoo/odoo#270148 Forward-Port-Of: odoo/odoo#270003
3 changes
New functionality added to Odoo
This update allows businesses to directly generate a BIR 2307 withholding tax certificate for individual vendor bills within Odoo. Previously, these certificates required manual creation. Additionally, the update reduces the number of blank rows in the 2307 report, ensuring the certificate fits on a single page for easier processing.
Original PR description
Add the ability to issue a BIR 2306/2307 withholding tax certificate for a single confirmed vendor bill directly from the bill. task-6219272
This update introduces the ability to track and manage employee mobility budget expenses directly within Odoo. It adds new features to record and categorize these expenses, providing better visibility into employee travel costs and supporting compliance. This enhancement improves financial reporting and simplifies expense management for HR teams.
Original PR description
task-6034871
Enhancements to existing features
This update ensures that internal users can always see tickets they've been assigned to within the customer portal, regardless of their company access. Previously, this wasn't possible, creating a gap in internal support workflows. This change improves internal team efficiency and visibility.
Original PR description
Show the internal ticket user if assigned to a ticket as a customer, even if no access to the company this ticket belongs to. Adjust the domain of filtering tickets to show the assigned ticket to him in the portal. Task-4049642
4 changes
Enhancements to existing features
This update automatically sends emails to Odoo companies when Stripe restricts a connected account due to KYC requirements. It proactively alerts businesses to potential issues with their Stripe accounts, ensuring they address necessary documentation updates promptly. This prevents disruptions to expense processing and maintains compliance with Stripe's policies.
Original PR description
When a company tries to create a connected account, some official documentation need to be submitted to Stripe. Stripe takes care of the KYC steps and might restrict some account which don't meet the requirements. Odoo receives the details about the error and the date of the restriction. This task aims at sending automatic emails to the said companies to let them know that they need to fix the identified issues. task: 5441662
Resolved issues and error corrections
This update corrects a technical error preventing ‘Require Signature’ options for UPS deliveries within the US and some other regions. The fix adjusts the UPS API request to correctly handle signature requirements and ensures proper accessorial scope is applied, resolving delivery errors. This ensures accurate shipping and rating functionality for UPS shipments.
Original PR description
## Issue When a user configures a UPS REST delivery method with **"Require Signature"** enabled, the integration fails during both rating and shipping for US domestic shipments (and certain other…
## Issue When a user configures a UPS REST delivery method with **"Require Signature"** enabled, the integration fails during both rating and shipping for US domestic shipments (and certain other origin-destination pairs). The UPS API rejects the payload with the following error: > `The requested accessory option is unavailable between the selected locations.` ## Cause / Root Analysis There are two distinct issues in the current `ups_request.py` implementation: **1. Invalid Accessorial Scope (Shipment vs. Package level)** The current code unconditionally applies the `DeliveryConfirmation` node to `ShipmentServiceOptions`. However, according to the UPS Delivery Confirmation Origin-Destination rules, US domestic, CA domestic, and PR-to-US shipments **must** apply this accessorial at the package level (`PackageServiceOptions`). Applying it at the shipment level causes the UPS API to immediately reject the request. **2. Invalid DCISType Code** In both the rating and shipping methods, the code injects `'DCISType': '1'`. According to the UPS REST API schema, `1` does not actually request a signature: > `1` - Unsupported > `2` - Delivery Confirmation Signature Required > `3` - Delivery Confirmation Adult Signature Required *References to current implementation:* * [Rating: ups_request.py#L277](https://github.com/odoo/enterprise/blob/6d85b729b96f18df1cb5ecc429b79d3b37671c1f/delivery_ups_rest/models/ups_request.py#L277) * [Shipping: ups_request.py#L394](https://github.com/odoo/enterprise/blob/6d85b729b96f18df1cb5ecc429b79d3b37671c1f/delivery_ups_rest/models/ups_request.py#L394) ## Expected Behavior & Fix This PR aligns the Odoo payload with the official UPS REST routing matrix: 1. Changed `DCISType` from `'1'` to `'2'` to correctly request the signature. 2. Introduced a `_get_signature_scope` helper method that evaluates the origin and destination country codes. 3. Dynamically injects `DeliveryConfirmation` into either `PackageServiceOptions` (P) or `ShipmentServiceOptions` (S) based on the exact routing rules specified by UPS. ## Potential Future Enhancements While this PR resolves the immediate API crash, there are two UX/functional improvements that would better align with real-world shipping workflows: 1. **Move/Mirror Signature Toggle to Order/Transfer Level:** Currently, `ups_require_signature` sits on the `delivery.carrier` method. In practice, shippers rarely use a dedicated shipping method just for signatures; they usually apply a signature requirement dynamically based on order value or contents. Allowing a "Signature Required" boolean directly on the `sale.order` or `stock.picking` would vastly improve usability. 2. **Configurable Signature Type:** This fix defaults to `DCISType: '2'` (Signature Required) to resolve the bug, but exposing a configuration option to select between Standard Signature (`2`) and Adult Signature Required (`3`) would fully round out the integration. ## References (UPS Official Documentation) * [UPS Shipping API Documentation](https://developer.ups.com/tag/Shipping?loc=en_US) * [UPS Shipping Appendix (Delivery Confirmation Pairs)](https://developer.ups.com/api/reference/shipping/appendix1?loc=en_US) * [UPS Rating API Documentation](https://developer.ups.com/tag/Rating?loc=en_US) * [UPS Rating Appendix (Delivery Confirmation Pairs)](https://developer.ups.com/api/reference/rating/appendix?loc=en_US)
This update corrects an inconsistency in how completed document rights are managed within the Enterprise system. The change ensures that rights associated with finalized documents are accurately reflected, preventing potential access issues. This improves data integrity and reliability for document-related workflows.
This update resolves an issue in the website studio where switching between multiple form models through the 'More models' feature would cause a crash. The fix ensures both the original and newly selected models are retained in the system's memory, preventing data loss and improving stability.
Original PR description
Selecting a second model through the Action option's "More models" crashed because the current form model was dropped from the models cache while the new model was being applied. This commit keeps both the current form model and the model being applied in the cache. Steps to reproduce: - Add a form snippet - Click on the form - In the `Action` option, select `More models` - Select one model - Open `More models` again and select another model - Traceback appears: `TypeError: Cannot read properties of undefined (reading 'website_form_key')` task-6321878 Forward-Port-Of: odoo/enterprise#121492
5 changes
Resolved issues and error corrections
This update fixes a visual inconsistency within the Odoo application. The flag image for Mauritania was incorrectly displayed. This change ensures accurate representation of countries within the system, improving the overall user experience.
Original PR description
[task-6320443](https://www.odoo.com/odoo/project.task/6320443) Forward-Port-Of: odoo/odoo#271488
This update fixes a performance issue within the Odoo gevent server by proactively loading database registries. Previously, the server wasn't properly configuring these registries, leading to slower startup times. This change ensures the server is optimized for speed and efficiency.
Original PR description
The code to set the registry size was moved to `preload_registries`. The gevent server does not preload registries and thus does not set the registries size. Instead of moving the code again, we can preload registries in the gevent server. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#271640
This update fixes a potential issue where private tasks could be incorrectly set as parents for other tasks. This change ensures tasks remain properly organized and prevents confusion for users managing project workflows. It's a routine maintenance update to improve task management clarity.
Original PR description
In this commit, we ensure that private tasks can never be selected as parent tasks. task-5119141 Forward-Port-Of: odoo/odoo#270795
This pull request reverses a recent update that removed standard views and fields from the l10n_fr_pdp module. This change was causing issues with upgrades and is being reverted to ensure continued compatibility and stability. A subsequent update will reintroduce the cleanup with inactive views and fields.
Original PR description
Revert commit 75aff8b7bea3 ([IMP] l10n_fr_pdp: move e-reporting details to chatter). The cleanup removed standard views and fields in stable, which is not upgrade-safe and breaks forward-port upgrade checks. A follow-up PR will reintroduce the cleanup while keeping the obsolete views and fields available but inactive.
This update corrects an issue where the ICS file generated for events didn't reflect the language currently selected on the website. Previously, it always used the backend language, causing confusion for users. This change ensures the ICS description aligns with the frontend language, matching expected behavior and Google Calendar integration.
Original PR description
Steps to reproduce: - Make sure you have 2 or more languages installed - Install events and website app - For the website, apply the languages you have in settings. Make sure the default language is…
Steps to reproduce: - Make sure you have 2 or more languages installed - Install events and website app - For the website, apply the languages you have in settings. Make sure the default language is different from the chosen backend language - Create an event - Go to the event's website page through the smart button - Switch the language of the frontend to one that is different from the backend - Translate (alter) the description for this language - Click on the outlook icon to download the ics Current Behavior: The ics will contain a description based on the backend's chosen language Expected Behavior: The ics will contain a description based on the website's chosen language at the time Clarification: The current behavior is confusing for users as they will expect the ics to match the description of the current webpage which is dependent on the frontend's selected language. This current behavior also contradicts the google calendar behavior which grabs the description based on the frontend's selected language. Also in Odoo 19+, this leads to a "bug" where if a user has a selected backend language that's not present in the website, then the ics will always contain the default description since the language is not present on the website. The only way to circumvent this bug would be to add the language to the website which shouldn't need to happen opw-6235320
1 change
Resolved issues and error corrections
This update optimizes the process of forecasting stock information, specifically for large inventories. By removing an inefficient loop, the system now responds much faster when accessing manufacturing orders, leading to improved overall performance. This change reduces delays and enhances the responsiveness of the stock management system.
Original PR description
Before this commit, database with large amounts of `stock.move` records could face slow downs when trying to access Manufacturing Orders. While this is partially due to very heavy computations being…
Before this commit, database with large amounts of `stock.move` records could face slow downs when trying to access Manufacturing Orders. While this is partially due to very heavy computations being done, another factor was the use of a loop in `_compute_forecast_information`. This loop would iterate over a recordset of `stock.move` records and put them into a dictionary, sorted by location. As the size of the recordset grew, this loop would take longer and longer. Here, we remove this loop and instead use a built in method to speed things up. ## Benchmarks: |Record count|Time before|Queries before|Time after|Queries after| |------------|-----------|--------------|----------|-------------| |6,262 |0.13s |68 |0.12s |68 | |68,882 |0.60s |112 |0.58s |109 | |432,317 |5.49s |398 |3.68s |309 | |757,702 |15.33s |1,141 |5.79s |599 | [opw-6310415](https://www.odoo.com/odoo/action-6450/6310415?debug=assets)