Tuesday, March 17, 2026
43 changes · master
Resolved issues and error corrections
This fixes a counting issue where installed design themes were being treated as custom modules after an internal marker module was removed. The change restores the intended exclusion so usage and custom-code reporting remain accurate for customers and support teams.
Original PR description
In saas-19.2 the module theme_common was remove, this module was use by the cloc to ignore the addons in the same folder. Since it has been remove, all the themes installed count as custom modules. Of course we want to avoid that, so we need a new beacon modules: test_themes sounds good. opw: 6036549, 6035869, 6035726, 6035293, 6031718, .... --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#253893
This fixes a display issue where narrow mega menus could become wider than the mobile navigation area. Mobile visitors now see menus that fit properly on screen, improving usability and avoiding awkward page layout problems.
Original PR description
The property "max-width" of the mega menu in mobile view was set with the class o_mega_menu_is_offcanvas of its ancestor. However, when the user set the mega menu template size to "Narrow", new CSS rules were added to change the mega menu size based on the screen size. The first rule was overridden, resulting in the mega menu being larger than the mobile navbar width. This commit sets the property "max-width" as "important" to prevent this issue from occurring. task-5972284 Forward-Port-Of: odoo/odoo#250690
This fix makes calendar test steps more precise so automated checks follow the intended path consistently. It helps reduce false test failures and supports more stable future updates, without changing everyday calendar functionality for users.
Original PR description
Fix undeterministic tours by making some triggers more precise in a few steps to ensure the tour take the good way. 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 allows Odoo's controlled evaluation logic to safely read request header values using a standard header lookup method. It reduces unnecessary restrictions for internal logic while keeping the change small and contained.
Original PR description
It is safe to retrieve a header value using the `Headers.get` function. Task-6036768
User names shown next to avatars no longer look like clickable buttons or links. This keeps record pages visually clearer and avoids suggesting an action where none is intended.
Original PR description
Steps to reproduce: - Go to any record where the user avatar/name is shown - The name appears styled like a button/link Before this PR, the avatar name (e.g., Mitchell Admin) was displayed as a clickable button because `btn btn-link-inline` classes were added to the div in this PR : https://github.com/odoo/odoo/pull/250051/changes#diff-f7871cd65a80efb8402c739e292e355de520ffeb9c25e6e6da945614b1e0171eR5. After this PR, add `start-text` classes from the avatar name span so the name displays normally without button styling. Task -6007958
This fix makes automated Point of Sale test journeys more consistent by using more precise steps. It helps reduce false test failures, supporting more reliable releases without changing the customer-facing POS experience.
Original PR description
Fix undeterministic tours by making some triggers more precise in a few steps to ensure the tour take the good way. 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 employee profile now only shows the emergency contact relationship field when the employee belongs to an Indian company. This prevents irrelevant payroll-specific information from appearing for employees in other countries, keeping profiles cleaner and less confusing.
Original PR description
### Steps to reproduce: - Install l10n_in_hr_payroll. - Create an employee (also link a user) in an Indian company and another company. - Go to My Profile > Private Information > Emergency. - The Relationship field is shown for non-Indian employees as well as employees from other countries. ### Issue: - We're not hiding the relationship field if employee is from other country . ### Fix: - We'll hide this field if an employee belongs to non-indian company. Task: 6008888 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#254162
A missing websocket closure route now follows the same session handling rules as other websocket routes. This prevents unnecessary session changes when a websocket connection closes, reducing the risk of interruptions for users.
Original PR description
In [1], session rotation was disabled for websocket routes. However, the `/websocket/on_closed` route was forgotten. This commit ensures session rotation is also disabled for this route. [1]: https://github.com/odoo/odoo/pull/250826 opw-5445323 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#253889 Forward-Port-Of: odoo/odoo#253615
People who are allowed to manage users can now open the user form even if they are not HR officers. The employee PIN field was removed from the main user form because it belongs with employee and preference information, preventing an error while keeping the data accessible in the right places.
Original PR description
If a person having rights to edit users is not HR officer, he gets a traceback when he tries to open the user form. As the information of PIN is not really related to the user, we left it on the employee and the "Preference" view, but remove it from the main user view --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#251787
This update ensures test websites have a valid partner email when stock availability notifications are checked. It also avoids silently falling back to the current user's email, so missing sender details are caught clearly instead of producing misleading messages.
Original PR description
This commit (https://github.com/odoo/odoo/pull/249299/changes) backported some changes concerning stock availability mails. The mail is now sent from the partner associated to the website. However, in nightly runbots, the partner associated to the website does not have any email, so an error is thrown This fix does two things : - Make sure the website's partner has an email when running the tests - Prevent the mails being sent with the current user's email as a last ressort, and let an error be thrown instead runbot-102934954 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#253172 Forward-Port-Of: odoo/odoo#251951
The website editor now shows parallax snippet previews more consistently in different browsers. This fixes a mismatch between Firefox and Chrome, helping users preview website effects more reliably before publishing.
Original PR description
Steps to reproduce: - Open the website editor. - Open the snippet dialog. - Scroll through a parallax snippet preview in Firefox and Chrome. => The preview animation does not move the same way. Before this commit, the parallax preview used `body.clientHeight` inside the scaled snippet preview iframe. Firefox and Chrome can return different values there, so the preview animation was inconsistent. After this commit, the preview reads `document.documentElement.clientHeight` instead, which gives a stable iframe viewport height across browsers. Forward-Port-Of: odoo/odoo#253541
This update narrows logging suppression in the Bancontact point-of-sale payment flow so only the unnecessary translation noise is avoided. It keeps tests focused and reduces the chance of hiding unrelated warnings, with no expected change for everyday users.
Original PR description
No need to mute the whole `odoo.tools.translate` module, when it could be avoided.
This fix adds missing placeholder names for newer Odoo spreadsheet chart types. Business users can more easily tell these chart data sources apart in the spreadsheet data source menu, reducing confusion when building or editing reports.
Original PR description
We recently added a lot of chart types that handle Odoo data but we faialed to add a placeholder name (which is handy to differentiate them in the datasource menu). Task-5979722 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#252031 Forward-Port-Of: odoo/odoo#251135
This fixes an issue where changing theme colors in the website editor could show multiple loading screens at once, especially on slow connections. The editor now avoids adding an extra loading screen when the interface is already blocked, making the experience cleaner and less confusing.
Original PR description
When adding a loading screen, we should check if the UI is already blocked before showing it, and also hide the loading screen when the UI gets blocked. This can prevent multiple loading screens from being displayed simultaneously. Steps to reproduce: 1. Throttle your network to "Slow 4g" in the dev tools 2. Open Website and start editing 3. Go to the `Theme` tab 4. Click on "Colors" 5. Change one of the main colors (if changing a custom color, close the color picker to apply the changes) => Notice that we have multiple loading screens. task-5965711
This fixes how the website forum handles posts that are flagged and forums set to question mode. It helps ensure forum content is shown and managed according to the correct moderation and display rules.
Original PR description
Add check for the "flagged" state and "questions" mode. task-5891604
This update fixes an unreliable automated check for project task history changes. It ensures the test waits for edited description content to be present before saving, reducing false failures and improving confidence in release validation.
Original PR description
Prior to this fix, `changeDescriptionContentAndSave` in `project_task_history_tour` did not check that the inserted content was actually inside the editor prior to saving. Measured failure rate before the fix: 11/30. After the fix: 0/30. runbot-241987 Forward-Port-Of: odoo/odoo#254274
The ecommerce product page now shows price-per-unit information when the boxed layout is selected. This restores consistent product pricing details across layouts and helps shoppers compare prices more clearly.
Original PR description
### Issue before the commit: In the product page of ecommerce app choosing the "boxed" style layout the price per unit was not displayed. ### Steps to reproduce the issue: - Download website and…
### Issue before the commit:
In the product page of ecommerce app choosing the "boxed" style layout the price per unit was not displayed.
### Steps to reproduce the issue:
- Download website and create one
- Activate "Product reference type" from settings
- Create a product inserting selling price and base unit count
- Go to website with smart button
- Edit and go to "style" tab
- The "purchase style" is not working for "boxed" style
### Cause of the issue:
During the refactoring of the product page templates from version 18.4 to 19.0 (commit 670b1daa2254d7600b54bae675dd673f457aa8fa), in the website_sale.product template, the logic responsible for rendering the unit price information was omitted in the "boxed" layout, whereas it remains correctly implemented in the "default" and "large" views.
### Reason to introduce the fix:
To ensure UI uniformity across all available layout styles and to restore the visibility of critical unit price data for customers.
### Fix details:
Added the base_unit_price in the website_sale.cta_wrapper_boxed layout:
```
<small t-if="combination_info.get('base_unit_price')"
class="ms-1 text-muted o_base_unit_price_wrapper d-none">
<t t-call="website_sale.base_unit_price">
<t t-set="base_unit_price" t-value="combination_info['base_unit_price']"/>
</t>
</small>
```
Before the change:
<img width="489" height="373" alt="image" src="https://github.com/user-attachments/assets/1cee4cfc-0109-4647-a925-b183a19cad48" />
After the change:
<img width="471" height="362" alt="image" src="https://github.com/user-attachments/assets/863e98b2-6297-4388-a538-5ee0c1a568fa" />
opw-5920598
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#253071
Forward-Port-Of: odoo/odoo#250319The Discuss app now keeps Threads and Invite People popovers at a sensible fixed width instead of stretching across the full browser window. This improves readability and makes longer popover content easier to use by allowing it to scroll within the panel.
Original PR description
Before this commit, the "Threads" action in Discuss app had its popover width that would take the browser width. This happens because, althought there's a classname to limit its size…
Before this commit, the "Threads" action in Discuss app had its popover width that would take the browser width. This happens because, althought there's a classname to limit its size (`o-mail-Discuss-threadActionPopover`), this was applied on a part of popover and was ignored due to `mw-100 w-100`. This commit fixes the issue by replacing the classname `.o-mail-Discuss-threadActionPopover` with 2 CSS rules for all action panels in popover: ``` .popover:has(ActionPanel) => max-width .popover .ActionPanel-content => max-height ``` These 2 rules handle popover sizing as desired: fixed width for all these popovers, and max-height on the content part of the action panel. This fixes the problem of limited width for both 'Threads' and 'Invite People' popovers, in addition to handle scrollable content thanks to max-height. Before / After <img width="911" height="384" alt="Screenshot 2026-03-10 at 16 12 23" src="https://github.com/user-attachments/assets/f4b77fdb-f946-4d71-904a-d0b273fbe955" /> <img width="915" height="398" alt="Screenshot 2026-03-10 at 16 12 10" src="https://github.com/user-attachments/assets/b2e461e7-a39a-4698-bae0-421d9d87eccb" /> Forward-Port-Of: odoo/odoo#253790 Forward-Port-Of: odoo/odoo#253100
Odoo now records report temporary files for cleanup as soon as they are created, reducing the chance that leftover files remain in temporary folders after report generation or tests. This helps keep server storage tidier and avoids minor operational clutter without changing user-facing reporting behavior.
Original PR description
Investigated after finding `/tmp/report.*` left over after running tests. #186547 left some temporal holes in the cleanup which are apparently sufficient to not correctly clean the files in some cases? Since `mkstemp` already creates the files, don't wait to have written stuff inside to record the file for deletion, do it immediately *then* write content to the file. An even better solution would be to use `NamedTemporaryFile(delete_on_close=False)`, however that's only available from 3.12, and it does not log deletion errors (although I'm not convinced that's useful in the first place). Forward-Port-Of: odoo/odoo#254023 Forward-Port-Of: odoo/odoo#253053
This fix makes certain website test steps more precise so automated checks run more consistently. It reduces false test failures and helps maintain confidence in website behavior without changing what end users see.
Original PR description
Fix undeterministic tours by making some triggers more precise in a few steps. 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 online shop product filter now keeps “View more” and “View less” translated when shoppers browse in languages other than English. This improves the multilingual shopping experience and avoids confusing mixed-language labels.
Original PR description
When browsing an eCommerce in any language but English and trying to filter on an attribute with more than 8 values and at most 20, the "View more" and "View less" options are not translated Steps to…
When browsing an eCommerce in any language but English and trying to filter on an attribute with more than 8 values and at most 20, the "View more" and "View less" options are not translated Steps to reproduce: 1. Install eCommerce 2. Create a product with one attribute that has 9 to 20 values and publish the product to the eCommerce (the attribute should have radio display type and should be visible in the eCommerce) 3. Add a language (e.g. French) and translate the eCommerce's website 4. Open the website and set the language to French 5. In the left column, open the filter for the attribute previously created 6. Click on "Voir plus" 7. "View less" is not translated, if you click on it, "View more" is not translated anymore Issue: The translation for "View more" is generated because it is present in the template `filter_radio_and_multi_attributes` but when we update the text in website_sale.js, the terms are not translated anymore Solution: Use `_t` to translate the "View more" and "View less" terms opw-5985712 Forward-Port-Of: odoo/odoo#253684 Forward-Port-Of: odoo/odoo#252828
Timesheet entries with negative durations now show consistently in the calendar view. This prevents misleading time displays, such as showing minus 45 minutes as minus 1 hour 15 minutes, helping users read corrections or adjustments accurately.
Original PR description
The calendar view used Python's `divmod` for time calculations, which renders -45 minutes as -1h 15m. This representation is misleading for timesheet entries, while the list view already displays the values correctly. Adjust the calendar view logic to ensure consistent and accurate handling of negative durations. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#247925
This fixes an automated website menu test that was sometimes moving ahead before the page finished reloading. The test now waits until the new menu items are visible, making checks more stable and reducing false failures in quality validation.
Original PR description
__Before commit__ Since the delay between tour steps was removed [1], this tour fails frequently. After saving menus, the page reloads, but the tour attempts to click the edit button before the reload completes, preventing the builder sidebar from opening. __Fix__ Wait for the five new menu items to appear to ensure they have been saved and the page has successfully reloaded before proceeding. [1]: https://github.com/odoo/odoo/commit/769b193 runbot-237842 Forward-Port-Of: odoo/odoo#250393
This update stabilizes an automated test for restaurant point of sale course preparation. It adds extra checks so course preparation actions are triggered consistently, helping prevent false test failures and supporting smoother ongoing maintenance.
Original PR description
In this commit: --- - Add steps in the tour to ensure courses are correctly triggered. runbot-241931 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#253808
This fix ensures binary asset files are prepared once before automated test runs instead of being repeatedly regenerated. It reduces unnecessary processing during testing, helping Odoo's validation infrastructure run more efficiently and reliably.
Original PR description
The commit [^1] introducing binary asset bundle support overlooked the pregeneration of said bundles for the tests runs. This leads to hot-regeneration of those bundles during tests runs on the runbot (multiple hundreds of times) instead of only once and reusing them. This commit adds support for those binary bundles during pregeneration. [^1]: odoo/odoo@a5c02da5c24bfc85b3bbb7d1410d489d3c7185b8 Forward-Port-Of: odoo/odoo#248014
This fix prevents automated tests from leaving behind temporary Chrome-related folders on the system. It keeps test environments cleaner and reduces maintenance noise without affecting normal Odoo users.
Original PR description
It's unclear since when or under what configuration exactly, but Chrome(ium?) seems prone to creating directories called `org.chromium.Chromium.*` (or some variant thereof) in the temp dir (some people report them to be prefixed by a `.`) and never clean them. By telling chromium that its tempdir is its data dir, it creates its litter in there, and we remove the entire thing during cleanup, solving the littering. Forward-Port-Of: odoo/odoo#253350
This update automatically closes sign activities when a signature request is cancelled. Previously, cancelled requests left lingering active activities, which could mislead users. This change ensures a cleaner workflow and accurate tracking of signature requests.
Original PR description
When a signature request is cancelled (e.g. due to a new one being created), the related sign activity for the responsible user was not closed, leaving a misleading active activity. After this improvement, when a sign request gets cancelled, the associated signature request activity is automatically closes. task-[5920466](https://www.odoo.com/odoo/project/1251/tasks/5920466)
This update enhances the visual presentation of alias email addresses within the Helpdesk module. The change improves the user experience by making alias emails more clearly visible, streamlining communication and reducing potential confusion for support agents. This is a minor visual improvement.
Original PR description
task-6013894
This update corrects a display issue in the employee emergency contact section. Previously, the 'Relationship' field was incorrectly shown for all employees, regardless of their company location. Now, the field is hidden for employees associated with non-Indian companies, ensuring data accuracy and a consistent user experience.
Original PR description
### Steps to reproduce: - Install l10n_in_hr_payroll. - Create an employee (also link a user) in an Indian company and another company. - Go to My Profile > Private Information > Emergency. - The Relationship field is shown for non-Indian employees as well as employees from other countries. ### Issue: - We're not hiding the relationship field if employee is from other country. ### Fix: - We'll hide this field if an employee belongs to non-indian company. Task: 6008888 Forward-Port-Of: odoo/enterprise#109775
This update fixes a formatting issue in Odoo's payslip PDF reports. Previously, hours were displayed as decimals, which was difficult for employees to understand. Now, hours are shown in a more user-friendly HH:MM format, improving clarity and accuracy.
Original PR description
The hours in the payslip PDF file are displayed as a decimal which is not user friendly. The commit changes the payslip report template to display the hours as HH:MM. Task: 5975766
This update resolves an issue preventing the Indian payroll demo data from installing correctly. The fix adds a required field ('structure_id') to the demo data, ensuring compatibility with the system's requirements. This allows users to properly test and utilize the Indian payroll features within the Odoo Enterprise environment.
Original PR description
After this https://github.com/odoo/enterprise/pull/103118 (New Employee Type), Indian payroll failed to install with demo data. Issue: `structure_id` is a required field in the hr.payslip.run model, but after refactoring, it is not updated in the pay run demo data. Fix: Add `structure_id` to pay run demo data. task-6040571
This update fixes an issue where the lower portion of the barcode operation page was hidden by buttons. The fix ensures all fields are visible, regardless of button size, improving usability when adding or editing barcode items. This prevents users from missing important information.
Original PR description
# How to reproduce - Set the barcode of a product - Go to Barcode > Operations > (Select any operation) > New - Click on the cog in the top right and type in the barcode you set for the product - Apply and then edit the item you added - Add options to the page (like Expiration Date) or increase the browser's zoom until the list of fields take the whole page # The problem The fields at the bottom of the page are hidden behind the buttons at the bottom # Why The controls at the bottom are positioned absolutely and with a high z-index, so they hide anything behind them. The form css class fixes this issue by adding a margin-bottom roughly the size of the controls. But this fix does not take into account the fact that the controls can grow in size when the DELETE button is displayed opw-5907564 Forward-Port-Of: odoo/enterprise#107496
This update resolves an issue where changing the 'Kitchen Note' on a food item after a quantity update would cause an error. The fix ensures that the note can be updated successfully, regardless of previous quantity changes, improving the reliability of the POS system.
Original PR description
**Steps to Reproduce:** - Install `pos_restaurant_preparation_display`. - Open Register for POS "**Restaurant**" Shop. - Choose table > select food-item > send the order. - Update food-item quantity > send the updated order. - Update food-item '**Kitchen Note**' > send the note. **Error:** `TypeError - 'NoneType' object is not subscriptable` **Cause:** When the food quantity is updated, a new preparation entry is created for the increased quantity. During the first iteration, the display and order quantities are already merged correctly. However, in a subsequent iteration, the original key no longer exists in `quantity_data`. As a result, accessing a None value leads to a traceback. **Fix:** This commit skips the merge step when the original quantity entry has already been merged. sentry-7197024946 Forward-Port-Of: odoo/enterprise#110184 Forward-Port-Of: odoo/enterprise#104889
This update simplifies a technical component within the Stock Barcode module, resulting in a slight performance improvement. The change focuses on internal processes and doesn't directly impact users. It's a routine maintenance update to ensure the module continues to operate efficiently.
Original PR description
community https://github.com/odoo/odoo/pull/253890
This update fixes a minor visual issue in the VoIP call history by moving the 'Open full history' button back to its original position. Previously, the button was hidden due to the infinite scrolling design of the tab, now it's more easily accessible. This improves the user experience for accessing the full call history.
Original PR description
Commit [1] moved the top-right icon-button in the recent calls tab to the bottom of the tab as a real "Open full history" button. The problem is that this tab is an infinite scroll one... so this button is never reachable in real use-cases. This moves it back at the top-right, with the same icon as the Odoo list view. Note: we discussed keeping both buttons and limiting the infinite scrolling but it was judged not worth the lines of code, as it is not an important button to discover. [1]: https://github.com/odoo/enterprise/commit/8be431afdfd9450155535a4b4552e2e774d291c6 task-5475238
This update corrects a visual issue where the subscription status badge was incorrectly aligned to the left side of the form. A recent UI change caused a default width issue, and this commit restores the intended right alignment. This ensures a consistent and professional appearance for users.
Original PR description
A recent UI framework update caused `o_field_widget` containers outside of groups to default to 100% width. This broke the `float-end` class on the subscription state badge, forcing it to render on the left side of the form sheet. This commit adds the `w-auto` class to the field to constrain its width to its content. This restores the intended right-aligned floating behavior. task: 6030343
This update resolves a bug in the Saudi payroll module that caused salary rules to reset unexpectedly. The issue stemmed from a file name error, which prevented the correct data from loading. This fix ensures accurate salary rule calculations for Saudi users.
Original PR description
[FIX] l10n_sa_hr_payroll: fix salary rule reseting Bug reproduction: Select Saudi l18n, payroll app -> salary rules -> edit one of Saudi salary rules -> there will be reset button -> press to that -> traceback Bug cause: hr_salary_advance_and_loan_data such file is tried to be loaded but there is not such a file. Bug solution: The name of that file is hr_salary_rule_salary_advance_and_loan_data indeed. I fixed the name only to load the correct data back. task - 6040484
This update corrects a bug that prevented the creation of 'Cash Supplement' cash moves in German POS systems. The original code incorrectly capitalized the type string, causing an error with the Fiskaly accounting system. Now, the correct casing is maintained, ensuring proper cash move processing and avoiding errors.
Original PR description
When creating a cash move of type "Cash Supplement", the type sent was "Zuschussecht" instead of "ZuschussEcht", which caused is not an allowed type. Steps to reproduce: ------------------- * Setup a PoS with a TSS for a German localization * Start a session and open the cash control popup * Create a cash move of type "Cash Supplement" * Close the session > Observation: You get an error from Fiskaly that the type is not allowed Why the fix: ------------ When doing `.capitalize()` on a string it would make the first letter uppercase and the rest lowercase. In this case "ZuschussEcht" would become "Zuschussecht", which is not the correct type expected by Fiskaly We now keep the original casing for all the type. opw-5462364 Forward-Port-Of: odoo/enterprise#110270 Forward-Port-Of: odoo/enterprise#109235
This update simplifies the IoT connection process by removing a temporary feature that disabled longpolling after connection errors. Now, the system assumes a correctly configured network, allowing for faster reconnection attempts. This change aligns with our new recommendation for LNA clients.
Original PR description
We used to disable longpolling for 5 min after a failure, in order not to lose time while making requests to an unreachable device, and jump directly to WebSocket. As we now recommand using LNA, clients should have a correctly configured network: if an error occurs the next one should work correctly. We then removed the longpolling auto disable feature. Forward-Port-Of: odoo/enterprise#110158 Forward-Port-Of: odoo/enterprise#108335
This update incorporates Uzbek translations from Odoo 19.0 into the enterprise version. The translations were applied directly to specific modules, focusing on correcting missing translations and ensuring consistency. A key focus was on verifying the accuracy of the translations within each module to maintain quality.
Original PR description
Copying translations from 19.0, only direct module matches. I.e. Missing translations were not filled in + moved terms were not matched across modules (i.e. no translation context to ensure correctness) Forward-Port-Of: odoo/enterprise#110497
This update resolves a limitation in the Odoo Report Editor where certain field types were not properly supported. Previously, the /field command in the report editor couldn't handle properties, leading to incorrect report configurations. This change ensures that all field types can be correctly selected, improving report customization capabilities.
Original PR description
Properties are not supported in ir.qweb but only as t-out, while t-field doesn't support them. For this reason and the fact that properties have a path the model field selector barely handles we do not allow those field to be selected in the /field command task-5999790 Forward-Port-Of: odoo/enterprise#110561 Forward-Port-Of: odoo/enterprise#109486
This update fixes a visual issue where payslip PDFs appeared as 'draft' even after payruns were validated. The change ensures the correct, finalized PDF is displayed in the foreground, eliminating confusion for users. It also updates the default attachment used when generating the final PDF.
Original PR description
When creating a payrun and using the Test Print button, the pdfs with the yellow banner saying that the payslip is still draft are generated correctly. When validating the payrun a cron runs to generate the real pdfs. In 19.2 there is a preliminary problem (fixed here) where the payslips are not marked for pdf creation and therefore are not taken by the cron (in master they are correctly marked for it). After that, the pdfs are correctly computed but the pdf in the foreground remains the draft one, generating confusion. With this PR we also change the default attachment when we generate de final pdf, solving the problem. Task: 6023186 Forward-Port-Of: odoo/enterprise#110604
A test was failing due to a mismatch between the user's language setting (French) and the tour content (originally written for English). This commit resolved the test failure by ensuring the tour correctly displays regardless of the user's language preference. This prevents potential issues with the web_studio feature.
Original PR description
Before this commit, a test set the language of the user to French and then opened the browser with that user and that language. The tour in question, written for English failed. After this commit, the tour doesn't fail runbot-error-241983 Forward-Port-Of: odoo/enterprise#110765