Wednesday, June 24, 2026
31 changes · saas-19.3
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 fixes an issue where clicking the 'Documents' button on an employee form opened a new browser tab. The change adds a setting to open the document link directly within the existing employee form, improving user workflow and efficiency. This ensures a smoother experience for accessing employee documents.
Original PR description
Issue: ---------------------------------------- When on an employee form, clicking the "Documents" button opens a new page instead of staying on the same. Steps to reproduce: ---------------------------------------- - Install `documents_hr` - Go on an employee form - Click the "Documents" button - It opens a new page Cause: ---------------------------------------- The `'ir.actions.act_url'` opens a new page by default. Solution: ---------------------------------------- Add `'target': 'self',` to make it open the URL in the same page. opw-6284677 Forward-Port-Of: odoo/enterprise#120285
This update corrects a technical issue where new version creations were inadvertently duplicating notes associated with those versions. This change ensures that each version has its own unique note, improving data accuracy and organization within the HR system. It's a small but important fix for maintaining consistent version tracking.
Original PR description
When we create a new version, we don't want to copy the note which should be version specific task-6304034 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#271379 Forward-Port-Of: odoo/odoo#270110
This update corrects a technical issue where the system incorrectly rejected zero measurement values received from caliper devices via IoT. This ensures accurate data reporting, particularly for items with no measurement, and improves the reliability of IoT-driven quality checks. It also includes a minor typo correction.
Original PR description
Fix a check on the IoT response that incorrectly rejected valid measurements of 0 from caliper devices Also fix a typo opw-6184669 Forward-Port-Of: odoo/enterprise#121226 Forward-Port-Of: odoo/enterprise#121116
This update resolves an error that prevented users from accessing task suggestions within the timesheet timer. The fix filters task suggestions to only include tasks the user currently has access to, ensuring a smoother and more reliable timesheet experience. This prevents access errors and improves usability.
Original PR description
Steps to reproduce: - 1. Log in as a user who can see their own timesheets and has already logged time on tasks that are now in projects they can no longer read (e.g. Marc Demo in the demo data). 2. Open the Timesheets timer in the systray and check in. 3. Click the task field to open the suggestions dropdown. Issue: - An access error is raised when the task dropdown is opened. Cause: - The timer's `project.task` `name_search` override suggests recently used tasks via `account.analytic.line.sudo()._get_recently_used_records()`. The sudo surfaces task ids the user can no longer read. `name_search` returns them, raising the access error. Fix: - Filter the aggregation result so only tasks the user can read are returned. task-6319815 Forward-Port-Of: odoo/enterprise#121345
This update simplifies the process of updating the Account EDI UBL Cii reporting module. Previously, the module's reliance on specific inherited view structures caused potential conflicts. This change removes that fragile inheritance, leading to a more stable and easier-to-maintain system.
Original PR description
**Description of the issue/feature this PR addresses:** As the new `xpath` is expecting a very specific type of `t-if` which is possibly changed in other templates of third parties or even Odoo itself which do not depend on this module, we take a more robust approach to identify the block **Current behavior before PR:** Issues with inherited views outside the dependency tree (because of primary=True) **Desired behavior after PR is merged:** Less friction and smoother identifier of the needed diff Info: @wt-io-it --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#270605
This update resolves a stability issue in the point-of-sale tour. Previously, the tour could fail due to asynchronous order processing, leading to duplicate requests. The fix ensures the tour waits for order processing to complete, preventing these race conditions and improving the overall reliability of the test.
Original PR description
The tour could fail because `sendOrderInPreparationUpdateLastChange` is asynchronous when sending the order to the kitchen. The test was continuing to the next steps before the request was fully resolved, which could lead to sending the order again while the previous call was still in progress. This commit updates the tour to explicitly wait for the async call to complete before continuing, by adding a delay step after clicking the order button. This prevents race conditions during the test. --- Runbot Error: https://runbot.odoo.com/odoo/runbot.build.error/181846 Forward-Port-Of: odoo/enterprise#121237 Forward-Port-Of: odoo/enterprise#110909
This update resolves an issue where users without survey rights would encounter a technical error when creating interview records. The fix ensures that the system gracefully handles users without survey permissions by returning an empty list, preventing the TypeError. This ensures all users can access the interview configuration feature.
Original PR description
Steps-to-Reproduce - Install hr_recruitment_survey - Make a user with no Survey rights but Recruitment Admin. - From that user go to Recruitment > Configurations > Interview. - Trying to create…
Steps-to-Reproduce
- Install hr_recruitment_survey
- Make a user with no Survey rights but Recruitment Admin.
- From that user go to Recruitment > Configurations > Interview.
- Trying to create record will reproduce this error
```
File "/home/odoo/src/odoo/saas-19.3/addons/hr_recruitment_survey/models/
survey_survey.py", line 19, in _compute_allowed_survey_types
survey.allowed_survey_types = [*survey.allowed_survey_types, 'recruitment']
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Value after * must be an iterable, not bool
```
Reason
- Because user may not have survey rights return `[]` [here](https://github.com/odoo/odoo/blob/a7f9b44aad071efe401d3caa70d069aaf7e19cc9/addons/survey/models/survey_survey.py#L400) which gets converted to false by orm [here](https://github.com/odoo/odoo/blob/3a4b2a320c1496e97eeb1834862230439da6ea2f/odoo/orm/fields_misc.py#L55-L74).
- upg : [4282172](https://upgrade.odoo.com/odoo/upgrade.request/4282172)
- opw : [6231531](https://www.odoo.com/odoo/project/70/tasks/6231531)
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-prThis update fixes an issue where AI-generated views lacked proper 'no content' messages. The change ensures that help messages are correctly formatted when views are opened by the AI agent, providing a better user experience. This improves the clarity and usability of AI-driven views.
Original PR description
Purpose: -------- Currently, when a view is opened by an AI Agent and if there are no records to show (even after filtering them manually), the no content helper is not formatted as it would be if the user opened the view manually. This happens because the tools to open the views by AI return the action dictionaries instead of letting the action service fetch them based on an action Id. However `_loadAction` in the action service only markups the "help" key when it fetches the action, not if it was passed. With this commit, the "help" key will be markuped before being processed by the action service when an action dict is returned from an AI tool. Task-6251090
This update addresses a test failure related to database constraints within the Odoo email alias functionality. A recent database update triggered a different error (RESTRICT_VIOLATION) instead of the previously reported FOREIGN_KEY_VIOLATION. The test has been updated to handle this new error type for consistent results.
Original PR description
This commit is kind of a follow up of
odoo/odoo@39cd4ea856fe00f5674f8c44b2b66cbf2705426d (in 18.0).
In a nutshell, following a standard-compliance fix (postgres/postgres@086c84b) has led to `RESTRICT_VIOLATION` being emitted in cases which formerly emitted `FOREIGN_KEY_VIOLATION`. One such case is specifically being tested for by `test_alias_domain_setup`, leading to this test failing systematically when running pg18:
psycopg2.errors.RestrictViolation: update or delete on table "mail_alias_domain" violates RESTRICT setting of foreign key constraint "mail_alias_alias_domain_id_fkey" on table "mail_alias"
DETAIL: Key (id)=(191) is referenced from table "mail_alias".
This commit updates the test to use the more generic `IntegrityError` as it's probably more than sufficient for our purposes.
Forward-Port-Of: odoo/odoo#271403
Forward-Port-Of: odoo/odoo#271302This update adds a new setting to our spreadsheet tests that allows them to bypass waiting for data to fully load. Previously, tests were slow because they had to wait for all data to be ready. Now, tests can run faster and more reliably by skipping this wait, ensuring consistent results.
Original PR description
Added the parameter `skipWaitForDataLoaded` to `createSpreadsheetWithList` to test what happens when the list is not ready yet. Task: [6289944](https://www.odoo.com/odoo/2328/tasks/6289944) 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#271144 Forward-Port-Of: odoo/odoo#269096
This update resolves an issue where tooltips in the list autofill feature were displaying error messages instead of correct information when the list data wasn't immediately available. The fix ensures that tooltips display the correct data, improving the user experience and preventing misleading information. This was part of a larger effort to improve data reliability.
Original PR description
The getter `getTooltipListFormula` would return the result of `getListHeaderValue` as the content of the tooltip, but this returned a loading error instead of a string if the list was not ready yet. Task: [6289944](https://www.odoo.com/web#id=6289944&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) Forward-Port-Of: odoo/enterprise#121228 Forward-Port-Of: odoo/enterprise#119876
This update optimizes how Odoo processes QWeb templates, specifically addressing a performance issue related to template compilation. The change reverts a recent Markupsafe update that introduced a slower method for handling template tags, resulting in faster compilation times. This ensures Odoo applications run more efficiently.
Original PR description
Starting version 2.1.4 of markupsafe, they decided to adapt the `striptags` function to use in-python-loops instead of the original implemenation that relied on pre-compiled regex. A problem has been…
Starting version 2.1.4 of markupsafe, they decided to adapt the `striptags` function to use in-python-loops instead of the original implemenation that relied on pre-compiled regex. A problem has been spotted with qweb templates that used `striptags` with large inputs, which led to the investigation of this function and it was found that the old implementation is actually faster. In fact, the PR introducing this change in Markupsafe, made these claims with no benchmarks whatsoever: https://github.com/pallets/markupsafe/pull/413/changes The new implementation of markupsafe is O(N x M), where n is the number of tags and M being the length of the input string. The old regex approach does a single c-level scan to check the existence of the regex which is performing much better for varying input size. The benchmark cases below are in the form `<case_description>_<number_of_tags>`. We can see that in the cases where the current implementation is slightly faster is when there are no tags in the input which can be explained by the fact that the while loops will simply exit early. The time lost in the regex implementation is likely due to the deeper call stack to scan for the regex. Apart from that, in the case of an unclosed tag, the regex implementation is also slower because it still needs to scan the entire line. However, in that case the time taken is a handful of milliseconds, so it's not really a performance regression there either. Apart from that, the old implementation is consistently much more performant, for both small and large inputs. Benchmarks: | Case | Regex ms | Current ms | Speedup | |----------------------------------------------|----------|------------|---------| | plain_text_50k_words | 3.020 | 2.627 | 0.9x ← current_implementation | | unclosed_tag_then_50kb_text | 0.367 | 0.032 | 0.1x ← current_implementation | | unclosed_tag_then_500kb_text | 3.787 | 0.273 | 0.1x ← current_implementation | | multiple_unclosed_open_tags_then_50kb_text | 18.912 | 0.371 | 0.0x ← current_implementation | | multiple_unclosed_open_tags_then_500kb_text | 189.007 | 8.209 | 0.0x ← current_implementation | | unclosed_comment_then_500kb_text | 7.276 | 0.412 | 0.1x ← current_implementation | | 5k_small_tags | 0.986 | 22.096 | 22.4x ← regex_old_implementation | | 20k_small_tags | 4.125 | 492.186 | 119.3x ← regex_old_implementation | | 50k_small_tags | 12.658 | 5499.602 | 434.5x ← regex_old_implementation | | 1k_nested_divs | 0.155 | 0.923 | 5.9x ← regex_old_implementation | | 10k_nested_divs | 1.648 | 48.410 | 29.4x ← regex_old_implementation | | 2k_tags_with_attrs | 1.058 | 12.013 | 11.4x ← regex_old_implementation | | 20k_tags_with_attrs | 13.185 | 6068.755 | 460.3x ← regex_old_implementation | | 2k_multiline_tags | 0.815 | 10.819 | 13.3x ← regex_old_implementation | | 20k_multiline_tags | 8.939 | 4231.768 | 473.4x ← regex_old_implementation | | 1k_comments | 0.222 | 1.292 | 5.8x ← regex_old_implementation | | 1k_comments_hiding_tags | 0.163 | 1.121 | 6.9x ← regex_old_implementation | | 2k_mixed | 0.278 | 2.392 | 8.6x ← regex_old_implementation | | 10k_mixed | 1.400 | 50.959 | 36.4x ← regex_old_implementation | | qweb_shop_200_products | 0.907 | 7.880 | 8.7x ← regex_old_implementation | | qweb_shop_1000_products | 4.296 | 194.647 | 45.3x ← regex_old_implementation | This PR is needed because requirements.txt in Odoo specifies the following dependency: `MarkupSafe==2.1.5 ; python_version >= '3.12' \# (Noble)` This means that all versions running Ubuntu Noble, will be having the same issue introduced in version 2.1.4 of markupsafe. opw-5999688 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#268580 Forward-Port-Of: odoo/odoo#257889
This update resolves an issue where bank statement lines couldn't correctly select child contacts when using the 'Set Partner' button. The fix aligns the system's selection process, allowing users to accurately associate bank statements with related contacts, including those nested within company contacts. This improves data accuracy and streamlines bank reconciliation workflows.
Original PR description
When creating a bank statement line, we can not set an individual contact that is a children of a company contact. However, when clicking on the 'Set Partner' button, all contacts are shown in the modal list view. This commit aligns the domain coming from the 'Set Partner' button with the domain from the 'partner_id' field of the auto reconcile wizard Steps: - Have a contact X, with a child contact Y - Create and confirm an invoice for contact Y, amount 1000 - Create a bank statement line for 1000 -> You can not select Y, only X - Click 'Add & Close' - Click on 'Set Partner' button -> Y is displayed opw-6205154 Forward-Port-Of: odoo/enterprise#121223 Forward-Port-Of: odoo/enterprise#118036
This update resolves an issue where the 'select all' (Ctrl+A) function in the website builder incorrectly included non-editable text. The fix ensures that the selection is limited to editable content, specifically elements with the `contenteditable` attribute, improving the user experience and preventing unwanted text inclusion.
Original PR description
*: website Commit d09c8fd428315b8c3bf08c43d55da50fcd77f2ae added a handler for `ctrl+a` to restrict the selection inside the closest `div`. But if the `div` element is outside `contenteditable=true`, it would select non-editable nodes. This commit sets the selection on the closest `[contenteditable=true]` instead of the closest `div` if the latter is not editable. Steps to reproduce: - Open website builder on a product page - Place the cursor in the price of the product - Press `ctrl+a` - Bug: the selection contains the `$` which is not editable task-6324409
This update fixes a minor accessibility issue by adding an aria-label to the quantity input field on the cart page. This ensures that users with screen readers can correctly identify and interact with the field, improving the overall user experience and compliance with accessibility standards. It's a simple change that enhances usability for all users.
Original PR description
In [1], the `aria-label` was not added to the quantity input field. This commit adds an `aria-label` to the quantity input field on the cart page to improve accessibility. [1]:https://github.com/odoo/odoo/commit/8f6c27b9b2d553a0b539ecd382bed80973621b6d | wih aria-label | without aria-label | | ------------- | ------------- | | <img width="674" height="432" alt="image" src="https://github.com/user-attachments/assets/962057fd-7272-4242-8a5d-dd1d66bc1096" /> | <img width="1293" height="229" alt="image" src="https://github.com/user-attachments/assets/836e272e-f505-4284-9a5c-02ab662f6061" /> | | <img width="1181" height="86" alt="image" src="https://github.com/user-attachments/assets/0e64d231-0c88-4cca-b333-7e602aedff18" /> |<img width="976" height="114" alt="image" src="https://github.com/user-attachments/assets/ae403367-cd3b-4c81-afe9-9eb452f66073" />| --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update resolves an issue where product searches weren't working correctly when using the autocomplete feature. The fix bypasses a search optimization that prevented finding products based on barcode when the name search failed. This ensures users can consistently find products using either name or barcode.
Original PR description
Steps: - Create a product with a barcode "12345" - Create a sale order - Add a product - search product with name "12345" without copy/pasting - no result - try with copy/pasting - 1 result The problem is due to the fact that there is an optimization in Many2XAutocomplete.search which means that if no results are found for “1234,” it will not search for “12345.” However, product override name_search to returns a product only when the name is exactly equal to its barcode (`=` and not `ilike`), which does not work at all with search optimization. Since: https://github.com/odoo/odoo/pull/228035 opw-5908011 Forward-Port-Of: odoo/odoo#248583 Forward-Port-Of: odoo/odoo#247978
A recent update to the Odoo Enterprise software (19.2 and later) caused a test for the 'hr_holidays_gantt' module to fail. This was due to an issue with a payroll-related field in the test's configuration. This fix ensures the test runs successfully, maintaining the stability of the holiday planning feature.
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 Forward-Port-Of: odoo/enterprise#121119
This update resolves a problem where emojis, such as the firefighter emoji, were being displayed incorrectly due to how they were encoded. The fix backports a more robust regex pattern from the 19.4 release to correctly handle these variations in emoji formatting, ensuring consistent and accurate emoji display.
Original PR description
Bug === Some emoji like `👨🚒` are separated, because they are built using `👨 + Emoji_Modifier + 🚒` (`\uFE0F` can also be used to get the variant of the emoji). Adapt the regex to take into account those Unicode variations. Task-5491124 Forward-Port-Of: odoo/odoo#271373 Forward-Port-Of: odoo/odoo#269719
This update resolves a technical issue that previously caused errors when creating expense accounts without assigned codes. The fix ensures the system handles accounts without codes gracefully, preventing a 'TypeError' and improving overall stability. This change ensures consistent functionality across all expense account types.
Original PR description
## Steps to Reproduce: 1. Install the **Accounting** module. 2. Enable **Analytic Accounting** in Settings. 3. Create and switch to a new company. 4. Create an expense type of account without setting a code. 5. Go to **Analytic Distribution Models** and create a new record. ## Error: `TypeError: 'bool' object is not subscriptable` ## Cause: Since commit https://github.com/odoo/odoo/commit/c3313b336b9f1305c363097745926f2bdf61e277, account codes are optional. When an expense type account exists without a code, `_compute_prefix_placeholder()` tries to extract the first two characters of the account code at [1]. However, an unset code field is treated as False, and slicing this boolean value will raise an error. ## Fix: Only use the expense account code to compute prefix suggestions when the account has a code. Otherwise, keep using the default prefix values. sentry-7553918989
This update ensures Odoo's server processes efficiently load necessary data, leading to faster response times. Previously, a key setting wasn't being applied correctly, but this fix now proactively loads these data sets, optimizing the server's performance. This change improves the overall user experience.
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 ensures Odoo generates PDF invoices that fully comply with ZUGFeRD standards, a crucial requirement for electronic invoicing in Europe. Specifically, it adds a necessary tag to the PDF file to accurately link the underlying XML data, improving data exchange and reducing potential errors. This change supports current ZUGFeRD specifications.
Original PR description
Adapt `add_attachment` to allow setting the "AFRelationship" tag on the PDF filespec object, In compliance with Factur-X/ZUGFeRD specs that require the AFRelationship tag in the PDF filespec object to reflect the relationship between the embedded XML and the visual PDF content: - /Data: the visual PDF contains more invoicing data than the XML. - /Alternative: the XML and the PDF are two equivalent representations of the same invoice. Additionally, update the embedded XML filename from `zugferd-invoice.xml` to `factur-x.xml`. The former is marked as deprecated since ZUGFeRD 2.0 Ref: sections 6.2.2, 6.3.1, 6.3.2 of the ZUGFeRD 2.4 specification: https://www.ferd-net.de/en/downloads/publications/details/zugferd-24-english opw-6252082 Forward-Port-Of: odoo/odoo#271406 Forward-Port-Of: odoo/odoo#269117
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 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 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 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