Monday, September 30, 2024
58 changes · 18.0
Resolved issues and error corrections
The website editor's snippets modal has been adjusted so it appears correctly for right-to-left languages. This improves usability for teams working in languages such as Arabic or Hebrew when building or editing website pages.
Original PR description
This commit adapts CSS code to correctly display the snippets modal for RTL languages. The snippets modal was introduced in this commit [1]. [1]: https://github.com/odoo/odoo/commit/edf81c13d8f2f6d29a77d68cbfa0dc9216da3c2a task-4072655
Tax totals are now calculated consistently across invoices and other accounting flows, especially when taxes are rounded globally or included in prices. This reduces one-cent discrepancies and improves reliability for invoices with multiple lines, analytic allocations, or complex tax repartitions.
Original PR description
The creation of tax lines is made with 2 duplicated mechanisms: _get_generation_dict_from_base_line is the method saying the granularity of your tax lines. This method is used by everyone using the…
The creation of tax lines is made with 2 duplicated mechanisms: _get_generation_dict_from_base_line is the method saying the granularity of your tax lines. This method is used by everyone using the compute_taxes method. Since V16, a custom similar mechanism has been duplicated on invoices in _compute_all_tax in account_move_line.py => We should have only one mechanism. Then, another problem is the whole logic to compute the round_globally is wrong. Instead of: - compute the tax values per grouping key per tax repartition line per line - aggregate the amounts - round we should: - compute the tax values per tax and per line - round - dispatch the amounts to the repartition lines. Let's take some examples: Suppose 3 lines of: price_unit = 33.33, tax = 10% price_unit = 33.33, tax = 10% price_unit = 33.34, tax = 10% Using round_per_line, each line will compute 3.33 as tax so a total of 9.99. Using round_globally, each line will respectively compute a tax amount of 3.333, 3.333, 3.334 so a total of 10.0. However, depending the current grouping key to compute the tax lines (each one corresponding to a repartition line), the computation could be different. Suppose the analytic checkbox is ticked on the tax and the base lines are: price_unit = 33.33, tax = 10%, analytic_distribution = 100% on account_A price_unit = 33.33, tax = 10%, analytic_distribution = 100% on account_B price_unit = 33.34, tax = 10%, analytic_distribution = 100% on account_C In this specific case, the total of taxes will be 3 x 3.33 = 9.99 because it will generate 3 tax lines, one for each analytic distribution. Another problem is when dealing with price included taxes. Suppose two lines: price_unit = 21.53, tax = 21% incl price_unit = 21.53, tax = 21% incl Each line will compute a tax excluded amount of round(21.53 / 1.21) = 17.79 So the total untaxed amount is computed as 17.79 x 2 = 35.58. However, since the tax is included in price, the untaxed amount should be round(21.53 * 2 / 1.21) = 35.59 It means there is 0.01 that need to be distributed on invoice's journal items. task-id: 3725705 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The checkout now blocks customers from using a Mondial Relay pickup point as their billing address, avoiding order errors during payment or confirmation. The relay selection dialog also opens as soon as the delivery method is chosen, making the process clearer and reducing failed checkouts.
Original PR description
It was possible to use delivery as billing address even if delivery address was a modialrelay one. That caused a traceback as it is not allowed to change modialrelay address. This commit will prevent these cases.
Customers can now add products to their cart when click and collect is enabled, even if the website’s default warehouse is out of stock, as long as another selected pickup location has availability. Stock validation is handled later during checkout and payment, with clearer availability warnings and better order warehouse updates when pickup options change.
Original PR description
When warehouse is set on website then website_sale_stock adds logic to handle out of stock products, namely preventing to sell them or adding to the cart. However, when click and collect is activated user can choose a warehouse where the product is available that is not necessarily the one set on the website. For these cases user should be capable to add products in the cart. The validation of the availability is checked later in the /checkout and /payment.
Mobile users who tap a link to a message in a chat channel are now taken directly to the relevant conversation instead of staying on the main Discuss screen. This makes navigation from message links consistent and avoids confusion when using Discuss on mobile.
Original PR description
Before this commit, clicking on message link from a channel in mobile app was not opening the conversation with the message. This happens because when the conversation is a channel, it relies on `active_id` of Discuss app. The auto-set of active thread in Discuss app based on `active_id` works in Desktop but not in mobile, as a result it stays in the "main" screen of discuss app. This commit fixes the issue by invoking explicitly `thread.open()` when thread is set as the Discuss app active thread in mobile. This made it open in chat window, which is how threads are open in mobile in all cases including discuss app. Task-4208169
The POS HR dashboard now checks point-of-sale activity instead of sales orders when deciding whether to show sample data. This prevents the dashboard from making the wrong decision based on unrelated sales information, improving accuracy for businesses using POS with HR data.
Original PR description
We recently added some model dependencies to determine if a dashboard should display its sample data if the database did not have enough information worth showing. The pos_hr dashboard was depending on sale orders by mistake. It's supposed to depend on `pos.order` and to a certain extent `report.pos.order`. Task-4220370 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
Fixed an issue that prevented portal users from previewing or downloading files embedded in knowledge articles. The file access information now matches the expected format, avoiding unnecessary access errors.
Original PR description
Purpose: -------- Currently, portal users cannot preview nor download files inserted in knowledge articles. The issue arises because there is a mismatch between the accessToken key used inside the embedded props of the embedded file component and the access_token field used in the file model. Therefore, portal users try to preview/download attachments without access tokens, which results in access errors. This commit renames the key used for the embedded file component so that it matches the one of the file model. Task-4221554
Fixes minor display issues in kanban cards where long titles or translated badge labels could cause amounts and footer details to overlap or appear misaligned. This improves readability and consistency for users working with expenses, sales orders, purchase orders, and POS orders.
Original PR description
This commit fixes small UI issues in expense, pos, purchase and sale kanban views, introduced by the conversion to the API [1][2][3][4]. They had similar issues. The amount displayed on the right of the title row sometimes overflowed, when the title was too long. And the left part of the footer was weirdly displayed when the label of the badge displayed next to it was too long (which might easily happen with translations). [1] https://github.com/odoo/odoo/pull/171214 [2] https://github.com/odoo/odoo/pull/173466 [3] https://github.com/odoo/odoo/pull/174308 [4] https://github.com/odoo/odoo/pull/174134 Task~4215979 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
Stock in inter-company transit locations can now be reserved again, allowing companies to use these locations like normal transit points. This supports smoother inter-company transfers now that lots can be shared without being tied to one company.
Original PR description
It used to be forbidden to reserve on inter-company transit, as this could raise issues with transfered lots that would belong to a company being processed in another company. Since now lots can be made company-less for the purpose of being transferable between companies, it would make sense to enable the reservation again, and allow to draw from the inter-company location as if it was a normal transit location. Task-4207078 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes spreadsheet list formulas that spill results across multiple cells so those generated cells are correctly treated as list cells. Users will now see the expected list menus and visual highlights when working with these expanded list formulas.
Original PR description
With the new `SEQUENCE` function and the formula vectorization, we can write spread formulas for lists (e.g. `=ODOO.LIST(1, SEQUENCE(5), "name")`), but the spreaded cells were not recognized as list cells. This caused issues of missing list menu items & missing highlights. Task: [4199994](https://www.odoo.com/web#id=4199994&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
This update corrects visual layout issues in kanban cards after the recent kanban view update. Project, task, and timesheet cards should now display more consistently, improving readability for users managing work and time entries.
Original PR description
Task 4215979
This update restores the correct layout for the e-learning Courses kanban view after a recent technical change. It helps users browse and manage course cards with the expected visual structure, including when sales-related course features are installed.
Original PR description
This commit fixes the layout of the Courses (e-learning) kanban view, following the conversion to the new kanban API [1] [1] https://github.com/odoo/odoo/pull/180256 Task~4215979 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
Changing the note on an existing point-of-sale order line now correctly records the old line as cancelled and the updated line as new. This prevents preparation screens, such as kitchen or bar tools, from mistaking a note edit for an extra item being ordered.
Original PR description
The return value of [`changesToOrder`](https://github.com/abichinger/odoo/blob/74273fea6a9c7f57da95aa120fd2767443822c46/addons/point_of_sale/static/src/app/models/utils/order_change.js#L1) is missing…
The return value of [`changesToOrder`](https://github.com/abichinger/odoo/blob/74273fea6a9c7f57da95aa120fd2767443822c46/addons/point_of_sale/static/src/app/models/utils/order_change.js#L1) is missing a line inside the `cancelled` array, while updating the note of an existing order line. From the POV of a preperation tool, this makes it look like a new item has been added to the order.
https://github.com/user-attachments/assets/618263ac-0a61-42f2-b662-10e1ae63e39f
While recording the video I captured the following values from `changesToOrder`
```jsonc
// 1st output after the orderline was created
{
"new": [
{
"uuid": "db47ade6-c8e1-47e1-8dcc-8c43ef67de8a",
"name": "Coca-Cola",
"product_id": 100,
"attribute_value_ids": [],
"quantity": 1,
"note": "",
"pos_categ_id": 10,
"pos_categ_sequence": 0
}
],
"cancelled": []
}
// 2nd output after the note was added
{
"new": [
{
"uuid": "db47ade6-c8e1-47e1-8dcc-8c43ef67de8a",
"name": "Coca-Cola",
"product_id": 100,
"attribute_value_ids": [],
"quantity": 1,
"note": "Zero",
"pos_categ_id": 10,
"pos_categ_sequence": 0
}
],
"cancelled": []
}
```
I would expect the second output to look like this
```jsonc
{
"new": [
{
"uuid": "db47ade6-c8e1-47e1-8dcc-8c43ef67de8a",
"name": "Coca-Cola",
"product_id": 100,
"attribute_value_ids": [],
"quantity": 1,
"note": "Zero",
"pos_categ_id": 10,
"pos_categ_sequence": 0
}
],
"cancelled": [
{
"uuid": "db47ade6-c8e1-47e1-8dcc-8c43ef67de8a",
"name": "Coca-Cola",
"product_id": 100,
"attribute_value_ids": [],
"quantity": 1,
"note": "",
"pos_categ_id": 10,
"pos_categ_sequence": 0
}
]
}
```
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThe website editor toolbar now shows the correct name for each selected font style, including Header 1. This prevents confusion when users format content and helps ensure the chosen style is clearly reflected in the dropdown.
Original PR description
Before this commit: Selecting header 1 in the font dropdown will show header 1 display 1 which is wrong. They are 2 different fonts. After this commit: Now every selected font show its corresponding name. Added a test to check the flow for all possible fonts. 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
Spreadsheet list views now keep boolean values as true or false instead of turning them into text. This prevents formulas and evaluations from misreading checkbox-style data, improving accuracy in spreadsheet-based reporting.
Original PR description
The method returning a list field value based on its type did not properly handle the boolean fields. It would return the string "TRUE" and "FALSE" which are interpreted as strings by the evaluation process. task-4182574 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 fix makes table column changes in the HTML editor properly recorded in the editing history. Users can now undo or redo adding, moving, or deleting table columns, reducing frustration and accidental content loss.
Original PR description
Before this commit, adding / moving / deleting a table column does not add a step. It is therefore not possible to undo/redo. 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 an automated website shop test so it more accurately confirms product variant selections inside a modal window. It helps reduce false test failures and supports smoother quality checks for the online checkout experience.
Original PR description
In this commit, we remove unuseful click action, we use check action instead of click (to ensure the input is checked after clicking on it) and we precise some step trigger by adding .modal to check the element is well in a modal before proceed to checkout (in the tour). 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
eCommerce category images uploaded in the backend are now automatically converted to WebP. This helps reduce image file sizes and can improve storefront loading performance without changing the user's workflow.
Original PR description
A new option to convert images to webp was added in 1a978183001e0503104285f4bd5bed983beb0efb. This commit adds this option to eCommerce categories' form view image field so categories images uploaded from the backend benefit from webp improvements too.
This fixes leftover view definitions so repair manufacturing and website collection settings use the current list format consistently. It helps prevent configuration or display issues caused by older view naming during upgrades or use of these screens.
Original PR description
before this commit, few tree tags are left over without changing into list tag in this commit: https://github.com/odoo/odoo/commit/4ca79b1549eec988a31b80aa0e9f03e6420e84df#diff-e8da39382dbb141dfbfcec84a5a4365734015a25cd3ed94004f7eb7daa7e7ab0R12 after this commit, all tree tag will be converted into list tag Related EE: https://github.com/odoo/enterprise/pull/71002 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The editor now recognizes inserted media, such as document icons, as real content instead of treating the paragraph as empty. This prevents placeholder hints like “Type here” or command prompts from appearing on top of media, improving the editing experience.
Original PR description
Steps: 1. In an empty editable, insert a document with /image -> Documents 2. Move the cursor to before or after the document icon. -> The 'Type "/" for commands' hint is displayed over the icon. 3. Now click outside the editable. -> The "Type here" hint is displayed over the icon. Both hints display are undesirable, as the content of the first (and only) paragraph is not empty. This commit makes sure media elements are considered as visible content when checking if a block is empty.
Updating a note on an existing point-of-sale order line is now treated as a change to that line instead of appearing like an additional item was ordered. This helps kitchen or preparation screens show accurate order updates and avoid duplicate preparation work.
Original PR description
The return value of [`changesToOrder`](https://github.com/abichinger/odoo/blob/74273fea6a9c7f57da95aa120fd2767443822c46/addons/point_of_sale/static/src/app/models/utils/order_change.js#L1) is missing…
The return value of [`changesToOrder`](https://github.com/abichinger/odoo/blob/74273fea6a9c7f57da95aa120fd2767443822c46/addons/point_of_sale/static/src/app/models/utils/order_change.js#L1) is missing a line inside the `cancelled` array, while updating the note of an existing order line. From the POV of a preperation tool, this makes it look like a new item has been added to the order.
https://github.com/user-attachments/assets/618263ac-0a61-42f2-b662-10e1ae63e39f
While recording the video I captured the following values from `changesToOrder`
```jsonc
// 1st output after the orderline was created
{
"new": [
{
"uuid": "db47ade6-c8e1-47e1-8dcc-8c43ef67de8a",
"name": "Coca-Cola",
"product_id": 100,
"attribute_value_ids": [],
"quantity": 1,
"note": "",
"pos_categ_id": 10,
"pos_categ_sequence": 0
}
],
"cancelled": []
}
// 2nd output after the note was added
{
"new": [
{
"uuid": "db47ade6-c8e1-47e1-8dcc-8c43ef67de8a",
"name": "Coca-Cola",
"product_id": 100,
"attribute_value_ids": [],
"quantity": 1,
"note": "Zero",
"pos_categ_id": 10,
"pos_categ_sequence": 0
}
],
"cancelled": []
}
```
I would expect the second output to look like this
```jsonc
{
"new": [
{
"uuid": "db47ade6-c8e1-47e1-8dcc-8c43ef67de8a",
"name": "Coca-Cola",
"product_id": 100,
"attribute_value_ids": [],
"quantity": 1,
"note": "Zero",
"pos_categ_id": 10,
"pos_categ_sequence": 0
}
],
"cancelled": [
{
"uuid": "db47ade6-c8e1-47e1-8dcc-8c43ef67de8a",
"name": "Coca-Cola",
"product_id": 100,
"attribute_value_ids": [],
"quantity": 1,
"note": "",
"pos_categ_id": 10,
"pos_categ_sequence": 0
}
]
}
```
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis fixes a small usability issue in the HTML editor where hovering over the disabled remove formatting button did not show its explanatory tooltip. Users now get clearer feedback about the unavailable action, while the button still looks and behaves disabled.
Original PR description
Issue: ====== hover over remove format button when disabled doesn't show tooltip. Origin of the issue: ==================== Since the disabled button will have the class .disabled which will add `pointer-events:none` to the button so when hovering nothing happens. Solution: ========= - Add `pointer-events:auto` to show the tooltip on hover. - Add `cursor:auto` to show the usual cursor and not the pointer when hover. - Style the `.disabled:active` button the same as the `.disabled` so that clicking on the button doesn't change the style which gives the impressions that something happened.
This fix stops users from dragging selected table cells out of a table in the HTML editor, which previously could cause an error. It improves editing stability by preventing an unsupported action that led to a crash.
Original PR description
Before this commit: in a table, select last two cells of first row and drag drop it to a p element out of the table, a traceback is raised After this commit: the dragging on the table cells is disabled --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix makes a banner editor test run consistently by ensuring needed resources are loaded before the test action continues. It reduces random test failures, helping keep development and release checks more dependable without changing customer-facing behavior.
Original PR description
This commits fix an indeterministic test error. The indeterministic error was made by a getBundle triggered by a click, the solution is get the bundle ourself and await it.
This fixes an issue where website test helpers could fail when used outside a full HTTP test environment. The change makes tests fall back to the configured web port when no running server is available, improving reliability for internal testing without affecting normal users.
Original PR description
`MockRequest` calls `HttpCase.base_url()` even though it can be used outside of http cases. odoo/odoo#180461 made consistency a requirement as it retrieves the actually bound port from a running server. Make `http_port()` return `None` if no server is running (rather than error), and have `MockRequest` fallback on ~the old behaviour (of just retrieving the http_port from the config) in that case. Technically we could probably hardcode `8069` to limit e.g. issues when running with `http_port=0`, but odds are none of that is really relevant.
Duplicating embedded actions now avoids saving two conflicting action targets at the same time. This prevents errors for users when copying embedded actions that use a predefined Python method.
Original PR description
Before this commit, when the user tries to duplicate a embedded action containing the field `python_method` set, the `action_id` should not given otherwise an error will be raised because the `check_only_one_action_defined` constraint will not be respected because we will have 2 actions to call for a same embedded action. This commit makes sure the `action_id` field is not set if `python_method` is given. task-4191101
When staff book a restaurant table and return to the floor plan, the table now correctly appears as occupied. This helps avoid seating confusion and gives staff an accurate view of table availability.
Original PR description
Before this commit: === - After booking a table and returning to the floor plan, the table was not marked as full. After this commit: === - After booking a table and returning to the floor plan, the table is now correctly marked as full. Task-4210770
Deleting some Point of Sale demo orders could fail because related order lines and payments were missing default identifiers. This fix adds default UUID values so demo POS records can be removed cleanly, improving reliability for testing and demonstrations.
Original PR description
In this commit: ================= Fix traceback when deleting demo records in POS. When deleting some demo orders in the POS, a traceback was raised because the lines of the orders did not had an order linked to it. This was because they did not have an uuid. We now have default uuid values for orders, order lines and pos payments. Task: 4212901 Related: https://github.com/odoo/enterprise/pull/70925
Duplicating a bill no longer carries over payments matched to the original bill. This prevents the same payment from appearing linked to both the original and copied bill, reducing accounting confusion.
Original PR description
The matched_payment_ids field value is being copied when duplicating a bill. This causes the payment from the original bill to get linked to the new bill as well, which is unexpected. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an issue in the HTML editor where creating a table in an empty column could show repeated column hints in every table cell. The hint now appears only in the intended first paragraph, making the editing experience cleaner and less confusing.
Original PR description
Before this commit: creating a table in an empty column, all the table cells have the column hint After this commit: only the first p node under the col div has the column hint --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update prevents certain bank statement workflows from accidentally disrupting the accounting record chain. It also adds clearer guidance when users encounter the affected flow, helping them avoid actions that could compromise locked financial records.
Original PR description
Some specific flows could lead to a break in the hash chain, due to a missing check that ensure no aml are deleted. This check is added, as well as a nicer error message in the flow that would cause the issue to guide the user. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The replenishment view now keeps the horizon value selected by the user when they leave and return to the view. This prevents repeated manual re-entry and makes stock planning workflows more consistent.
Original PR description
To reproduce: - Open replenishment view - Change horizon value in the panel to 5 - Open any other view and reopen replenishment view Current behavior: Horizon is reset back to 0. Expected behavior: Horizon will remember the last value (5 in this example). --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The homepage guided tour now works correctly with the updated page-building flow, where building blocks are selected from a modal instead of dragged onto the page. This makes onboarding and automated checks more reliable by keeping guidance pointers visible and aligned while users browse available blocks.
Original PR description
mass_mailing, test_website, web_tour, website_event, website_mass_mailing, website_payment, website_sale This commit adapts the "homepage" tour following the change in the way building blocks are inserted into a page (now, the blocks are displayed in a modal). Change introduced by this commit [1]. Here are the changes made in this PR: - The "dragNDrop" function of "tour_utils" has been changed and is now called "insertSnippet". Instead of dragging and dropping a category, users now simply need to click on the category. - Before this commit, the "tour pointers" that indicated to users that they needed to scroll the "snippets modal" were misaligned. Their position did not account for the iframe offset of the modal. - Before this commit, the position of the "tour pointers" displayed on the building blocks in the modal was not updated when the modal was scrolled. [1]: https://github.com/odoo/odoo/commit/edf81c13d8f2f6d29a77d68cbfa0dc9216da3c2a task-4072655
Several website building blocks now use the correct grid settings, so their layouts display more consistently across screen sizes. This helps pages built with these snippets look as intended and reduces manual layout adjustments for website editors.
Website building blocks with multiple buttons now display with proper spacing on smaller screens. This prevents buttons from appearing cramped or misaligned, improving the mobile presentation of affected website sections.
Original PR description
This commit introduces a fix for the snippets that include at least two buttons in their layout. Prior to this commit, the buttons were simply defined within the `<p>` tag, due to a lack of testing corner case scenarios. This implementation was actually wrong, because as soon as you add `n+1` button within the editor, it'll apply a `mb-2` on each button to space them correctly on smaller devices. To fix this issue, we simply replicate the behaviour of the editor by adding the class on the snippets that match this scenario. task-4210852 part of task-4077427 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix adjusts several website building blocks so their grid layouts use the right row, column, and spacing settings. It helps pages built from these snippets display more consistently and avoids layout issues for website editors and visitors.
Original PR description
This commit fixes several issues related toin grid options:
- `s_cta_mockups`: wrong column count
- `s_image_punchy`: wrong row count and column count
- `s_numbers_grid`: `g-col-md-3` was used instead of `g-col-lg-3`
- `s_sidegrid`: distinct sizes were used for `g-col-lg` and `col-lg`
padding classes were used
task-4213996Project users can now open the Documents app directly in the relevant project folder, making it faster to find and upload files. Folder navigation is also corrected so users can browse folders as expected from project-related document views.
Original PR description
Open the documents app directly in the project's folder allows quicker access to documents and upload. We also correct view contexts to show folders to allow navigation. Task-4216195
This update ensures copied databases with the Monster recruitment integration are neutralized so they do not contact external systems or affect live customer data. It helps support teams investigate issues on database duplicates safely without risking unintended changes in production-related services.
Original PR description
This commit adds the missing neutralization necessary for the hr_recruitment_integration_monster module introduced in [1] The purpose of the standard neutralization framework is to allow us to create database copies that will not interact with external systems in ways that could impact the production database (or if it is not possible to prevent the interactions, make sure that they are benign or won't result in actual changes), or impact the customers of the operator of the production database. This is mainly useful to allow safe support investigation on database duplicates. [1] https://github.com/odoo/enterprise/pull/70213
This fix updates the Knowledge migration so embedded file links keep their access information after a field name change. It helps ensure existing Knowledge articles with embedded files continue to work correctly after upgrading.
Original PR description
Purpose: -------- In commit [1], the field holding the access token inside the file model has been renamed from accessToken to access_token. This commit adds the renaming of the related accessToken prop of the embedded file component during the migration of the file behavior. [1]: https://github.com/odoo/odoo/commit/448c9791dd1980d1aa3c244a9f85828424c7e10b Task-4221554
This change adds test coverage for inter-company purchase and sales flows where goods are delivered before the related purchase order is confirmed. It helps ensure reservations work correctly through inter-company transit locations, reducing the risk of stock flow errors between companies.
Original PR description
In the community-side, we allow the reservation on all transit locations (i.e. Inter-Company transit as well). Adds a test where an interco PO is generated in draft then confirmed after the delivery was done in the other company, as it can now reserve on the already delivered quantities. Task-4207078
Attachments added to Knowledge comments now display at the proper size without awkward scrollbars or cramped layouts. This keeps comment threads easier to read while avoiding broader styling changes that affected the comment appearance.
Original PR description
This commit aims at fixing an issue with message containing attachments. Those attachments can be displayed too small resulting in scrollbars and weird displays. In e8df9ed4a92e we tried to fix this by using the environment variable inChatWindow, but this changed the styling of comments drastically. So in this commit we remove this option and directly apply the correct style to the attachment cards. task-4221276
The payroll test suite now uses a fixed date instead of a date based on the current day. This prevents occasional test failures caused by changing calendar dates, helping keep payroll quality checks stable.
Original PR description
Before this commit, the test `test_ytd_02_reset_date` was using a date relative to today's date; however this can bring errors. This commit sets a fixed date for the test in order to avoid that.
The purchase manufacturing work order quality module can now be installed with demo data without hitting an employee-link error. This prevents setup interruptions caused by the system installation user not being tied to an employee record.
Original PR description
Installing this module with demo data gives an error "You need to link this user to an employee of this company to process the work order" As the installation user is "__system__" there is no linked employee.
This update keeps Uruguay electronic invoicing screens compatible with the latest Odoo view naming rules. It prevents affected list-style pages from failing to load after the platform stopped accepting the older view name.
Original PR description
Since odoo/odoo#159909 we no longer accept `tree` as a synonym for `list` views.
This fixes layout issues in Kanban views used for field service, projects, helpdesk timesheets, and timesheet grids. Users should see cleaner, more consistent task and timesheet cards, making daily work easier to scan and manage.
Original PR description
Task~4215979
This fixes payroll contract setup so worker compensation is only required when the contract is with a US company. It prevents unnecessary validation blockers for non-US companies and reduces confusion during HR contract management.
Original PR description
The worker compensation could be required even though the contract is not with a US company.
This update fixes an issue where the Barcode app could reuse outdated cached data when users performed multiple warehouse operations without refreshing the browser. It also makes barcode processing more robust and stabilizes automated barcode workflow checks, reducing the risk of incorrect or flaky warehouse handling.
Original PR description
Fixes persistent cache ================= Before this commit, an old instance of `LazyBarcodeCache` was used by `BarcodeObject` when an operation is done after another operation without any browser's…
Fixes persistent cache ================= Before this commit, an old instance of `LazyBarcodeCache` was used by `BarcodeObject` when an operation is done after another operation without any browser's refresh between them. Cleans `processBarcode` =================== Makes some cleans/improvements/fixes of the `processBarcode` code: - Does nothing if no barcode is given; - Moves all cleaning stuff in its own method, `postProcessBarcode`, so this way this is better organized and easier to override. Fixes failing test tours =============== Following https://github.com/odoo/enterprise/pull/68825, the Barcode app code `processBarcode` is now slightly slower. In consequence, some not so precise triggers in the tours run too faster and don't correctly wait the previous trigger's action to be completed. This commit makes those triggers more precise. Runbot build error: - 99509 `test_receipt_reserved_2_partial_put_in_pack` - 99513 `test_setting_group_lines_by_product` - 99515 `test_inventory_adjustment_tracked_product` - 99520 `test_put_in_pack_before_dest` - 99521 `test_split_line_on_exit_for_delivery` - 99523 `test_split_line_reservation` - 99525 `test_barcode_batch_delivery_1` - 99529 `test_put_in_pack_from_multiple_pages` - 99531 `test_put_in_pack_scan_suggested_package` - 99536 `test_picking_type_mandatory_scan_complete_flux` - 99537 `test_put_in_pack_before_dest` (from picking batch)
Minor visual issues in the Helpdesk team dashboard have been corrected after a recent interface update. This helps teams view their dashboard cards and information more consistently without changing business workflows.
Original PR description
This commit fixes small UI issues introduced by the conversion of kanban archs to the new API [1], in the helpdesk team dashboards. [1] https://github.com/odoo/enterprise/pull/70127 Task~4215979
This fix completes a technical naming update by replacing remaining outdated view tags with the current list format. It helps keep these modules aligned with the latest Odoo standards and reduces the risk of display or compatibility issues.
Original PR description
*documents_account, documents_hr_recruitment, l10_in_hr_payroll,l10n_uy_edi before this commit, few tree tags are left over without changing into list tag in this commit: 4ca79b1#diff-e8da39382dbb141dfbfcec84a5a4365734015a25cd3ed94004f7eb7daa7e7ab0R12 after this commit, all tree tag will be converted 'into list tag
The loan management test has been updated to use fixed dates, preventing failures caused by the date when the test is run. This helps keep automated checks stable and reduces false alarms during development.
Original PR description
`test_loan_import_amortization_schedule` was failing because of a missing `freeze_time` which has now been added along with hard-coded dates instead of relative dates which are more prone to errors. runbot errors: 100079 100342
Companies can now keep related deliveries and receipts in sync even when automatic inter-company purchase or sales order creation is disabled. This removes a confusing limitation and helps teams maintain accurate stock movements across companies without changing their automation preferences.
Original PR description
Previously, it was considered that a company needed to allow the generation of purchase orders for inter-company transactions in order to allow the sync between deliveries made to it and its own receptions. This implied that a company not allowing automated purchases to be made on itself couldn't sync its receipts with a sale order generated another company following a purchase to it, which is quite confusing user-wise. To avoid that, we allow the sync regardless of the selected options for automated Purchase / Sale Order generation. Task-4207009
This update fixes several issues with the status banner shown during document extraction across accounting, expenses, recruitment, and bank statement workflows. Users should see clearer wording, better layout on smaller screens, fewer duplicate or stale status messages, and disabled actions while extraction checks are still loading.
Original PR description
Fixes for multiple things related to extract status header: - Fix split translation string by choosing a generic term - On smaller displays, the header was not taking up the full width - Added check_status_loading to disable button when rpc is loading - Remove header in expense when the user refreshes a extracted document - Sync record props when switching between documents or manually requesting extraction
The automated test for preparation displays has been corrected so it reflects a real point-of-sale order flow. This helps prevent false confidence in testing and improves reliability for restaurant and preparation display workflows.
Original PR description
This commit fix a test that was not testing a real flow due to a lack of uuid on the order lines. It is now re-written. Community PR: https://github.com/odoo/odoo/pull/180731
The update rewrites preparation display tests so they better reflect real point-of-sale order flows. This helps prevent false confidence from tests that previously missed important order line details, reducing the risk of future issues reaching restaurant workflows.
Original PR description
This commit fix a test that was not testing a real flow due to a lack of uuid on the order lines. It is now re-written. Related: https://github.com/odoo/odoo/pull/181858
Financial budget amounts can now be edited when working across companies that use different currencies. This prevents an error in consolidated profit and loss reporting, helping finance teams update budgets without interruption.
Original PR description
To reproduce: 1) Create two companies, with different currencies, make them both active in the selector 2) Open the P&L 3) Create a new financial budget 4) Try to add an amount to some account for this budget ==> Traceback. This happens because the currency table is not initialized. When modifying a manual value, a different public function is called server-side than when rendering the report ; we need to initialize it there as well.
The update prevents users from linking a menu to a spreadsheet when the required Documents or Dashboard features are not installed. This avoids a crash during confirmation and improves access-right checks around spreadsheet-related integrations.
Original PR description
… nor dashboard Steps to reproduce: * Install hr and spreadsheet (not documents nor dashboard!) * Try to link a menu to spreadsheet * Click confirm => Boom Task: 4134791
This fix adds a safeguard to prevent certain bank statement actions from disrupting the integrity of accounting records. It also improves the error message so users are guided more clearly when an action cannot be completed.
Original PR description
Some specific flows could lead to a break in the hash chain, due to a missing check that ensure no aml are deleted. This check is added, as well as a nicer error message in the flow that would cause the issue to guide the user.
Opening unpinned document folders now keeps them under the Company section, so users see expected navigation and management options. This restores items like breadcrumbs and the settings menu, making folder browsing more consistent and easier to use.
Original PR description
When you double-click on an unpinned folder, like "Support", to inspect its content, you notice the absence of some important tools in the UI: the cogwheel menu, a proper breadcrumb... Parenting the unpinned folders to the "Company" section solves the issues. task-4216195