Monday, May 26, 2025
21 changes · master
Enhancements to existing features
Users can now create or update Knowledge records for companies they are allowed to edit, even when that company is not currently selected. The system automatically connects the company, avoiding errors, reloads, and repeated data entry.
Original PR description
…ted company Before this commit, if a user had write rights for a company but was not connected to it, an error would occur when changing the company_id field of a record to that company (or create a new record with the company_id field set to that company). The user would then have to select the company in the company switcher, wait for the webclient to reload, re-enter the changes, and save the record again. This commit allows users to write a record (create a new record, or changing the company of an existing record) belonging to a company for which they have write permissions, even if they are not connected to it. In this case, the company will be automatically added to the connected companies. Note that, this is the same behaviour when opening a record from a non-connected company(see [1)]. [1]: https://github.com/odoo/odoo/commit/6213c40932236101b529b82f0ea9fce1829c8c24 task-id 4655385
Shop floor records now show the complete product name instead of cutting it off, making it easier for operators to identify the right item. When long names wrap across multiple lines, the quantity remains clearly positioned in the bottom-right corner of the record header.
Original PR description
Ensure product names are not truncated in the shopfloor view, providing users with complete information for better clarity. Also, in case the product's name is so long it takes multiple lines, ensure the quantity is always written in the bottom right corner of the record's header. Task ID: 4658699 ## Before  ## After 
This update adds checks to ensure stipend salary calculations work correctly for India payroll. It helps reduce the risk of payroll calculation issues and also clarifies the naming of existing regular pay structure tests.
Original PR description
This PR includes: - Added test cases to validate stipend salary rule computation for stipend salary structure in l10n_in_hr_payroll. - Also renamed India:Regular pay structure test cases. Reference PR - https://github.com/odoo/enterprise/pull/83123 Task - 4746152
The Documents area on the portal now uses a new pictogram that matches the rest of the portal icon style. This creates a more consistent and polished experience for users navigating the portal homepage.
Original PR description
This PR introduces a new pictogram to the existing ones, in order to replace the Documents app icon currently in use within Portal. Prior to this PR, Documents was using its module icon on the Portal homepage, which was inconsistent with the other icons displayed on the page, which were all using pictograms from our library. task-4793934 | Master | This PR | |--------|--------| | <img width="833" alt="image" src="https://github.com/user-attachments/assets/2bbbc945-ab18-4f26-8b82-3083c1c5b96c" /> | <img width="902" alt="image" src="https://github.com/user-attachments/assets/e41c58a0-4b81-4a90-beb6-fcaecc84bbb5" /> |
The Twitter social module now uses the standard autocomplete setup instead of custom extensions. This reduces maintenance complexity while keeping the same user-facing suggestion behavior.
Original PR description
This commit removes several AutoComplete extensions. The features added by these extensions can be done by giving correct props to AutoComplete.
The Belgian Group S payroll export has been expanded beyond work entries to include additional employee and contract information. This gives Group S more complete payroll data, reducing manual follow-up and improving the usefulness of exported files.
Original PR description
Currently, the Group S export module only exports work entries. Group S could benefit from more information about the contract or the employee. This PR aims at including this information in the export. The specific fields that are exported can be found in the related task. task-4563336
When manufacturing orders create backorders, assigned employees on work orders are now kept automatically. This reduces manual reassignment work and helps production teams continue backorder processing more smoothly.
Original PR description
Previously, assigned employees were not retained when creating backorders for Manufacturing Orders, leading to manual reassignment. This improvement ensures employee assignments are automatically carried over to backorder work orders, streamlining the process and reducing manual effort. Task-id: 4405697
Miscellaneous changes
…tems When using OSS, the user has to put the OSS tag on the product. This test ensures the OSS tag is well propagated from the product to the accounting items representing the invoice line plus the generated tax lines. task_id: 4789153 Forward-Port-Of: odoo/enterprise#86279 Forward-Port-Of: odoo/enterprise#85381
Original PR description
…tems When using OSS, the user has to put the OSS tag on the product. This test ensures the OSS tag is well propagated from the product to the accounting items representing the invoice line plus the generated tax lines. task_id: 4789153 Forward-Port-Of: odoo/enterprise#86279 Forward-Port-Of: odoo/enterprise#85381
The test relies on the admin partner having full contact in order for the "Confirm Address" step to "just work". If the test is run without demo data, this is rather not the case and the test fails on the next step, as "Confirm Address" causes a form submission failure due to required fields not being filled. https://runbot.odoo.com/odoo/error/161633 Forward-Port-Of: odoo/enterprise#86417
Original PR description
The test relies on the admin partner having full contact in order for the "Confirm Address" step to "just work". If the test is run without demo data, this is rather not the case and the test fails on the next step, as "Confirm Address" causes a form submission failure due to required fields not being filled. https://runbot.odoo.com/odoo/error/161633 Forward-Port-Of: odoo/enterprise#86417
'website_id' and 'company_id' should be not visible to portal users Forward-Port-Of: odoo/enterprise#85680 Forward-Port-Of: odoo/enterprise#82547
Original PR description
'website_id' and 'company_id' should be not visible to portal users Forward-Port-Of: odoo/enterprise#85680 Forward-Port-Of: odoo/enterprise#82547
This test assumes the lot/serial setting was enable before the test but it was not guarantied. Meaning the tour steps was sometimes failing on the `lot_id` field being invisible. runbot: 182040 Forward-Port-Of: odoo/enterprise#86057
Original PR description
This test assumes the lot/serial setting was enable before the test but it was not guarantied. Meaning the tour steps was sometimes failing on the `lot_id` field being invisible. runbot: 182040 Forward-Port-Of: odoo/enterprise#86057
Issues: i) When coming from another app (Fleet, Project, etc.), the control panel does not correctly display the subfolders. ii) The “All” folder should always be displayed. Technical Reason: i) Correctly set folder_id as False for documents whose parent folder is inaccessible, ensuring a clean and accurate folder hierarchy in the search panel. ii) It was intended, add a condition when coming from other modules 'All' should not display. After this commit: i) Correctly
Original PR description
Issues:
i) When coming from another app (Fleet, Project, etc.), the control panel
does not correctly display the subfolders.
ii) The “All” folder should always be displayed.
Technical Reason:
i) Correctly set folder_id as False for documents whose parent folder is
inaccessible, ensuring a clean and accurate folder hierarchy in the
search panel.
ii) It was intended, add a condition when coming from other modules 'All'
should not display.
After this commit:
i) Correctly display folders in hierarchy in a search panel when coming from other modules.
ii) 'All' folder should always be displayed.
Task-4669259
Forward-Port-Of: odoo/enterprise#84244* Hide smart buttons when there are no elements and include `in process` payments to the collections smart button. * Consider all payments linked to a mandate as Collections not only the ones have journal entries * Log in the payment chatter the inclusion/exclusion of the payment in a batch. * Validate only in process payments task-4531618 Forward-Port-Of: odoo/enterprise#86006 Forward-Port-Of: odoo/enterprise#80494
Original PR description
* Hide smart buttons when there are no elements and include `in process` payments to the collections smart button. * Consider all payments linked to a mandate as Collections not only the ones have journal entries * Log in the payment chatter the inclusion/exclusion of the payment in a batch. * Validate only in process payments task-4531618 Forward-Port-Of: odoo/enterprise#86006 Forward-Port-Of: odoo/enterprise#80494
PR #64267 implemented a reconnection mechanism, but it is only triggered when the WebSocket close event is fired. In practice, we noticed that the WebSocket would sometimes silently lose connection. When this happens, one should just send data through the WebSocket to refresh it. This commit enables SIP.js keep-alive feature, hopefully reducing the number of disconnections, or at least preventing them to go unnoticed. Forward-Port-Of: odoo/enterprise#86294 Forward-Port-Of: odoo/enterprise#86
Original PR description
PR #64267 implemented a reconnection mechanism, but it is only triggered when the WebSocket close event is fired. In practice, we noticed that the WebSocket would sometimes silently lose connection. When this happens, one should just send data through the WebSocket to refresh it. This commit enables SIP.js keep-alive feature, hopefully reducing the number of disconnections, or at least preventing them to go unnoticed. Forward-Port-Of: odoo/enterprise#86294 Forward-Port-Of: odoo/enterprise#86213
Steps to reproduce: - Select a category/product filter in the preparation display - Click on "clear all filters" => traceback - Select a time filter => traceback Fix: The first traceback is caused by a refactoring mistake where preparationDisplay was changed by prepDisplay. The second traceback is due to calling a method that doesn't exist, the method is now added in this commit. Forward-Port-Of: odoo/enterprise#86218
Original PR description
Steps to reproduce: - Select a category/product filter in the preparation display - Click on "clear all filters" => traceback - Select a time filter => traceback Fix: The first traceback is caused by a refactoring mistake where preparationDisplay was changed by prepDisplay. The second traceback is due to calling a method that doesn't exist, the method is now added in this commit. Forward-Port-Of: odoo/enterprise#86218
Currently you are able to select the button to settle customer account/ deposit money even though the config does not have access to a paylater payment method. This will never settle the customer account. Steps to reproduce: ------------------- * Remove the customer account payment method from the config * Open the pos session * Find a customer that has an amount due * Select "Settle due accounts" * Process > Observation: The customer account is never settled. Why the fix: --------
Original PR description
Currently you are able to select the button to settle customer account/ deposit money even though the config does not have access to a paylater payment method. This will never settle the customer account. Steps to reproduce: ------------------- * Remove the customer account payment method from the config * Open the pos session * Find a customer that has an amount due * Select "Settle due accounts" * Process > Observation: The customer account is never settled. Why the fix: ------------ If there is no payment method of type "pay_later" we should not show the button whose purpose is to use such payment method. opw-4488571 Forward-Port-Of: odoo/enterprise#86263 Forward-Port-Of: odoo/enterprise#83995
…o switzerland Forward-Port-Of: odoo/enterprise#86183
Original PR description
…o switzerland Forward-Port-Of: odoo/enterprise#86183
Fixes were made regarding the fraud prevention headers, but we have still odoo requests that send invalid headers. When checking the odoo requests on the hmrc website, we can group by `Gov-Vendor-Version`, which is currently set to the Installed Version of the base module, twice (for some reasons). This commit send the version of the `l10n_uk_reports` module. So when a new fix is made, we can bump the module version and see if failing requests are up-to-date. task-4627086 Forward
Original PR description
Fixes were made regarding the fraud prevention headers, but we have still odoo requests that send invalid headers. When checking the odoo requests on the hmrc website, we can group by `Gov-Vendor-Version`, which is currently set to the Installed Version of the base module, twice (for some reasons). This commit send the version of the `l10n_uk_reports` module. So when a new fix is made, we can bump the module version and see if failing requests are up-to-date. task-4627086 Forward-Port-Of: odoo/enterprise#84692
Bug === When clicking on the AI button of a property tags, without tags (or on a selection without option / m2x without model), a traceback is raised. Task-4712395 Forward-Port-Of: odoo/enterprise#84978
Original PR description
Bug === When clicking on the AI button of a property tags, without tags (or on a selection without option / m2x without model), a traceback is raised. Task-4712395 Forward-Port-Of: odoo/enterprise#84978
### **Version:** saas-18.1 --- ### **Steps to reproduce:** 1. Open a sign template. 2. Make **no changes** to the template. 3. Try to send or reuse the template which has sign_request. 4. A warning appears. --- ### **Issue:** The warning dialog is incorrectly triggered even when the template hasn't been modified. This leads to unnecessary interruption and confusion, especially when the user only intends to reuse or send the existing template without editing it. ---
Original PR description
### **Version:** saas-18.1 --- ### **Steps to reproduce:** 1. Open a sign template. 2. Make **no changes** to the template. 3. Try to send or reuse the template which has sign_request. 4. A warning appears. --- ### **Issue:** The warning dialog is incorrectly triggered even when the template hasn't been modified. This leads to unnecessary interruption and confusion, especially when the user only intends to reuse or send the existing template without editing it. --- ### **Cause:** The `saveTemplate()` method did not verify whether the template had any actual changes. --- ### **Solution:** Added a check to ensure the warning is shown when the user made actual changes to the template. task-4778666 Forward-Port-Of: odoo/enterprise#86293 Forward-Port-Of: odoo/enterprise#85335
In this commit we fix the website_sale_renting_select_wrong_period tour that can cause undeterministic errors. Forward-Port-Of: odoo/enterprise#83700 Forward-Port-Of: odoo/enterprise#83568
Original PR description
In this commit we fix the website_sale_renting_select_wrong_period tour that can cause undeterministic errors. Forward-Port-Of: odoo/enterprise#83700 Forward-Port-Of: odoo/enterprise#83568