Daily updates from Odoo
Friday, April 5, 2024
35 changes · 17.0
Resolved issues and error corrections
The partner ledger report was consuming excessive memory when processing large numbers of partners, causing the system to crash with memory errors. This fix optimizes how partner data is retrieved and cached, reducing peak memory usage by approximately 32% (from 1.9GB to 1.3GB) when handling 150,000+ partner records.
Original PR description
Issue --> Method `_query_partners` does a search on `res.partner` which is used in the return value. This return value is then looped over in the method `_build_partner_dicts` to create the rows on the partner ledger. If the number of returned `res.partner` records exceed a certain number, there is an overutilzation of memory when getting fields id, name and trust in method `_get_report_line_partners` leading to a MemoryError when loading the partner ledger report. Solution --> Replace the `search` call with a `search_fetch` call and store the specific field values in cache. This prevents the fetch of the field values. Flamegraph before  After  Peak memory utilization reduced from 1.9GB to 1.3GB for about 150k `res.partner` records opw-3785731
This fix ensures that Mexican invoices are only marked as cancelled in Odoo after receiving explicit approval from the SAT (Mexican tax authority), not just from the PAC (payment processor). Previously, invoices could be cancelled prematurely if the PAC approved the cancellation, even if the SAT or the business partner rejected it, leading to accounting inconsistencies.
Original PR description
…the SAT - Create an invoice in prod PAC environment - Sign it - Cancel it Even if the PAC approved the cancellation, the SAT could reject it. This is because, in some cases, the partner could reject the cancellation. opw-3745401 Forward-Port-Of: odoo/enterprise#58657
This fix resolves an issue where users without Project or Documents access rights were unable to confirm sales orders that automatically generate projects and tasks. Previously, these users would encounter access denied errors even though they had the necessary Sales permissions. The fix ensures that the system properly handles access rights when creating related projects and documents during order confirmation.
Original PR description
Steps to reproduce: ------------------- 1. Assume a user without "Project" access rights (but with "Sale" access rights) 2. Create an SO containing a service product which generates a Project & Task (or Project) on order 3. Confirm the SO 4. An access error should appear: "You are not allowed to modify 'Project' (project.project) records." ------------------- To trigger the same access error but for "Documents" access, repeat the same process but remove the "Documents" access rights of the user. In this case, the service product must have its "Working Template" set. task-3646545 version-16.0 Forward-Port-Of: odoo/enterprise#59794 Forward-Port-Of: odoo/enterprise#58004
Fixed an issue where helpdesk ticket replies weren't properly grouped in Outlook's conversation view. The system now sends replies with the original ticket title instead of adding the ticket number to the subject line, ensuring Outlook recognizes them as part of the same conversation thread. The ticket reference is still visible in the email body, so no information is lost.
Original PR description
Some MUA allow users to group messages 'by thread', so that all emails that share some specific headers are bundled together in a 'conversation' view. In general, using the 'References' header to…
Some MUA allow users to group messages 'by thread', so that all emails that share some specific headers are bundled together in a 'conversation' view. In general, using the 'References' header to point to the original message in the thread is enough for most MUAs to properly group emails together. This is not the case for Outlook, which also wants the title to somewhat match the original title - some changes are accepted (typically at the start of the subject header) but others aren't. For example, if a ticket is submitted by email alias with the title 'Important issue', then replies with titles like 'Re: Important issue' or '(#123) Important issue' are recognized as being from the same thread, but others like 'Important issue (#123)' are not. Since the helpdesk override of the display name is mostly there for the backend and not for email communications, this commit forces the helpdesk app to send emails with the exact same title as the initial ticket instead of including the ticket reference in the reply's title. The ticket reference is still included in the mail body for the customer so no information is lost. opw-3748509
This update fixes an issue in the Web Studio report editor where improperly formatted tables (particularly in DIN5008 layouts) were not being converted correctly. The fix ensures that all invalid nested tables are properly transformed into standard div elements, while preserving other content. This resolves display and formatting problems users may have encountered when editing reports with complex table structures.
Original PR description
…bles In a report (DIN5008 layout for example), have an invalid table -- containing "t" nodes where HTML doesn't expect them, within another invalid table. Before this commit, all the tables were not converted to classic div elements, and other conversions were wrongly applied. After this commit, all tables are converted, leaving other irrelevant nodes untouched. opw-3741137 Forward-Port-Of: odoo/enterprise#60090
This update fixes a visual bug where dropdown menus were being clipped (cut off) when using Firefox in list views. The fix adjusts how dropdowns are positioned and displayed, ensuring they appear correctly across different browsers. This improves the user experience by making all interface elements fully visible and accessible.
Original PR description
Adapt tests related to changes in community. task-3696473 Related PR: https://github.com/odoo/odoo/pull/153952 Forward-Port-Of: odoo/enterprise#60079
This fix resolves an issue where invoices for recurring subscription products using make-to-order (MTO) inventory routes could not be posted successfully. The problem was caused by conflicting context variables with the same name being used in different parts of the system. The fix cleans up the context before posting invoices to ensure the correct values are used throughout the process.
Original PR description
**Steps to reproduce:** 1- Navigate to Inventory > Configuration > Warehouses and select the warehouse 2- Click on the Routes smart button and filter by archived routes 3- Unarchive the Replenish on…
**Steps to reproduce:** 1- Navigate to Inventory > Configuration > Warehouses and select the warehouse 2- Click on the Routes smart button and filter by archived routes 3- Unarchive the Replenish on Order (MTO) route 4- Navigate to Sales > Products > Products and create a new product 5- Make the product a Recurring product that has the product type set to storable and the invoicing policy set to ordered quantities 6- Navigate to the Inventory tab and enable the Replenish on Order (MTO) and Manufacture Routes 7- Navigate to Sales and create a new quote and confirm it with the newly created product 8- Click on Create Invoice and then Create Draft Invoice 9- Click on Confirm **Current behavior before PR:** This is happening because while creating the draft invoice we pass the default move type for the invoice in the context and because the attribute 'move_type' has the same name in 'account.move' and 'procurement.group' so when getting the default value to create the procurement group it gets the value in the context which is for the account move so this value is incorrect for the move_type in procurement group **Desired behavior after PR is merged:** We clean the context that was stored for creating the invoice before posting it as this context will not be used anymore opw-3718420 Forward-Port-Of: odoo/enterprise#59164
Fixed an issue where embedded views in knowledge articles could expand to excessive heights, causing layout problems and blank spaces in certain views like Gantt charts. The fix adds a maximum height limit (80% of window height) to embedded views, ensuring they remain scrollable and properly contained within the article layout.
Original PR description
This commit fixes an issue with the embedded views of the knowledge article view: the embedded could take as much height as they needed which could result in excessive place taken by a single embedded view and this also had issues with the virtual hook which is not adapted to embedded views without scroll (this could result in completly blank space inside embedded gantt views when they would take too much space). To solve this issue, the commit adds a fixed maximum height to the embedded views (80% of the window height). task-3834795 Forward-Port-Of: odoo/enterprise#59629
This update converts text-based inline templates in the HR Payroll Holidays module to standard templates, making all user-facing messages translatable into different languages. Previously, text strings embedded in inline templates could not be translated, limiting the system's ability to support international users.
Original PR description
*: hr_payroll_holidays Strings within inline templates are not translatable, so we convert these templates into standard templates so that they can be. Task-3761551 community pr: https://github.com/odoo/odoo/pull/159892 Forward-Port-Of: odoo/enterprise#60127 Forward-Port-Of: odoo/enterprise#59877
This fix reverts a previous change that was causing reorder points to be calculated too early for businesses using just-in-time inventory management. The change was breaking workflows for companies that want to consider future deliveries when placing orders all at once. Users can now use security days or lead time settings to achieve the desired behavior instead.
Original PR description
This reverts commit 8a5541d16caa793c7549d78c082f7879d3aba233. It's a too big change for stable. It breaks the flow for poeple that want to be in just in time but want to consider the future deliveries to order all at once. Due to reverted commit they see their reorder in advance. The fixed use case, could be achieve with the security days or the global lead days system parameter. opw-crl Forward-Port-Of: odoo/odoo#157218
A bug in the web editor's font-size dropdown was causing "NaN" (invalid number) to appear instead of the actual font size. This fix restores a missing variable definition in the styling code to ensure font sizes display correctly when users adjust text formatting in the editor toolbar.
Original PR description
Description of the issue/feature this PR addresses: Commit [1] resolved an issue related to the behavior of small font sizes, which caused 'NaN' to appear in the font-size dropdown within the floating toolbar. This occurred due to the removal of a variable definition, resulting in the inability to compute the font size. This commit rectifies the problem by reintroducing the variable in the SCSS file to ensure correct rendering. [1]: https://github.com/odoo/odoo/commit/7931d1a14a3e4e65463cc101536061fa259b615d task-3801894 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix ensures that product tax displays are calculated correctly based on the specific company being used, rather than showing an incorrect combined total. Previously, when a product had different tax rates set for multiple companies, the displayed tax amount would be wrong. Now the system shows the accurate tax-inclusive price for each company.
Original PR description
Description of the issue/feature this PR addresses: When product has set two taxes (one for MyCompany San Fransisco and the other one for BE Company - thats an example) the field tax_string doesn´t discriminate each ones Current behavior before PR: Configure a product with Sales Price = $100 Add a 21% tax for the first company Add a 21% tax for the second company The tax_string is (= $ 142.00 Incl. Taxes) Desired behavior after PR is merged: The tax_string depend on company where i stay. So, tax_string must be (= $ 121.00 Incl. Taxes) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix resolves a bug where e-wallet loyalty programs without a top-up product would fail to properly deduct the wallet balance when used in sales orders. The change ensures that e-wallet programs skip unnecessary payment calculations, allowing wallet balances to be correctly reduced after purchase.
Original PR description
**Current behavior:** Creating an ewallet loyalty program and removing the default value for `trigger_product_ids` without adding another in its place will result in any ewallet created using that…
**Current behavior:**
Creating an ewallet loyalty program and removing the default
value for `trigger_product_ids` without adding another in its
place will result in any ewallet created using that program to
not have its balance deducted after being used in a sale order.
**Expected behavior:**
The default product should not be required here, nor should any
product, seeing as there is no `required` constraint on this
field nor any related ones.
**Steps to reproduce:**
1. Create an ewallet loyalty program and remove the Top-up
ewallet product
2. Create an ewallet, give it some balance, and use it in an
order
3. Check the balance of the wallet to see the erroneous behavior
**Cause of the issue:**
In the _program_check_compute_points() method of `sale.order` in
`sale_loyalty`, the conditional block:
`if not products_per_rule.get(rule):
continue`
will normally prevent rules belonging to ewallet program types
from going further in the method because they have the default
ewallet top-up product in their domain. When the continue is not
reached, they will reach this line:
`amount_paid = sum(max(0, line.price_total) for
line in order_lines if line.product_id in rule_products)`
which will end up offsetting the actual subtraction of a SOLs
`points_cost` from an ewallet `loyalty.card`'s balance.
**Fix:**
Add another check prior to the calculation of order points which
prevents orders with applied ewallet coupons without any top-up
products from reaching the problematic code. If an ewallet
program doesn't have any `trigger_product_ids`, it shouldn't
ever need to perform such calculations.
opw-3756134
Forward-Port-Of: odoo/odoo#157421This fix corrects how Odoo calculates component quantities when using Kit Bills of Materials (BoM) with finished product quantities other than 1. Previously, when a BoM was set to produce 5 units but a sales order was for 3 units, the delivery quantity would be calculated incorrectly. Now the system properly accounts for the BoM's base quantity, ensuring accurate delivery amounts that match customer orders.
Original PR description
Use case: - Create a Kit BoM with finished qty to 5 consuming 10 components - Do a sale order for 3 units (3/5 of BoM) - Update the sale order line to 4 units Current behavior: The delivery has a huge amount to deliver Expected: The delivery is for 8 units It happens because the method `_compute_kit_quantities` always expect a BoM for 1 units. `bom_line_data['original_qty']` always contains the number of times the BoM will be needed and not the quantity of finished products. In order to have the number of component by unit of finished product we have to introduce the BoM quantity in the formula 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 corrects a display issue in the project portal where the 'View Task' button for sub-tasks was incorrectly hidden after saving. Users can now consistently see and access the 'View Task' button for sub-tasks in the portal, improving the user experience when managing project tasks.
Original PR description
… portal Steps to reproduce: - Open project share any project which has task. - My account > project > open that project you can see task . - Open any task and add new sub-task you can see once the sub-task is saved 'task view' button is displayed. Issue: - Sub-tasks notebook > add a line > 'view task' is displayed at the creation but is then hidden once the task is saved. Solution: - Correct the attrs and change the condition in able to invisible 'view task' once the sub-task is saved task-3602610 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#159806 Forward-Port-Of: odoo/odoo#145214
This fix resolves an issue where user avatars in blog comments were showing as placeholder images instead of actual profile pictures. The system now properly displays avatars when users have the appropriate access permissions, while still respecting security restrictions for unauthorized users.
Original PR description
[FIX] portal: display avatar when read access right are fulfilled Steps to reproduce the bug: - Enable the comments on a blog. - Add a comment. -> Problem: The avatar of the comment is the default…
[FIX] portal: display avatar when read access right are fulfilled Steps to reproduce the bug: - Enable the comments on a blog. - Add a comment. -> Problem: The avatar of the comment is the default placeholder image. The problem appears since [1]. This commit was created to bypass the read access of an image if a correct `token` was provided in the dataset of the `.o_portal_chatter` element. The problem is that since [1], if the `.o_portal_chatter` element does not have a `token` (or a `hash` and a `pid` since [2]) in its dataset, the avatar images are displayed as the default placeholder image by default. The goal of this commit is to correct this behavior; if there is no token provided, the previously used `/web/image` route is used to show the avatar. Thanks to this route, the avatar is displayed if the read access is fulfilled. If it is not the case, the default placeholder image is displayed. [1]: https://github.com/odoo/odoo/commit/d4eb996cd3caea3fbb822437057a6a5a8a722293 [2]: https://github.com/odoo/odoo/commit/7f69708bcce3b3c4b096d89cb0ec354998eac191 opw-3749422 Forward-Port-Of: odoo/odoo#158953 Forward-Port-Of: odoo/odoo#157652
This fix ensures that when a product in a delivery picking is changed to a different product, the total picking weight is automatically recalculated to reflect the new product's weight. Previously, the weight would remain unchanged even after swapping products, which could cause incorrect shipping cost calculations and logistics planning.
Original PR description
**Steps to reproduce the bug:**
- Create a storable product “P1” and "P2":
- Weight "P1": 1kg
- Weight "P2": 2kg
- Create a picking with the product “P1”
- Change the product of the move to “P2”
Problem:
The picking weight is not updated
opw-[3754884](https://www.odoo.com/web#id=3754884&view_type=form&model=project.task)
Forward-Port-Of: odoo/odoo#159997
Forward-Port-Of: odoo/odoo#159722Fixed a bug in the HR holidays module where modifying an overtime time off request would incorrectly fail validation. The system was comparing overtime duration values incorrectly, preventing employees from making any changes to overtime time off requests even when they had sufficient overtime balance. This fix ensures overtime time off can be properly edited without unnecessary validation errors.
Original PR description
Currently when a time off using an overtime is written to for any reason, it will compare the duration of the overtime with the number_of_hours_display. However, the duration check will always be triggered since overtime duration is number_of_hours_display * -1 This causes problems if an overtime time off is modified for any reason and the employee does not have enough total_overtime --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#160055
This update fixes a bug in the Point of Sale system where searching for a customer by name could incorrectly match partial text in the middle of formatted address data, causing the wrong customer to be selected. The fix ensures searches only match customer names at the beginning of the search field, preventing errors and improving the reliability of customer lookups.
Original PR description
Before this commit, when adding two columns to the address, the search string would become formatted as such: "47:abigail peterson|address Belgium address0: 12, |abigail..." Searching for "abigail" would incorrectly match with "0: 12, |abigail", leading to the addition of the partner with ID 0 and causing an error. With this commit, we have refined the search to match only at the beginning of a line. This prevents incorrect matches and the subsequent errors, improving the reliability of the partner search. opw-3847934 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update removes the ability to duplicate websites from the website form view. The duplication feature was misleading because it couldn't properly copy website content, pages, and other important data—only technical fields that shouldn't be duplicated anyway. The team plans to focus on a proper export/import feature for websites in the future instead.
Original PR description
At the moment, duplicating a website is not possible in the sense of duplicating content, pages, etc. It is still available as an action from the form view, and it could make sense to start up a new website with a few common values (social media? etc?)... but many of website fields are technical fields that should not be copied and many are dubious to copy and not even visible in the form view. Really, duplicating a website at the moment is misleading. This commit disables the possibility from the form view. In the future, we want to focus on the ability to export / import a full website, but that's not for now. opw-3782830 Forward-Port-Of: odoo/odoo#160463
This fix resolves a bug in the accounting module where updating multiple journals at once would cause the system to crash. The issue occurred because the code was trying to access a single journal ID when multiple journals were being modified. The fix ensures the system properly handles bulk journal updates and displays the appropriate error message to users when restrictions apply.
Original PR description
A partner found a bug, when `write` (public method) is called on a recordset of more than one journal then the restriction will traceback, as the `id` can only be called on one journal. Simplest solution is to simply get `id` on the loop variable instead, and let the code normally block the user with a UserError. Credits to: https://github.com/juppe Old PR: https://github.com/odoo/odoo/pull/150888 Forward-Port-Of: odoo/odoo#158536
The "Download logs" button on IoT devices was failing with an error. This fix restores the ability to download log files from IoT boxes as intended. Users can now successfully retrieve diagnostic logs from their IoT devices without encountering server errors.
Original PR description
Before this commit: Using the "Download logs" button from the IoT box form view will fail every time due to an Internal Server Error on the IoT side. ```py File "/home/pi/odoo/odoo/tools/misc.py", line 189, in file_path FileNotFoundError: File not found: /var/log/odoo/odoo-server.log ``` This happened due to changes introduced in: https://github.com/odoo/odoo/pull/99658 The changes enforced to double check that the file path was in an odoo addons (for security reasons). However, it is generally not the case, thus the error After this commit: The log file is downloaded as intended opw-3827121 Forward-Port-Of: odoo/odoo#159186
This update fixes a display problem where dropdown menus for optional columns were getting cut off or hidden when scrolling horizontally in list views on Firefox and Safari browsers. The fix repositions the dropdown menu to ensure it remains visible and accessible at all times, improving the user experience when working with tables that require horizontal scrolling.
Original PR description
On firefox and safari applying a position-sticky on an element inside an other element with an overflow is causing a rendering issue. This was occuring with the dropdown…
On firefox and safari applying a position-sticky on an element inside an other element with an overflow is causing a rendering issue. This was occuring with the dropdown `.o_optional_columns_dropdown` making it unusable as soon as the `overflow-x` triggered the horizontal scroll in the table. This PR moves the `o_optional_columns_dropdown` out of the natural DOM flow with a position-absolute, removing the position-relative on each parents until the `.o_field_x2many.o_field_x2many_list` which is out of the horizontal scroll applied by `table-responsive`. This ensures the dropdown-toggle is always displayed on the top right of the table. task-3696473 Will close tickets: 3682280 and 3697814 | Before | After | | ---- | ---- | |  | | Forward-Port-Of: odoo/odoo#153952 Forward-Port-Of: odoo/odoo#151570
This update fixes display issues in the "My Dashboard" view where embedded reports and charts could become too large or display incorrectly. The fix adds scrolling capability and proper sizing constraints to embedded views, ensuring they fit better on the screen and display content correctly without excessive blank spaces.
Original PR description
This commit fixes an issue with the embedded views of "My dashboard" view: the embedded could take as much height as they needed which could result in excessive place taken by a single embedded view and this also had issues with the virtual hook which is not adapted to embedded views without scroll (this could result in completly blank space inside embedded gantt views when they would take too much space). To solve this issue, the commit adds a fixed maximum height to the embedded views (80% of the window height) and also adds a minimum width to their content so that it will be horizontally scrollable instead of being weirdly squished. Also tweaks a bit the padding of the embedded view so that it looks a bit better even with the added scroll bars. task-3834795 Forward-Port-Of: odoo/odoo#159663
This fix resolves a system error that occurred when users attempted to generate Spanish Facturae EDI documents for credit notes created manually without an associated invoice. Previously, the system would crash with a technical error. Now it displays a clear, user-friendly error message explaining that an invoice link is required to generate the EDI document.
Original PR description
Currently, a traceback appears when you attempt to generate a Facturae document for a credit note created manually. ### Steps to reproduce * install `l10n_es_edi_facturae` * create a credit not manually (not from an invoice) * confirm and attempt to generate the Facturae EDI file You should be me with a traceback: `ValueError: not enough values to unpack (expected 1, got 0)` ### Cause To generate the EDI document, the system needs the credit note to have a link to the refunded invoice. However, in this case, there's no invoice since the credit note was created manual. opw-3786219 opw-3772085 opw-3811170 Forward-Port-Of: odoo/odoo#158283
This update corrects how GST (Goods and Services Tax) groups are calculated in India. Previously, when applying a 5% GST group to a price, the two component taxes were calculating different amounts (7.02 vs 7.20), which was incorrect. The fix ensures both child taxes calculate the exact same amount, providing accurate tax computations for Indian businesses using Odoo's point of sale and accounting systems.
Original PR description
… india Configure the group of taxes 5% GST to be price_included and apply it on 295. Both children taxes must have the exact same amount. However, this is not the case. In this example, we get 7.02 for one tax (correct) but 7.20 for the other. This is because both taxes are "include_base_amount". opw-3758458 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#160126 Forward-Port-Of: odoo/odoo#157890
Fixed an issue where disabling the event submenu would result in a 404 error. Now when the submenu is disabled, users are automatically redirected to the event registration page instead, providing a better user experience.
Original PR description
**Description of the issue/feature this PR addresses:** **Before this PR:** When disabling the submenu for events, it would show a 404 Page Not Found error. **After this PR:** Now, the current behavior is that when the submenu is disabled, it redirects to the /register page of the event. task-3658380 Forward-Port-Of: odoo/odoo#152409
This update fixes a display issue in the Project module where task stage names were misaligned when viewing the kanban board on mobile devices. The fix prevents text overflow by applying proper styling to stage names, ensuring they display correctly regardless of length.
Original PR description
Steps to reproduce: - Open the project in mobile view - go to the kanban view enable task stages - add one new staged with large name you can see name is misaligned Issue: - In mobile view task stage name is misaligned Solution: - Adding class 'o_text_overflow' to not overflow name in kanban view task-3602610 Forward-Port-Of: odoo/odoo#145915
This fix prevents portal users from creating, editing, or opening milestones when viewing sub-tasks in shared projects. Previously, the milestone field incorrectly allowed these operations, causing errors. The fix restricts these permissions for project sharing views to ensure only authorized users can manage milestones.
Original PR description
Steps: - Install project app. - Share a project which contains a task and sub-task and project should have allow milestone - Go to task form in project sharing. - Go to milestone field of sub-task page. Issue: - Milestone field has can create and can open options enable and because of that portal user able to create edit or open milestone and which leads to tracebacks Cause: - There was no options added to prevent those attribute from that field for project sharing views. Fix: - Added option to prevent those operation for project sharing view. Note: Add this options in blockby page in FW port. task-3764782 Forward-Port-Of: odoo/odoo#155358
This update makes it easier to configure Viva Wallet payments by automatically copying the webhook to your clipboard with a single click, eliminating the need to manually select and copy the text. This streamlines the payment method setup process for users.
Original PR description
Currently, when you copy the viva wallet webhook to configure it in your account, you have to select it manually. With this commit we add a “CopyClipboardChar” widget which does this automatically. 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 an incorrect translation in the Slovak language file. The word for "Lithuania" was mistakenly using a corrupted version of the Latvian translation. This fix ensures users in Slovakia see the proper translation of country names in the system.
Original PR description
Description of the issue/feature this PR addresses: current translation is bastardized (missing one letter) translation of Latvia (sk: Lotyšsko). Current behavior before PR: Desired behavior after PR is merged: Correct translation of Lithuania This goes back to at least 12.0 Not skilled enough to find original commit for this :-( --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update improves the HR Expense module by converting inline templates to standard templates, making text strings translatable. Previously, messages displayed in expense reports could not be translated into different languages. This fix ensures that all user-facing text in the expense module can now be properly localized for international users.
Original PR description
*: hr_expense Strings within inline templates are not translatable, so we convert these templates into standard templates so that they can be. Task-3761551 enterprise pr: https://github.com/odoo/enterprise/pull/59877 Forward-Port-Of: odoo/odoo#160586 Forward-Port-Of: odoo/odoo#159892
This fix resolves an issue where downloading files that trigger large error messages (over 65KB) would fail in Chrome and Safari browsers. The system now correctly processes the entire error message instead of only part of it, ensuring users receive proper error notifications when downloads encounter problems.
Original PR description
### Issue When handling a non-200 reponse with a large payload (>65536 bytes), download.js fails to decode the payload properly on Chrome/WebKit. This is because the content is parsed using WebKit's…
### Issue When handling a non-200 reponse with a large payload (>65536 bytes), download.js fails to decode the payload properly on Chrome/WebKit. This is because the content is parsed using WebKit's `DOMParser.parseFromString`, which creates several Text nodes if the text would exceed 65536 bytes. Then, only the textContent of the second Text node is passed to `JSON.parse()`, which fails because it is not valid JSON. See [this StackOverflow comment](https://stackoverflow.com/questions/67738121/in-what-cases-do-browsers-create-multiple-adjacent-text-nodes/67774415#67774415) and [the WebKit code](https://github.com/WebKit/WebKit/blob/68ae0fde5f959e056fbd6700f1ca7fa652cd1ffa/Source/WebCore/html/parser/HTMLConstructionSite.cpp#L584-L592) ### Steps to reproduce This example works only in 17.1 and master due to the larger files now generated by the Romanian SAF-T export. However, you can reproduce it in any version by raising an InternalServerError with a response content larger than 65536 bytes in any controller called by `download()`. 1. Install l10n_ro_saft on a 17.1 database 2. Switch to 'RO Company' 3. Go to partner 'Azure Interior' and remove the address details (this will make the report generation return an error containing the report content) 4. Go to Accounting -> Reports -> General Ledger 5. Click on the arrow next to 'PDF' and click on 'SAF-T'. taskid: 3790302 Forward-Port-Of: odoo/odoo#160577 Forward-Port-Of: odoo/odoo#156672
This fix restores the ability to process partial refunds for Point of Sale orders. A previous change had inadvertently broken this feature by causing incorrect total amount calculations. This update reverts that problematic change to ensure customers and staff can properly refund orders for partial amounts.
Original PR description
This reverts commit https://github.com/odoo/odoo/commit/ae7d18dd5f2a712348fc0911777b164c7a273c0a to allow partial refunding of pos order as the total_amount is not correct anymore. opw-3827876
This update brings the spreadsheet feature to the latest version with multiple bug fixes and performance enhancements. Users will experience improved chart label handling, faster spreadsheet loading, better compatibility with Firefox, and fixes for data validation and chart formatting issues. The update also includes a dependency upgrade to ensure the application runs smoothly.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/33f09d7c4 [REL] 17.0.17 https://github.com/odoo/o-spreadsheet/commit/1767b3728 [FIX] chart: preserve label order when…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/33f09d7c4 [REL] 17.0.17 https://github.com/odoo/o-spreadsheet/commit/1767b3728 [FIX] chart: preserve label order when aggregate https://github.com/odoo/o-spreadsheet/commit/6c96ded0b [PERF] helpers: faster default cell height Task: 3845472 https://github.com/odoo/o-spreadsheet/commit/b48eb1cf7 [IMP] package: update owl to version 2.2.10 https://github.com/odoo/o-spreadsheet/commit/c2f6da219 [FIX] *: Compute max/min on huge arrays Task: 3802691 https://github.com/odoo/o-spreadsheet/commit/06db89656 [FIX] Charts: format of negative values https://github.com/odoo/o-spreadsheet/commit/c2eed35cb [FIX] EditionPlugin: data validation duplicate values https://github.com/odoo/o-spreadsheet/commit/ed7d3fa63 [FIX] BottomBarSheet: Rename a sheet with style content on Firefox Task: 3754944 https://github.com/odoo/o-spreadsheet/commit/33ed353a9 [FIX] bottom_bar: disable sheet drag & drop in readonly Task: 3820888 https://github.com/odoo/o-spreadsheet/commit/261616dfa [FIX] menu: non-aligned menu items Task: 3814222