Thursday, April 2, 2026
35 changes · 19.0
New functionality added to Odoo
This pull request introduces a new method in the stock orderpoint module, allowing for easier customization of the quantity to order calculation. This change provides greater flexibility for businesses to tailor their ordering processes to specific needs without directly modifying core Odoo functionality. It’s a minor improvement designed to support future customization efforts.
Original PR description
… for future customization of qty_to_order 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
This update adds the delivery address to the TicketScreen in Point of Sale. This allows sales teams to quickly view and confirm the correct delivery address while scheduling deliveries, streamlining the order fulfillment process. It addresses a previous need for clearer visibility of delivery information.
Original PR description
In this commit: =============== - Added address details on the TicketScreen when the order preset identification type is `address`. - This helps to easily see the delivery address while scheduling the delivery. Task-5974595 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Resolved issues and error corrections
This update corrects a visual issue where the table row menu was misaligned on RTL (Right-to-Left) websites. The fix ensures the menu's position is correctly calculated based on the website's language direction, improving the user experience for Arabic and other RTL language users. This resolves a bug impacting table display consistency.
Original PR description
Problem: In RTL websites, the table row menu is not placed correctly. Cause: The `inlineStartOffset` calculation in `table_menu` depends on the `direction` parameter, which was not passed during the editor initialization. Solution: Ensure the `direction` parameter is properly passed during editor initialization so the `inlineStartOffset` is computed correctly in RTL layouts. Before: <img width="1091" height="682" alt="image" src="https://github.com/user-attachments/assets/964903b2-d33b-48aa-86c2-632cc5adac9a" /> After: <img width="1093" height="658" alt="image" src="https://github.com/user-attachments/assets/846fd39c-1114-408d-a1f4-75b27218b9b0" /> Steps to reproduce: - Change website language to Arabic. - Add a text block and insert a table inside. - Hover over the first table row. - Observe the row menu is misplaced. opw-6049260 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Features or functions removed from Odoo
This update removes restrictions on which PEPPOL numbers can be used for registration. Previously, only numbers from the PEPPOL list were accepted. Now, a wider range of PEPPOL numbers from different countries can be utilized, increasing flexibility for international business operations.
Original PR description
Before this commit, only numbers on the peppol list were able to be registered. Now is possible to add numbers from other countries. Task-6033336 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#254373
Documentation and clarification updates
This update corrects a minor detail in the Optesis documentation by updating the contributor list. Specifically, the name of Ibrahima NIASSE EXT has been added to reflect the most current information. This ensures accurate representation of project contributors.
Original PR description
Replaced Mame Abdoul Aziz SY with Ibrahima NIASSE EXT in the contributors list. 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#256563
This update corrects a previous issue where line breaks added to quotation template section titles were being removed. The change ensures section titles remain editable as intended, preventing users from needing to create new sections for formatted titles. This improves the usability of quotation templates.
Original PR description
Steps to produce: --- - Install `Sales` module. - Go to `Sales > Configuration > Sales Orders > Quotation Templates`. - Create a new template and add a section. - In the section name, add text with…
Steps to produce: --- - Install `Sales` module. - Go to `Sales > Configuration > Sales Orders > Quotation Templates`. - Create a new template and add a section. - In the section name, add text with line breaks using `Shift + Enter`. - Go to sale orders > Create new SO > Set quotation template created above. Issue: --- - Line breaks entered in the quotation template section lines are stripped when the template is applied to a sale order. These intentional sections are meant to be single-line titles; users should create a new section instead of using line breaks within one. Root cause: --- - At [1], the `name` field is defined without the `section_and_note_text` widget. This widget is responsible for rendering section lines as a `CharField` instead of a `TextField`, as seen at [2]. Solution: --- - Add `widget="section_and_note_text"` to the `name` field. This ensures section lines consistently use `CharField`, preventing line breaks from being entered. [1]https://github.com/odoo/odoo/blob/951b44c0ed5ffb90cff6fa2934ca2664d2faa59d/addons/sale_management/views/sale_order_template_views.xml#L96 [2]https://github.com/odoo/odoo/blob/951b44c0ed5ffb90cff6fa2934ca2664d2faa59d/addons/account/static/src/components/section_and_note_fields_backend/section_and_note_fields_backend.js#L79-L86 opw-6034255 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#256058
This update resolves a bug that prevented users from creating tasks from templates after refreshing a page. The fix ensures that the system correctly handles virtual controllers during page reloads, preventing errors and improving the task creation process. This ensures a smoother user experience when working with templates.
Original PR description
Steps to reproduce: - Open a project - Create a task and convert it into a template - Open another task (task A) - Reload the page - Create a task from the newly created template Refreshing the page causes `loadState` to rebuild the controller stack from the URL to represent the breadcrumb history. In this case, a virtual form controller is injected for the opened task A, due to the lack of context in the URL to reconstruct it fully. When creating the task from the template, a `switchView` to the new task's form view is triggered. However, only the controller for this new form view is fully populated with the relevant metadata, as the preceding ones are virtual (due to the above). This commit ensures that virtual controllers are excluded from the check on the `multiRecord` field, preventing an error since the `view` is undefined for virtual controllers. task-5876607
This update resolves an issue where background images in mass mailings were not rendering correctly due to how Odoo handled HTML attribute quoting. The fix ensures background image URLs are properly converted to absolute paths, guaranteeing images display as intended in email clients. This improves the visual quality of mass email campaigns.
Original PR description
Problem: Background images in mass mailings were sent with relative URLs, resulting in broken images in email clients. Cause: When serializing, lxml will use single quotes for attribute values that contain double quotes, and double quotes for attribute values that contain single quotes or no quotes. It automatically picks the attribute delimiter to produce valid HTML, which explains why `style="..."..."`` becomes `style='..."..."'` after `tostring()`. Solution: Update the regex in `mail_render_mixin.py` to support both `"` and `'` delimited `style` attributes, ensuring background-image URLs are properly converted to absolute paths. Steps to reproduce: - Add any masonry snippet (with background image). - Send the email. - Observe the received email uses a relative image URL. opw-5974203 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update resolves an issue preventing internal users from accessing overtime data. The fix adds a necessary security rule to allow read access to overtime lines for standard users, ensuring they can view their own overtime information as intended. This prevents access errors and maintains data visibility.
Original PR description
Steps to reproduce: 1. Enable "Display Extra Hours" in Attendance settings. 2. Assign an overtime ruleset to an employee. 3. Ensure the employee does not have the "Officer: Manage attendances" group.…
Steps to reproduce: 1. Enable "Display Extra Hours" in Attendance settings. 2. Assign an overtime ruleset to an employee. 3. Ensure the employee does not have the "Officer: Manage attendances" group. 4. Create an attendance that generates extra hours for this employee. 5. Log in as the employee and open the Employees app to view Extra Hours. Issue: An Access Error is raised because `get_overtime_data_by_employee` in `hr_holidays_attendance/models/hr_employee.py` performs a `_read_group` on `hr.attendance.overtime.line`. In 19.0, the only ACL for this model grants access to `group_hr_attendance_officer`: https://github.com/odoo/odoo/blob/95c73aa4dd7433f394799fdaaad57a84d750ec5a/addons/hr_attendance/security/ir.model.access.csv#L1-L11 Users with `group_hr_attendance_own_reader` (implied by `base.group_user`, i.e. all internal users) have no read access to `hr.attendance.overtime.line`. In later versions, this was already fixed by adding a read-only ACL for `group_hr_attendance_own_reader` on this model: https://github.com/odoo/odoo/blob/ad4a2ec11fea2058445e4003099af3a5caa1ef22/addons/hr_attendance/security/ir.model.access.csv#L13 This is why forward-ports are not needed. Solution: Add the missing `access_hr_attendance_overtime_line_own_reader` ACL to grant read-only access to `group_hr_attendance_own_reader` on `hr.attendance.overtime.line`, matching the approach used in later versions. This is preferred over using `.sudo()` as it properly grants the intended access right rather than bypassing security checks entirely. opw-6055081
This update resolves an issue where the color selector in the HTML editor toolbar was behaving unpredictably. The toolbar is a popover, making it susceptible to these types of inconsistencies. This change ensures the color selector test is reliable and consistent.
Original PR description
The toolbar is a popover and is therefore affected by [1]. runbot-242071 [1] 54da715 Forward-Port-Of: odoo/odoo#256783
This update resolves a bug where the total value calculation wasn't correctly displayed in the 'Inventory at Date' report. The fix ensures that users can accurately see the total value of inventory on a specific date, improving the reliability of stock reporting. This change impacts the Stock Accounting module.
Original PR description
### Steps to reproduce: - Inventory > Reporting > Stock - Click Inventory at Date and select any date > Confirm #### > The sum of the Total Value is no longer displayed in the views opw-5918288 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes a bug where attendance reports were incorrectly displaying expected hours. The system now accurately calculates expected hours based on the employee's standard working schedule, ensuring accurate tracking of time worked and expected time.
Original PR description
Steps to reproduce:
-----------------------------------------
1. Install the Attendance module
2. Create an employee with a Standard 40h/week working schedule
3. Create its attendance:
* Check in at 10:00 AM.
* Check out at 06:00 PM (total 7 hours)
4. Navigate to Attendance > Reporting > Attendances
Observation:
-----------------------------------------
The Expected Hours column shows 7 hours, matching the worked hours, instead of the expected 8 hours based on the working schedule
Issue:
-----------------------------------------
In `_compute_expected_hours`, when no overtime is recorded (worked hours < scheduled hours), the expected hours are incorrectly set equal to the worked hours
Solution:
-----------------------------------------
Ensure that when no overtime is recorded, the expected hours are computed based on the employee's working schedule instead of the worked hours
opw-5253946This update resolves a small typographical error within the Odoo testing framework. The fix ensures the tests run correctly and maintains the stability of the base module. It's a routine maintenance task to improve the quality of our codebase.
Original PR description
A typo was introduced in #163714 Forward-Port-Of: odoo/odoo#256756 Forward-Port-Of: odoo/odoo#228977
This update fixes an issue where boolean settings linked to parameter configurations were incorrectly interpreted as 'False' in the system. The change ensures that string values like "False" are correctly parsed as boolean values, resolving a display inconsistency and improving the reliability of configuration settings. This ensures accurate representation of user choices within the system.
Original PR description
When a boolean field on `res.config.setting` tied to `ir.config_parameter` via `config_param` attribute, the value is incorrectly parse as param store `False` as `"False"` and later being shown as `True` on the setting form. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#257033
This update introduces a simple setting to disable the automatic delay translation feature for website content. Currently, changes to a website's primary language trigger updates in secondary languages, which can be disruptive for users. This new option allows administrators to bypass this behavior if it's not needed, streamlining the website editing process.
Original PR description
Delayed translation (draft version from change of main language that needs to be updated on each modified secondary language) on website were added or disabled with: -…
Delayed translation (draft version from change of main language that needs to be updated on each modified secondary language) on website were added or disabled with: - 2d08f97c0778469b409fca23f2be5f5a98ce3df8 (October 2023) in 17.0 added the delay translation feature - 0e0a74f8c5fc9f45311e629a76608c6c986d635d (December 2023) in 17.0 disabled the feature - 03a85b13b2c46ef7174123d902e95d5103031c6c (September 2025) in 19.0 enabled the feature again Some website editor users may not expect the behavior (eg. changing a background image, then needing to edit all secondary language so the drafted change is saved). For now we have not found a satisfying way to prevent delay translation for simple use case that should not break translations: eg. removing a snippet, changing attributes, ... Because if we did special case, it would then become unexpected: - will we need to update translations - if there was a previous change that needed translation update, then we do a change that would not need translation update, what should we do So this PR for now gives the option to create a ir.config_parameter: - key: website.disable_delay_translations - value: 1 That would disable the delay_translations feature for all websites if the user doesn't want the feature. opw-5187670 opw-5240423 opw-5250497 opw-5254832 opw-5344412 opw-5347408 opw-5419427 opw-5424761 opw-5481352 opw-5892371 opw-5931549
This update resolves an issue where canceling manufacturing orders would trigger an error when a move didn't have a linked picking. The fix ensures that 'cancel' activities are only logged when a move is associated with a picking, preventing errors and improving the reliability of stock management notifications.
Original PR description
Steps to reproduce the bug: - Unarchive the MTO route - Create a storable product P1: - Route: MTO + Manufacture - BoM: - Component: 1 unit of X1 - Create a storable product X1: - Component: 1 unit…
Steps to reproduce the bug:
- Unarchive the MTO route
- Create a storable product P1:
- Route: MTO + Manufacture
- BoM:
- Component: 1 unit of X1
- Create a storable product X1:
- Component: 1 unit of C1
- Create a manufacturing order for 1 unit of P1
- Confirm the MO -> A child MO is created
- Try to cancel the MO for P1
Problem:
A traceback is triggered:
IndexError: tuple index out of range
'origin_picking': moves.picking_id[0],
Explanation:
When the parent MO is cancelled, all the moves linked to this MO are
cancelled (finished moves and raw moves). While cancelling them, an
activity of type "cancel" is logged on the pickings linked to these
moves (if any), in order to warn the user that actions may be required
on those pickings.
However, we do not check whether the moves actually have a picking
linked before logging the activity. The code directly tries to access
the first picking linked to the move, which triggers the traceback when
there is none:
https://github.com/odoo/odoo/blob/796316c341c4346152ad9610c30679f47aaa2ff8/addons/mrp/models/stock_move.py#L442
When cancelling an MO, the method `_log_manufacture_exception` is already
called and logs an exception activity on the child MO.
Bug introduced by:
https://github.com/odoo/odoo/pull/254636/changes/7c68c3dbb29eaad4e09d59ef7c86bd525969caecThis update corrects a visual issue with the Contact Us button on the wishlist page. Previously, the button's appearance varied depending on the product design. The fix ensures a consistent and aligned button across all product designs, improving the user experience. This resolves a minor aesthetic problem that could have impacted customer perception.
Original PR description
Steps to produce: --- - Install `website_sale` module. - From the settings, enable `Prevent Sale of Zero-priced Products`. - Create a product with a sale price of `0` and publish it. - From the…
Steps to produce: --- - Install `website_sale` module. - From the settings, enable `Prevent Sale of Zero-priced Products`. - Create a product with a sale price of `0` and publish it. - From the website, open the product page and add the product to the wishlist. - Open the wishlist page. - Enable the editor and change the product design to Chips, Cards, or Grid. Issue: --- - The Contact Us button is displayed incorrectly in some product designs. Root cause: --- - At [1], in the wishlist template, only the Contact Us text is displayed without the icon and label structure used by the Add to Cart button. - Because of this, when different product designs are applied, the layout becomes inconsistent and the button appears misaligned. Solution: --- - Apply the same structure used for the Add to Cart button by adding the icon and label wrapper to the Contact Us button to ensure consistent styling across all product designs. Backport of [commit] [1]https://github.com/odoo/odoo/blob/e49536031f61b90212eb6f0d1a8a3e15927e723d/addons/website_sale_wishlist/views/website_sale_wishlist_template.xml#L353-L359 [commit]: https://github.com/odoo/odoo/commit/c697217ed0e009bd368617f25b5773c5d6ce3c92 Before: --- <img width="261" height="358" alt="image" src="https://github.com/user-attachments/assets/cf3fe6de-5a7c-4a22-a908-09b8c121cdf4" /> After: --- <img width="263" height="334" alt="image" src="https://github.com/user-attachments/assets/d44c41b9-0b48-41d0-992b-a506ba4428b6" /> opw-5798833 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update resolves an issue where the mapping of PEPPOL invoice data was failing when the 'Invoice period extra field' was initially empty. The fix ensures the field is correctly initialized as a dictionary, preventing mapping errors and improving the accuracy of PEPPOL invoice processing. This ensures proper data transmission and compliance.
Original PR description
When mapping the Invoice period extra field and updating the xml nodes, if the invoice period was originally empty, it would be initialized to an empty list not a dict which was breaking the mapping. task-6076624
This update corrects a bug that prevented the correct display of amounts in words for Czech invoices and reports. A temporary fix was implemented to ensure accurate conversion using the `num2words` library. This will be automatically resolved when Odoo is upgraded to use the latest version of the library available on Ubuntu 25.10 or later.
Original PR description
The `num2words` library has a bug in the language code they used for Czech (`cz` instead of `cs`). This commit adds a monkey patch to map the correct language code to the existing converter class, allowing the amount in words to work in Czech. The issue was fixed in version 0.5.14 of the library, so this patch can be removed once we use Ubuntu >= 25.10 (Python >= 3.13), that contains the fixed version of the library. [opw-6088697](https://www.odoo.com/odoo/project.task/6088697) Forward-Port-Of: odoo/odoo#257105 Forward-Port-Of: odoo/odoo#257031
This update fixes an issue related to how time is displayed in Odoo, specifically restoring the option to show seconds. The change ensures consistent time formatting across the system and resolves a previous bug where the 'showSeconds' option wasn't working correctly in numeric mode. This improves the accuracy and clarity of displayed dates and times.
Original PR description
In this [commit] the short format has been removed from misc methods because there was no more _short format fields in res.lang. But the short format was used to remove seconds from the res.lang format. Now, this behaviour has been restored with the new datetime format system and the unused format 'long' and 'full' has been removed from the doc string to avoid misunderstanding. The formatDateTime from the JS use the format from the res.lang too. So the same behaviour has been implemented there to be able to show seconds through the option 'showSeconds'. It's also fix the fact that this option didn't have any effect when the datetime was shown in numeric mode. [commit]: odoo@062b140#diff-61162ac65633a1c7b054fc83ce1813f1a7984e3169ff36021713ef441f62a208 opw-6030342 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes a problem where error messages for inherited views in Odoo contained development keys, which could expose internal information. The change ensures these keys are no longer translated, resulting in cleaner and more secure error messages for users. This improves the overall user experience and reduces potential security risks.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Validation Error message is being translated base on user message, including development keys <img width="1092" height="276" alt="image" src="https://github.com/user-attachments/assets/4c58f201-8bc6-4b5e-9510-e52f36e0cf2c" /> Desired behavior after PR is merged: development keys will not be translated <img width="1084" height="307" alt="image" src="https://github.com/user-attachments/assets/0ccbf570-b5a0-46ff-aaef-bc1aaa237371" /> --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes a visual issue where setting button sizes (Large, Small, Outlined) in the mass mailing editor had no effect. Now, these size and style options correctly apply to the buttons, providing a more consistent and customizable design experience for users. This ensures the mailing editor aligns with user expectations and design preferences.
Original PR description
Currently, setting a button as Large, Small, or Outlined has no impact on the appearance of the button, as it instead remains dependent on mailing-wide set button dimensions and colors. Steps to reproduce: - Create a new mailing - Type /button in the editor to insert a button - Select the button and set its size as Large/Small or its nature as Outlined - The button's appearance does not change This commit allows Large, Small and Outlined button attributes to have an effect on button appearance. Sizes will scale linearly with mailing-wide button dimensions. task-5910193
This update fixes an issue where buttons in the HTML editor weren't correctly styled when using size or shape classes. The fix was necessary due to a change in how button styling was handled in a previous release. This ensures consistent and predictable button appearance across different Odoo versions.
Original PR description
Before this commit: Since the removal of button style options for the preset primary and secondary styling, the type of a primary/secondary button with size or shape defined in the class should be "custom". The fix is made to saas-18.4 cause the custom button option is removed in saas-18.3 and reintroduced only from saas-18.4. The button option removal commit: https://github.com/odoo/odoo/commit/a7b71d700e4997e4a2f646e2ae12f58f20058dc4 The button custom option reintroduction: https://github.com/odoo/odoo/commit/ea22b28bbae009c9eab4ff397affa9a3cb71037a After this commit: when the button has size or shape classes, we consider it as "custom" button. task-6061443 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#256015
This update fixes an issue where the cursor wasn't updating correctly in Safari when the editor was collapsed on iOS devices. Specifically, it adjusts how formatted text is handled to ensure the cursor appears properly, preventing unformatted input. This improves the user experience for users on Safari in collapsed mode.
Original PR description
Before this commit: when we applying format on collapsed cursor, we create a formatted element with ZWS, and set the cursor before the ZWS After this commit: we set the cursor after the ZWS, cause otherwise safari doesn't update the cursor properly leading to unformatted input task-4243977 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#256757 Forward-Port-Of: odoo/odoo#249253
This update resolves a visual glitch in the website editor previews, specifically affecting the filmstrip layout. The issue stemmed from undefined variables causing placeholder rectangles to be missing. The team has removed an unused template and corrected the variable definitions to ensure consistent and accurate preview designs.
Original PR description
The editor previews are not having the expected design due to the `c` and `p` variables being undefined. Steps to reproduce for eg. filmstrip: - Disable the `categories_opt_top` (Categories: top) - Hover the "Top" editor button - See the filmstrip is missing it's placeholder rectangle "text" due to the width style not being applied. task-6047816 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#255339
This update resolves a technical issue where reports were consuming excessive memory, potentially slowing down the system. The fix ensures reports stop loading when they're no longer needed, preventing memory buildup and improving performance. This enhances the overall stability and responsiveness of the Enterprise module.
Original PR description
The preloading of sections would never stop, this is an issue since this would prevent the garbage collector from collecting this big class and all it's objects. We fix this by making sure to stop the reploading when the component is destroyed. It's important to do it this way rather than clearing the timeout as the destruction could happened when the report is loading so the timeout would be unset and a new one would be started. Forward-Port-Of: odoo/enterprise#112662 Forward-Port-Of: odoo/enterprise#112628
This update fixes a visual issue where subscription product details weren't showing the billing period in product snippets on the website. The fix ensures that all subscription products, regardless of where they're displayed (shop page or snippet), accurately show their billing period. This improves the clarity and accuracy of product information for customers.
Original PR description
Steps to reproduce: 1) Go to the Website app. 2) Add a product snippet to any page using the editor. 3) See product card of any subscription product. Issue: - The billing period is not displayed for subscription products in the product snippet, unlike on the shop page. Cause: - `temporal_unit_display` is not included in the `combination_info`which is passed in data used by the product snippet. Fix: - Include `temporal_unit_display` in `combination_info`. opw-6070943 Forward-Port-Of: odoo/enterprise#112653 Forward-Port-Of: odoo/enterprise#112171
This update resolves an issue where users were incorrectly added as followers of chatter threads, leading to unwanted notifications. The fix ensures the correct user ID is used, preventing this problem and improving notification accuracy. Additionally, a cron job issue was addressed to ensure all records are processed correctly.
Original PR description
The method call that is supposed to subscribe the current user to the closing entry when posting XBLR used the User id as a Contact id. This caused random contacts to be added as followers of the chatter thread and as a result receiving notifications for it. The fix is simply using the id of the User's Contact instead. Also, as discussed with prro on Discord, fixed the cron clearing its dictionary each loop. opw-5886621 Forward-Port-Of: odoo/enterprise#112709 Forward-Port-Of: odoo/enterprise#107843
This update resolves an issue in Odoo's web_studio module that previously impacted product exports. The change involves adding a necessary context key, allowing for more reliable and accurate product template creation. This ensures consistent and functional product export capabilities.
Original PR description
This commit https://github.com/odoo/odoo/pull/254323 changed the way product( template)s are created, which now decouples the logic into two context attributes instead of one. This commit fixes this by adding the second one.
This update resolves an issue where subscription discounts were causing errors during the import of sales orders into the POS system. The change modifies how the system handles subscription discounts, ensuring a smoother and more reliable process for managing subscriptions through point-of-sale.
Original PR description
This is a test for the related community fix and an override of the **isSaleOrderLineNote** method to add the subscription specific **subscription_discount** lines to be treated as a note when importing it from the Sales module. https://github.com/odoo/odoo/pull/247846 opw-5582448 Forward-Port-Of: odoo/enterprise#112326 Forward-Port-Of: odoo/enterprise#107002
This update resolves an issue where tests for Italian tax reports were failing due to missing data required for XML validation. The change ensures the tests now properly populate the necessary 'codice fiscale' field, allowing the validation process to complete successfully. This improves the reliability of the tax report generation process.
Original PR description
Description of the issue this commit addresses: Previously, the testing of the xml exports was only done by generating the file and checking its content against a hardcoded one but a fix[^1] changed that so the tests use the real export flow during which an xsd validation is done. As the tests did not expect to go trough the validation, some mandatory values were not present and it now results in a failing validation (caught in except). [^1]: https://github.com/odoo/enterprise/pull/108548 Desired behavior after this commit is merged: The tests set the l10n_it_codice_fiscale field from which are populated the mandatory CodiceFiscaleDichiarante, CodiceFiscale and CFDichiarante for the xsd validation. opw-5707544 Forward-Port-Of: odoo/enterprise#112629
This update fixes an issue related to how dates and times are displayed, specifically restoring the option to show seconds. The change ensures consistent formatting across Odoo's interfaces and corrects a previous bug where the 'showSeconds' option wasn't functioning correctly in numeric date displays.
Original PR description
In this [commit] the short format has been removed from misc methods because there was no more _short format fields in res.lang. But the short format was used to remove seconds from the res.lang format. Now, this behaviour has been restored with the new datetime format system and the unused format 'long' and 'full' has been removed from the doc string to avoid misunderstanding. The formatDateTime from the JS use the format from the res.lang too. So the same behaviour has been implemented there to be able to show seconds through the option 'showSeconds'. It's also fix the fact that this option didn't have any effect when the datetime was shown in numeric mode. [commit]: odoo/odoo@062b140 opw-6030342
This update resolves an issue preventing XML export of Profit & Loss reports when footnotes were enabled. The fix corrects a dependency on an outdated model, ensuring proper report generation and data accuracy. This improves the reliability of financial reporting exports.
Original PR description
**Steps to reproduce:** * Install the **l10n_lu_reports** module. * Go to **Accounting → Reporting → Profit & Loss**. * Add a footnote on a report line (**⋮ → Annotate**). * Click **Export (XML)** to open the export wizard. * Enable **Import notes as references** and export. **Observed behavior:** * Export fails with `KeyError: 'account.report.manager'`. * XML file cannot be generated when references are enabled. **Cause:** * The export logic relied on the deprecated `account.report.manager` model. * This model was removed in v17([commit](https://github.com/odoo/enterprise/pull/33604/changes#diff-5fc5051f5c0211c0eec96b892e7d29e01b68d804417443502d17bccd8333d7ecL41)) and replaced by `account.report.footnote`. * The footnote retrieval code was not migrated accordingly. **Fix:** * Migrate reference retrieval to use `account.report.footnote`. opw-5890630 Forward-Port-Of: odoo/enterprise#111845 Forward-Port-Of: odoo/enterprise#107765
This update resolves an issue where a purple 'info' pill appeared on buttons within the Web Studio form view, particularly on mobile devices. This caused confusion for users trying to click the buttons and has now been removed, improving the user experience.
Original PR description
Steps: - Install `web_studio` - Add an approval rule to any action in any form view (example preview button) - Open this form view - You will have a purple info pill in every action button in the form view This can be confusing for people wanting to click on the button on mobile but instead, they click on the purple pill + we don't even want this opw-5911667 Forward-Port-Of: odoo/enterprise#111770
This update resolves a test environment issue that caused platform order flow tests to fail. The fix prevents a ValueError from occurring when test printers are unavailable, ensuring the tests complete successfully and accurately simulating the order printing process.
Original PR description
When running platform order flow tests, calling `mark_platform_prep_order_as_printed` raises a ValueError because the test environment lacks active POS printers (they are unlinked during setup). This commit patches the method to catch the ValueError and return False, allowing the POS tours to complete successfully without crashing. build_error-241260