Wednesday, November 26, 2025
21 changes · master
Resolved issues and error corrections
Some language names shown in their native scripts were updated to use the correct capitalization. This improves the professionalism and accuracy of language options displayed to users.
Original PR description
Many language names written in their native scripts are incorrectly using lowercase initial letters when they should be capitalized according to the conventions of those languages.
Fixes a crash that could occur when users quickly opened the same attachment or file viewer multiple times, such as by double-clicking. This makes attachment viewing more reliable and prevents disruptive error screens during normal use.
Original PR description
Before this commit, quickly triggering the opening of the file viewer multiple times (e.g. double-click on an attachment) caused a crash. This happens because the `createFileViewer` hook generates a `fileViewerId` on initialization. When `open()` is called, it registers the component using this specific ID. If `open()` is triggered a second time while the component is still registered (or being registered), the registry throws an error because duplicate keys are not allowed. This commit fixes the issue by calling `close()` at the beginning of the `open()` function. This ensures that any existing `FileViewer` instance associated with this hook is removed from the registry before a new one is added. task-5262556 Forward-Port-Of: odoo/odoo#237267
Imports involving property fields now avoid errors when a user lacks permission to see the related field definition. This makes data imports more reliable for users with restricted access rights while preserving existing permissions.
Original PR description
…ible https://github.com/odoo/odoo/pull/236037 ignores the properties field if we don't have access to the definition model at all. However, we should also check field groups to avoid crashing if the user cannot access the definition field because of group restrictions. Forward-Port-Of: odoo/odoo#237358 Forward-Port-Of: odoo/odoo#236912
List views now remove the group header when the only visible group becomes empty, such as after using the Post button in account review. This avoids showing users an empty section with no records, making the screen clearer and less confusing.
Original PR description
The `Post` button in account review was not able to empty itself properly and was leaving a group header with zero records. Now, when a list view only displays a **single and non-empty** group, and this groups is emptied (eg by a 'Post' button); the relational model does not display the empty group anymore. Note: this issue does not concern the case where multiple non-empty groups from which one is emptied since the relational model already takes care of this case. task-5221260
Fixed an issue where sorting the Date column in the Time Off Ledger could cause an error instead of updating the report. Users can now sort dates in either direction, while the report still defaults to showing the newest entries first.
Original PR description
Version - 19.0 ## Issue: Sorting the Date column in the Time Off Ledger triggers a traceback when attempting to sort in ascending order. ## Steps to reproduce: - Open the Attendances app - Navigate…
Version - 19.0 ## Issue: Sorting the Date column in the Time Off Ledger triggers a traceback when attempting to sort in ascending order. ## Steps to reproduce: - Open the Attendances app - Navigate to Time Off Ledger report - Click on dates column for sorting --> you get a traceback ## Cause: The code always appends `' desc'` to the order clause to enforce a default descending sort. When the UI already provides a direction (e.g. `date:month ASC`), this results in an invalid combined order such as `date:month ASC desc`, raising: `ValueError: Invalid order 'date: month ASC desc' for _read_group().` ## Fix: Add a check to avoid appending `' desc'` when the order string already contains `asc` or `desc`. ## Impact: Sorting the Date column no longer crashes. Users can now sort the report correctly in both ascending and descending order, with descending remaining the default. task-5331052 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#236441
This update fixes support for tooltip information on fields shown in kanban-style screens, helping users see helpful guidance where it was intended. It also stabilizes a related website test to reduce inconsistent automated test results.
Original PR description
With this commit, we authorize attributes on field in a kanban view. task~5346474 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 how Odoo's internal test tools handle uploaded files, blob links, and full web addresses. It helps prevent false test results and keeps attachment-related features more reliable as the product evolves.
Original PR description
See commit messages for details --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#237184 Forward-Port-Of: odoo/odoo#234558
This fix prevents automated migration tests from failing when company lock dates are moved forward. It keeps stock records created during test preparation from being blocked by date restrictions that are not relevant in that test context.
Original PR description
This commit disables `_check_backdate_allowed` on stock pickings in the case of running a test. This is mainly because of the migration test in [`migrations/account/tests/test_lockdate.py`](https://github.com/odoo/upgrade/blob/master/migrations/account/tests/test_lockdate.py), which advances the lock date of all the existing companies by 15 days. Therefore, any stock picking record created in the `prepare` method of any migration test will fail, because the scheduled date is `now` by default. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#236926
This update prevents the 'My Drive' folder from automatically unfolding when you open a folder within it, like 'Company'. Previously, this behavior caused unnecessary expansion and improved the user experience by aligning folder behavior with other root folders.
Original PR description
Steps to reproduce =================== - Go to the `All` section. - Open the folder hosted in the `My Drive`. - `My Drive` gets unfolded. To Be ===== - The` My Drive` folder should not be unfolded when opening folders inside it, like `Company`. Technical =========== - Earlier, we were sticking to the condition that allows other root folders to unfold when we open a folder inside it, except the `Company` folder. After this commit ================== - This commit addresses the issue, and now whenever we click on a certain folder it will not unfold until its root is unfolded. Task-5046161 Forward-Port-Of: odoo/enterprise#100213 Forward-Port-Of: odoo/enterprise#93718
This update resolves an issue where the 'Click to Start' navigator wasn't appearing for documents without sign items. The fix ensures the navigator displays when a document has sign items, improving the user experience and making it easier for users to begin the signing process.
Original PR description
Version: - saas-18.4 Steps to reproduce: - Add multiple documents in sign app. - Add sign item for user in first document and keep second document without any sign item. - Try sign document. Issue: - The "Click to Start" navigator is not visible when signing. - `postRender` runs for all documents and calls `checkSignItemsCompletion`, which then calls `updateDocumentsWithUnsignedItems(false)` for documents without sign items. - This passes false to `controlNavigatorVisibility`, hiding the navigator even though the first document has unsigned items. Solution: - In `controlNavigatorVisibility`, instead of relying only on the `hasUnsignedItems` flag, check if the current document is unsigned and has sign items for the current signer before toggling the navigator. Impact: - The "Click to Start" navigator now appears correctly, helping users start the signing process smoothly. task-5148722 Forward-Port-Of: odoo/enterprise#97205
This update resolves a minor visual issue in the Documents app where UI elements were overlapping. The team adjusted the layout to ensure proper display and functionality of key features, specifically the translate button and activity actions. This improves the overall user experience within the Documents module.
Original PR description
This PR addresses the following UI issues in the documents app: - Fix the overlapping of the translate button of name with the file size in `DocumentsDetailsPanel`. - Hide the `DocumentsAction` in activity view as they were not working anymore. Technical ============================ - Set position: relative on .o_field_input_buttons. The .o_field_input_buttons had position: absolute by default, but since .o_documents_details_panel_name uses display: contents, the ancestor context for absolute positioning is lost. Because display: contents makes the parent disappear visually and the children behave as independent elements, the absolute positioning behaves unexpectedly. Setting position: relative on .o_field_input_buttons resolves this by providing a proper positioning context. Task-4792112 Forward-Port-Of: odoo/enterprise#86436
This update fixes an issue where deposited amounts were incorrectly shown as 'Total Due' in customer records. A recent system update caused a miscalculation, leading to inaccurate deposit displays. The fix ensures deposited amounts are now correctly shown as deposits, improving clarity for users.
Original PR description
Steps to reproduce: =================== 1. Open the customer list. 2. Select a customer and choose `Deposit money`. 3. Deposit an amount (e.g. 50) and confirm. 4. Open the customer list again. Issue: ====== The deposited amount is shown as `Total Due` instead of `Deposited`. Also the confirmation dialog for deposit showing negative amount. Cause: ====== A major refactor in order change calculation, passes the negative change value to the `depositOrder`, so the deposit was recorded as a due amount. Fix: ==== Negate the change value when adding the deposit order line so it becomes positive and is correctly shown as a deposit. Task: 5227004 Forward-Port-Of: odoo/enterprise#98847
This update resolves a technical error related to employee cost calculations within the Odoo Enterprise payroll module. The issue stemmed from a dependency conflict when modules were loaded in a specific order, causing a data lookup failure. The fix establishes a clear dependency between payroll and the employee contract modules to ensure correct data processing.
Original PR description
Reproduce Issue : loading hr_contract_salary after l10n_sa_hr_payroll causes this error : Element '<xpath expr="//separator[@name='employer_costs']">' cannot be located in parent view Issue : in the hr_employee_view of the l10n_sa_hr_payroll , we inject three fields in the seperator "employer_costs" which is defined in hr_contract_salary , because there is no dependecy between the two modules , this causes the error to happen if the l10n_sa_hr_payroll is loaded first. Fix : Create another view to add these fields in the l10n_sa_hr_contract_salary module which depends on both l10n_sa_hr_payroll and hr_contract_salary task - 5258832 related PR : enterprise#98239
This update corrects a technical error in the POS tour tests related to the company name being incorrectly configured. The fix ensures accurate tour functionality, preventing potential issues with reporting and data accuracy. This resolves a minor inconsistency within the Odoo Enterprise system.
Original PR description
There was an error in the generic hooks, the company name was not the correct one. runbot-234336 Forward-Port-Of: odoo/enterprise#100311
This update corrects a technical issue where Odoo would display an error when a required field was hidden. The change ensures that Odoo properly handles invisible fields, preventing unexpected errors and improving user experience. This ensures data entry is more reliable.
Original PR description
When a required select is invisible, you may get an error saying the a required field is not set. So like for other type of fields, we check the visibility of the field. Forward-Port-Of: odoo/enterprise#100442
This update fixes an issue with incorrect XML identifiers used in the 'l10n_in_reports' module for generating fiscal reports in Russia. The changes ensure accurate report formatting and compliance with Russian tax regulations. This improves the reliability of financial reporting.
Original PR description
see https://github.com/odoo/odoo/pull/233895 task-5225537
This update resolves a warning that occurred during automated testing (the 'click-all' test) related to a malformed PDF. The fix involved manually correcting the PDF's structure to align with browser rendering requirements, preventing the warning and ensuring consistent test results.
Original PR description
This commit updates the malformed PDF to prevent warnings during the "click-all" test. PDF.js warning message: > Warning: CFF stem hints are in wrong order Additional information from the PDF.js source code: > Some browsers don't draw glyphs that specify vstems before hstems. > As a workaround, replace hstem (1) and hstemhm (18) with a pointless > vstem (3) or vstemhm (23). The PDF was manually patched in the same way as the on-the-fly fix applied by PDF.js. runbot-error-234355
This update automatically activates the EC Sales List report menu item for Odoo Enterprise users in several European countries (Bulgaria, Cyprus, Czech Republic, Latvia, Poland, Romania). Previously, users in these regions had to manually enable the report, streamlining the reporting process and improving user experience.
Original PR description
In this PR: - Added XML records to set the EC Sales List report menu item as active for some EU countries that previously required manual activation. Task-4885725 Forward-Port-Of: odoo/enterprise#100420 Forward-Port-Of: odoo/enterprise#93939
This update ensures the Finnish translations for reports are accurate and complete. Specifically, the necessary POT file was updated, and translation settings were adjusted for the EC sales report to align with official translations. This improves the user experience for Finnish-speaking customers.
Original PR description
The aim of this commit is updating the POT file as we forgot to do it in this commit [[1]]. We also translate report column names in the PO files as we have official translation for it. This commit also disables the translation on the TXT EC sales report. no task id [1]: https://github.com/odoo/enterprise/commit/4887ed53d3a22fdcd766ab0ae77da7cb0498e5a3 Forward-Port-Of: odoo/enterprise#100369 Forward-Port-Of: odoo/enterprise#99887
This update ensures consistent image background colors in both light and dark modes within the Enterprise version of Odoo. Previously, transparent images in dark mode resulted in a less-than-ideal visual experience. This change maintains a uniform background color for image fields, improving readability and aesthetics.
Original PR description
Since we don’t provide a separate avatar version for dark mode, we need to keep the same background color for transparent images in both modes to avoid odd or unreadable rendering. Therefore, this commit defines the same default background color for `field_image`. task-5221516 Requires: - https://github.com/odoo/odoo/pull/234110
This update fixes an issue where return deadlines weren't being calculated correctly for older databases. Specifically, it handles cases where returns were marked as 'completed' without a deadline date, ensuring deadlines are automatically assigned based on current settings. This improves data consistency and prevents errors when viewing return lists.
Original PR description
[FIX] account_reports: returns: recomputed date_deadline when is_completed is set to False To align it with the current deadline delay configured on the return type, and keep data consistent. Also,…
[FIX] account_reports: returns: recomputed date_deadline when is_completed is set to False To align it with the current deadline delay configured on the return type, and keep data consistent. Also, databases migrated before https://github.com/odoo/upgrade/pull/8841 could contain returns marked as completed with no value set for the deadline. With this, we ensure unmarking them as completed will grant them one. opw-5259168 ==================================================================== [FIX] account_reports: returns: avoid error when computing days_to_deadline for migrated dbs Databases migrated before https://github.com/odoo/upgrade/pull/8841 could contain returns marked as completed, but without any date_deadline. On such a db, if you open the list of returns, then remove the "to do" filter, you get an error, because _compute_days_to_deadline tries to substract today from None. This commit just makes the computation more resilient, and arbitrarily chooses that a return without deadline is due today. opw-5259168 Forward-Port-Of: odoo/enterprise#100513