Daily updates from Odoo
Wednesday, April 1, 2026
52 changes
3 changes
Resolved issues and error corrections
This fix allows users to preview sales orders for upsells that don't contain recurring products. Previously, the system prevented previewing such orders, which limited flexibility when creating upsells with non-recurring items. The change enables this preview capability while maintaining all existing validation rules.
Original PR description
When you have an upsell that does not have recurring products, you cannot preview the SO, so we've allow it in this specific case as it is allowed by the constraint on the model Forward-Port-Of: odoo/enterprise#112453
Fixed an issue where Odoo was showing unnecessary warning messages when users uploaded certificate files without setting a password. The system now only displays warnings when a password is actually required, making the user experience clearer and reducing false alerts during the file upload process.
Original PR description
Before the change, when the user uploads a file, Odoo automatically shown a warning message saying that the content of the file or the password are incorrect. Now the system does not show the warning when a password is not set and checks if the password is set when saving task-6036219 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#256759 Forward-Port-Of: odoo/odoo#253834
This update fixes an unreliable test in the one2many field component that could occasionally fail due to duplicate record creation. The test now prevents the system from accidentally creating the same record twice when users press Enter, making the test results more consistent and reliable.
Original PR description
This commit fixes a non deterministic one2many field test by ensuring that we don't quick create the record twice.
Before this commit, it might sometimes happen that the validation of the input ("Enter", by default) produced a second name_create. Note that in practice this is highly unlikely to happen as if the user presses Enter, the "Quick create" item in the dropdown only appears during a single frame, thus making impossible for the user to click on it.
runbot error~242204
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#256746
Forward-Port-Of: odoo/odoo#2565823 changes
Enhancements to existing features
The repair module has been improved to make the code more flexible and easier to customize. A new internal method was created to handle the generation of sales order line information, allowing businesses and developers to extend this functionality without modifying the core code. This makes the system more maintainable and adaptable to custom business needs.
Original PR description
* This change moves the logic of generating sale.order.line values into a new method _prepare_repair_so_line_vals(), allowing easier extension and override in custom modules. 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#220306 Forward-Port-Of: odoo/odoo#213506
Resolved issues and error corrections
The ESG Activity Type model had a confusing description that was identical to the standard Activity Type model. This fix updates the description to "Activity Type ESG" to clearly distinguish it as an ESG-specific feature. This helps users understand which activity type model they're working with in the system.
Original PR description
Before this commit, the description of `esg.activity.type` model is the same than the `activity.type` one defined model which could be confusing. This commit updates the description of `esg.activity.type` model to set Activity Type ESG to explicitly mention that model is used in ESG. Forward-Port-Of: odoo/enterprise#112680
This update improves the certificate upload experience by removing unnecessary warning messages when users haven't set a password. The system now only validates the password when it's actually required during the save process, reducing confusing alerts and making the user experience smoother.
Original PR description
Before the change, when the user uploads a file, Odoo automatically shown a warning message saying that the content of the file or the password are incorrect. Now the system does not show the warning when a password is not set and checks if the password is set when saving task-6036219 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#256759 Forward-Port-Of: odoo/odoo#253834
2 changes
Enhancements to existing features
The repair module has been improved to make the code easier to customize and extend. A new internal method has been created to handle the generation of sales order line information, allowing businesses and developers to more easily modify this behavior for their specific needs without affecting the core functionality.
Original PR description
* This change moves the logic of generating sale.order.line values into a new method _prepare_repair_so_line_vals(), allowing easier extension and override in custom modules. 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#220306 Forward-Port-Of: odoo/odoo#213506
Resolved issues and error corrections
This update adds support for three new fields (price, currency, and support) in the app manifest validation for Odoo's app store. These fields are now recognized as valid manifest keys, allowing app developers to properly list pricing and support information when publishing apps to the Odoo marketplace.
Original PR description
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#256726 Forward-Port-Of: odoo/odoo#255857
7 changes
Enhancements to existing features
This update adds missing modules to the Weblate translation configuration file, ensuring that more parts of the system can be translated by the community. This improves the ability to localize Odoo in different languages by expanding which modules are included in the translation management system.
Original PR description
Related: https://github.com/odoo/odoo/pull/254667 Forward-Port-Of: odoo/enterprise#111401 Forward-Port-Of: odoo/enterprise#111141
This update improves the internal organization of the Repair module by separating the logic that creates sales order line information into its own dedicated method. This makes it easier for developers to customize and extend the repair functionality without modifying the core code, supporting better long-term maintenance and customization.
Original PR description
* This change moves the logic of generating sale.order.line values into a new method _prepare_repair_so_line_vals(), allowing easier extension and override in custom modules. 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#220306 Forward-Port-Of: odoo/odoo#213506
Resolved issues and error corrections
This update fixes failing tests in the Italian XML export module by adding required tax identification fields that are now validated during the export process. Previously, tests were passing without these mandatory fields, but a recent validation improvement now requires them to be present, ensuring exported documents comply with Italian tax authority standards.
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
A typo in the test_views domain has been corrected in the base module's test file. This fix ensures that automated tests run correctly and helps maintain code quality by preventing test failures caused by the typo.
Original PR description
A typo was introduced in #163714 Forward-Port-Of: odoo/odoo#231897 Forward-Port-Of: odoo/odoo#228977
This update allows Odoo apps in the apps store to include additional manifest fields for price, currency, and support information. The change enables app developers to properly configure these important app store attributes without triggering validation errors.
Original PR description
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#255857
This update prevents users from accidentally adding line breaks within section titles in quotation templates. When a quotation template is applied to a sales order, section titles will now remain as single-line text, ensuring consistent and professional formatting. Users who need multiple lines should create separate sections instead.
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
This fix resolves an issue where placeholder text in the editor was flickering when users updated content in other fields. The editor now only clears the placeholder hint when the cursor is actively inside the editor, preventing unnecessary blinking that distracted users during editing.
Original PR description
Problem: When the selection is updating, the hint is blinking in the editable. Cause: After 9df2662cc79c2d8277211f7ce0bdb389f783f933, `triggerDebouncedUpdateHints` clears the hint immediately and adds it back using a debounced version of `updateHints` which runs after a few seconds, thus causing this blink. Solution: We only update hint if the selection inside the editable. Steps to reproduce: - Create a new Todo. - Keep the editable empty. - Update the Todo title. - Observe the editable hint blinking. task-6025534 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
3 changes
Enhancements to existing features
This update adds missing modules to the Weblate translation configuration file, ensuring that all relevant modules are properly included in the translation management system. This improves the translation workflow by making sure no modules are overlooked when managing multilingual content across the platform.
Original PR description
Related: https://github.com/odoo/odoo/pull/254667 Forward-Port-Of: odoo/enterprise#111181 Forward-Port-Of: odoo/enterprise#111141
Resolved issues and error corrections
Fixed a test in the Recruitment module that was failing during a specific time window (11 PM to midnight UTC) due to timezone handling. The test now properly accounts for user timezone settings and uses time freezing to prevent failures near midnight. This ensures the recruitment testing process runs reliably regardless of when tests are executed.
Original PR description
The test was failing between 23:00 and 24:00 UTC due to the activity being created the previous day for a user in UTC+1, since Date.today() wasn't considering the current's user timezone. Also, use `freezetime` to avoid running the test close to midnight. runbot-241150 Forward-Port-Of: odoo/odoo#254353
This update adds support for price, currency, and support fields in the app manifest validation for the Odoo apps store. These fields are now recognized as valid manifest keys, allowing app developers to properly specify pricing and support information when publishing apps to the store.
Original PR description
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#255857
14 changes
Resolved issues and error corrections
Fixed a display issue in the Australian payroll ATO submission wizard where the checkbox for accepting Terms & Conditions could become misaligned with its text depending on window width. The checkbox now stays properly aligned on the same line as the text, improving the user experience when submitting payslips or payruns to the Australian Tax Office.
Original PR description
- Step to reproduce: with l10n_au_hr_payroll_account installed and validated payslips or payruns click "Sign & Submit to ATO" -> wizard opens with checkbox to accept T&C, mght be misaligned depending on window width. - Cause: if text fills full width then checkbox is moved above. - Solution: using d-flex and utilities, force checkbox on same line as text and allow text to split if necessary. Task: 6051482
The placeholder text for the NISS field in the Belgian salary configurator was showing an invalid example format that would actually trigger an error. This fix updates the placeholder to display the correct format (xx.xx.xx-xxx.xx) so users understand what input is expected, improving the user experience and reducing confusion.
Original PR description
As of now, the placeholder text for the NISS field on the salary configurator is "00.00.00-000.00 or / for no NISS" but 00.00.00-000.00 is actually not recognized and shows the error that says to put a valid NISS. For this reason, we modify the placeholder to instead show "Input your NISS in the format xx.xx.xx-xxx.xx or / for no NISS". Task: 6067653
This update fixes unreliable automated tests in the Point of Sale system by making test triggers more precise. The change ensures that tests run consistently and reliably, reducing false failures and improving the quality of our testing process.
Original PR description
Fix undeterministic tours by making some triggers more precise in a few steps.
This update improves the test suite by preventing unnecessary warning messages when certain modules aren't installed. The test now only checks and warns about fields from modules that are actually active in the system, making test results cleaner and more relevant.
Original PR description
For test `TestWriteOverrideTranslatedFields`: before this commit, the whitelist of checked fields could raise warnings when not all relevant modules were installed. This commit refactors the code to check and warn only for installed modules. 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 update fixes a problem where test execution times were being incorrectly measured, sometimes showing negative or extremely large values. The fix switches from using simulated time to real time for measuring test performance statistics, ensuring accurate and reliable test results.
Original PR description
When using faketime the test that can be impacted leading to negative or hudge execution time. Using real time should solve this issue.
This fix improves error messages when developers use forbidden operations in functions. Instead of showing a generic 'lambda' label, the system now displays the actual function name, making it much easier to identify and fix problematic code. This is especially helpful when troubleshooting complex server actions.
Original PR description
### Before this commit:
When using a forbidden opcode in a function, it would tell you the opcode was used in the expression 'lambda', which is not useful.
### After this commit:
The function's name is used instead of the hardcoded 'lambda', to provide more useful debugging information.
```python
def foo(x):
x.bar = 2
```
Now raises `ValueError: forbidden opcode(s) in 'foo': STORE_ATTR` instead of `ValueError: forbidden opcode(s) in 'lambda': STORE_ATTR`, which is not helpful in big server actions.This update fixes an unreliable test in the One2Many field component that could occasionally fail due to duplicate record creation. The fix ensures the test runs consistently by preventing a second record from being created when users press Enter to validate input. This improves the reliability of our automated testing process.
Original PR description
This commit fixes a non deterministic one2many field test by ensuring that we don't quick create the record twice.
Before this commit, it might sometimes happen that the validation of the input ("Enter", by default) produced a second name_create. Note that in practice this is highly unlikely to happen as if the user presses Enter, the "Quick create" item in the dropdown only appears during a single frame, thus making impossible for the user to click on it.
runbot error~242204
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#256746
Forward-Port-Of: odoo/odoo#256582This update corrects the size and alignment of the favorite icon that appears in form headers across Odoo. The fix ensures the icon displays properly and is visually consistent with the rest of the form interface, improving the overall user experience when marking records as favorites.
Original PR description
This commit fixes size and alignment for the favorite icon located in forms. task-6080108 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 update fixes a unit test in the website profile module that was failing when running with demo data. The test `test_portal_access` has been adjusted to work properly in demo environments, ensuring that quality assurance processes run smoothly without errors.
Original PR description
runbot-242166
Code cleanup and technical improvements
This update removes an outdated payslip tags feature from the HR Payroll documents module that is no longer needed due to workflow changes. The removal simplifies the settings interface and reduces unnecessary configuration options for users managing payroll documents.
Original PR description
According to the linked task, this is not needed anymore since the workings changed. We can fully remove the override since it's the only thing it's adding Task: 5936989
The web push notification code in the mail system has been streamlined by removing unnecessary utility methods and improving documentation. This cleanup aligns the enterprise version with improvements made in the community version, making the codebase more maintainable without affecting user-facing functionality.
This update simplifies how HTML content is processed in the system by removing redundant conversion steps and consolidating the logic into a single, more efficient flow. The change reduces code complexity and makes the system more maintainable while preserving all existing functionality for handling HTML fields.
Original PR description
Drop the `Html.convert_to_column` override and rely on `BaseString`, which already delegates to `convert_to_cache`. Normalize bytes/string values in `convert_to_cache` during create/write, so `convert_to_record` and `convert_to_read` can just wrap cached values as `Markup` without duplicating decoding logic. The record value of Html fields is either `Markup` or `False` (no `''`) Drop `Html.convert_to_read` since record values are already `Markup` or `False`. 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 mail module's web push notification code has been reorganized and simplified for better maintainability. The changes streamline how notifications are processed by removing redundant code extraction methods and consolidating logic, making the system more efficient and easier to maintain without affecting user-facing functionality.
This update removes an unnecessary model from the Mail module to streamline the codebase and improve maintainability. The change simplifies the mail system by eliminating redundant code without affecting user-facing functionality.
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
15 changes
New functionality added to Odoo
New automated tests have been added to verify the tax report closing journal functionality works correctly. These tests ensure that tax closing processes operate as expected and help prevent future issues with tax reporting features.
Original PR description
Ticket Adhoc side: 114344
The Lazada sales module now has a proper icon displayed in the Odoo interface. This visual update helps users quickly identify and recognize the Lazada integration module among other available modules, improving the overall user experience.
Original PR description
Add Lazada icon to the module
Enhancements to existing features
This update improves the internal organization of the Repair module by separating the logic that creates sales order line information into its own dedicated method. This makes the code easier for developers to customize and extend without modifying the core functionality, while maintaining the same user experience.
Original PR description
* This change moves the logic of generating sale.order.line values into a new method _prepare_repair_so_line_vals(), allowing easier extension and override in custom modules. 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#220306 Forward-Port-Of: odoo/odoo#213506
Resolved issues and error corrections
The description for the ESG Activity Type model has been updated to clearly identify it as "Activity Type ESG" instead of using the generic description shared with the standard Activity Type model. This change reduces confusion by making it explicit that this model is specifically used for ESG (Environmental, Social, and Governance) activities.
Original PR description
Before this commit, the description of `esg.activity.type` model is the same than the `activity.type` one defined model which could be confusing. This commit updates the description of `esg.activity.type` model to set Activity Type ESG to explicitly mention that model is used in ESG.
Fixed an automated test that was failing when running without demo data. The test was being interrupted by a worksheet template wizard that only appears when there's a single worksheet. The fix pre-creates a worksheet before running the test to prevent the wizard from appearing, ensuring the test runs reliably in all scenarios.
Original PR description
When there is only one worksheet, the ‘**Explore Worksheets Using an Example Template**’ wizard opens. Because of this, the test fails without demo data. If we add steps for this wizard, it won’t open when there is more than one worksheet, which will again cause the test to fail. Also, we cannot add this conditon on step. Therefore, to ignore this wizard, i created a worksheet before running the tour so that the wizard does not open. https://github.com/odoo/enterprise/blob/85bd9d80a1a784f1baff1493b2eaec4a17ea9c9b/industry_fsm_report/models/project_task.py#L122-L135 task-4489657 runbot issue-240933 Forward-Port-Of: odoo/enterprise#112469
This update improves the error message that appears when users try to set an upsell start date on or after the next invoice date. The clearer message helps users better understand why their date selection isn't allowed and how to fix it, reducing confusion during subscription management.
Original PR description
Update the error message when an upsell start date is on or after the next invoice date, so it be more clear for the users. task-5893032 Forward-Port-Of: odoo/enterprise#106757
A test in the Knowledge module was failing when demo data was enabled because it used a hardcoded sequence number that didn't account for additional articles created by the system. The fix now calculates the expected sequence number dynamically based on actual data, ensuring tests pass consistently regardless of demo data settings.
Original PR description
In the `test_article_create` test, a new article is created without specifying a parent and sequence number. The test then asserts the sequence number assigned to this article using a constant. When no sequence number is provided, the system automatically assigns one by taking the highest existing sequence among articles with the same parent and incrementing it by 1. When demo data is enabled, additional users are created along with their corresponding onboarding articles. As the onboarding articles does not have any parent, the onboarding article are included in the computation of the sequence number of the new article we create in the test. These extra articles impacts the sequence number of the new article, causing the test assertion to fail. To resolve this, the test computes the expected sequence number dynamically based on the current state of the data. This ensures consistent behavior regardless of whether demo data is present. runbot-error-id~231695
This fix improves error messages that appear when there are problems with inherited views in Odoo. Previously, these messages included technical development keys that were being translated, making them confusing. Now, only user-friendly text is translated while technical identifiers remain unchanged, resulting in clearer and more consistent error messages for users.
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 fix improves the certificate upload experience by eliminating unnecessary warning messages when users haven't set a password. Previously, Odoo would display a warning about incorrect file content or password even when no password was required. Now the system only validates the password when one is actually set, reducing user confusion and improving the upload workflow.
Original PR description
Before the change, when the user uploads a file, Odoo automatically shown a warning message saying that the content of the file or the password are incorrect. Now the system does not show the warning when a password is not set and checks if the password is set when saving task-6036219 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#256759 Forward-Port-Of: odoo/odoo#253834
This fix removes accidental code that was added to the PDF tools module which was writing an unintended AcroForm NeedAppearances setting. This cleanup ensures PDF form handling works as originally intended without unexpected modifications to form appearance settings.
Original PR description
On fw #256438 this unintended code was added. opw-5977474 (original ticket)
This fix addresses a test reliability issue in the HTML editor where switching between notebook pages happens asynchronously. The test was not waiting for page switches to complete and could click the same tab twice on slower systems, causing it to fail. The fix ensures the test properly waits for asynchronous operations and correctly identifies which tab to click.
Original PR description
Since [1], switching between notebook pages is asynchronous. This test did not wait for the switch and dit not identify which button it used to click on either, relying on a simple toggle. When the runbot was slow, the test ended up clicking on the same tab twice, thus never returning to the one with the editor. runbot-241941 runbot-241258 [1]: https://github.com/odoo/odoo/commit/968dd2cd5d11ce9b39fbacfb60c37bc1bfaa1d9e
This update removes two XML tags (report and act_window) from the system's configuration validation file that were previously deleted in another update. This ensures the validation rules stay in sync with the actual system capabilities, preventing confusion and validation errors when users work with XML configuration files.
Original PR description
`<report>` and `<act_window>` tags has been removed in https://github.com/odoo/odoo/pull/98138, but not in the import_xml.rng file. This commit removes the two tags from the file. Forward-Port-Of: odoo/odoo#220116
This update corrects how a specific tax line (1d) displays in the Dutch tax report by applying the correct negative sign. This ensures consistency with other lines in the same section and aligns with how users previously configured these taxes. The change improves the accuracy of the tax report presentation.
Original PR description
It is be better to change the sign, because it is under supplies and the other report lines in that section also have a negative sign. In other words, anyone who would have configured the tax, would have used the negative tag to configure it right before. Now that the sign on the tags is gone, we need to put it correctly on the report line. opw-5874677 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
Documentation and clarification updates
A new individual contributor license agreement has been added for MED-B, a contributor to the Odoo project. This is a standard legal document that confirms the contributor has agreed to the terms required for submitting code contributions to Odoo.
Original PR description
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update refreshes the Contributor License Agreement (CLA) documentation for Quartile, a corporate contributor to Odoo. The change ensures that Quartile's legal agreement with Odoo remains current and properly documented in the repository.
Original PR description
@qrtl --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
5 changes
Resolved issues and error corrections
This fix resolves an issue where the amount in words feature was not working for Czech users due to an incorrect language code in the num2words library. A temporary workaround has been added to the system that will be removed once the underlying library is updated in future versions.
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#257031
This fix resolves an issue where branch companies in demo mode could not disconnect from PEPPOL without encountering errors. The disconnection button was missing from the demo behavior configuration, causing the system to attempt a real external call that was blocked. Now demo mode operates smoothly without requiring external connections.
Original PR description
V18.0 Only When a branch company registers in demo mode, then tries to disconnect, the button that handles the disconnection was not added to the demo behavior so a real call was attempted, which was blocked by another safe guard resulting in an error, idealy in demo mode everything should work without having to make any external calls task-none
This update fixes an unreliable test in the HTML editor's color selector feature. The test was failing inconsistently because the toolbar operates as a popover element, which has timing-related behavior. This fix ensures the test runs reliably every time, improving the stability of our quality assurance process.
Original PR description
The toolbar is a popover and is therefore affected by [1]. runbot-242071 [1] 54da715
This fix updates the test validation system to recognize price, currency, and support fields in app manifests for the Odoo apps store. This ensures that apps with pricing information can be properly validated and published to the marketplace without test failures.
Original PR description
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#255857
A test in the recruitment module was failing during a specific time window (23:00-24:00 UTC) due to timezone handling issues. The fix ensures the test properly accounts for user timezones when checking activity dates and uses time freezing to prevent failures near midnight.
Original PR description
The test was failing between 23:00 and 24:00 UTC due to the activity being created the previous day for a user in UTC+1, since Date.today() wasn't considering the current's user timezone. Also, use `freezetime` to avoid running the test close to midnight. runbot-241150