Monday, May 13, 2024
15 changes
Resolved issues and error corrections
This fix corrects how account reports handle an empty account type filter field. Previously, leaving this optional field empty would incorrectly limit results to only payable and receivable accounts. Now it properly behaves as if the filter is disabled, allowing all relevant accounts to be included in reports.
Original PR description
That field is not required, so it is possible to make it empty. The behavior should then be equivalent to the 'disabled' option. Before this fix, it wasn't, and instead restrained the considered accounts to payable and receivable accounts. We'll make it required in master.
This fix prevents products from being moved to incorrect storage locations when using the barcode scanning app. Previously, users could scan a barcode for any location, even if it wasn't the designated destination for that receipt. Now the system validates that scanned locations must be the correct destination or a sub-location of it, ensuring inventory accuracy and preventing misplacement of goods.
Original PR description
How to reproduce: - Enable "Storage Locations"; - Create a receipt with WH/Stock/Shelf 2 as the Destination Location; - Add a product with a barcode in this receipt and mark it as todo; - Open the created receipt in the Barcode app; - Scan the product; - Scan WH/Stock/Shelf 1 barcode. -> Current behavior: the product will be moved in Shelf 1, which is not a sublocation of Shelf 2 (the receipt's destination.) -> Expected behavior: a product cannot be moved in a destination who is not (a part of) the picking's destination. [OPW-3895328](https://www.odoo.com/web#id=3895328&cids=1&model=project.task&view_type=form) Forward-Port-Of: odoo/enterprise#61665 Forward-Port-Of: odoo/enterprise#61560
This fix resolves an issue where negative stock quantities were preventing Amazon inventory updates from being processed. The system now sends only positive stock amounts to Amazon, ensuring that inventory availability feeds are properly updated and accepted by the platform.
Original PR description
When sending a negative amount of stock, Amazon can't process the inventory update availibility feed. opw-3905455 Forward-Port-Of: odoo/enterprise#62185
This change reverts a previous update to restore the functionality that hides Avalara tax-related fields for companies operating outside the United States and Canada. This ensures that users in other countries don't see irrelevant Avalara configuration options in their system.
Original PR description
This reverts commit 3a0c8b1f8d1055e7ce84791c665b4d37ca37109f. See https://github.com/odoo/enterprise/pull/60554#issuecomment-2107979637
This fix resolves an error that occurred when creating sales orders with products from a parent company using a branch. Previously, confirming such orders would fail with an "incompatible companies" error. The fix updates how products validate company relationships to properly support branch operations, allowing products to be seamlessly used across parent companies and their branches.
Original PR description
Steps ----- 1. Have inventory installed. 2. Have a product belonging to a company with a branch. 3. Create a SO with this branch and add the product to it. 4. Confirm the SO. ** Invalid Operation :…
Steps ----- 1. Have inventory installed. 2. Have a product belonging to a company with a branch. 3. Create a SO with this branch and add the product to it. 4. Confirm the SO. ** Invalid Operation : incompatible companies on records ** Issue ----- While it is possible to add a product from a parent company to a SO, we get an error when confirming the SO and creating the move because of https://github.com/odoo/odoo/blob/1b0dbb3645ad8b52c5260f1cbbc4f6bdee48461e/addons/stock/models/stock_move.py#L1358 As the product_id field of stock.move has check_company=True, we have an inconsistency because we are using the default domain of _check_company_domain which is just the company itself. https://github.com/odoo/odoo/blob/3c7db87ade7e99eafb44228bd038fa39429fdabc/odoo/models.py#L3999-L4007 Fix ----- We provide a new _check_company_domain to product.product. https://github.com/odoo/odoo/commit/0479b2b59466ae1d6d74165345aa3a7dc5de24ed made changes to allow products to be used by branches, in particular this security rule: https://github.com/odoo/odoo/blob/5a801bc60209713a3ba5313debb4daa05c4e2405/addons/product/security/product_security.xml#L34-L38 **opw-3815736**
This fix corrects an issue where product variant prices were not being saved properly when customers ordered through the self-service QR menu. Previously, when staff later modified the order quantity in the regular point-of-sale system, the variant's extra price would be lost and revert to the base price. Now the pricing is correctly preserved throughout the ordering process.
Original PR description
Current behavior: When adding a product with variant in a self order. The extra price was not saved correctly, and so when modifying the quantity from the normal PoS the price was not taking the extra price into account. Steps to reproduce: - Setup PoS to use QR Menu ordering - Create a product with a variant (never create option) - Make sure the variants adds an extra price - Open the self ordering screen an add this product - Add the product to the order and validate it - Go on the normal PoS and open the order - Change the quantity of the product - The unit price is back to the normal (not considering the extra price) opw-3769465 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents lazy-loaded images from being incorrectly marked as edited when the website editor makes temporary style adjustments. Previously, a single word change in a section could trigger 27 unnecessary save operations for unrelated images. The fix disables change tracking during these temporary adjustments and prevents empty style attributes from being left on images.
Original PR description
There is an issue with some of the images having `loading="lazy"` attribute. Those are incorrectly marked as edited (dirty). This is because those images do receive a `min-height` style attribute…
There is an issue with some of the images having `loading="lazy"` attribute. Those are incorrectly marked as edited (dirty). This is because those images do receive a `min-height` style attribute change when the widget is started thanks to [1]: - On page load, the images receive `style.minHeight = '1px';` - Once the images have been load a few moment later, this `min-height` is removed / restored to its initial value. If there were no initial value and if there is no other style attribute on the image, it will leave the image with an empty `style` attribute. But commit [2] made it so those empty attribute (class/style) are removed from the DOM as part of the sanitizing process. This commit does 2 things: - It disable the wysiwyg observer while commit [1] `min-height` operations are being one. - It prevent commit [1] to leave images with an empty `style` attribute. Note: - it was detected on our Odoo.com/app/expenses where a single word change in a section flags 27 unrelated images as o_dirty and ultimately triggers 27 save rpc call instead of only one. - commit [2] was merged in Odoo 16 but only seems to lead to this bug in Odoo 16.4. Something else is probably involved in the o_dirty addition process. It doesn't seems worth it investigating deeper to find exactly what as this commit changes are things that probably should have been done initially anyway. [1]: https://github.com/odoo/odoo/commit/e9ef21b6cd5ae58322fa9102f9f34f06835f0485 [2]: https://github.com/odoo/odoo/commit/5962b9ee2e90cc04ede1c1f9bbb519869db77f71 Forward-Port-Of: odoo/odoo#150535
This fix improves phone number formatting to work consistently even when no country information is available on a record or company. Previously, the system would skip formatting entirely in these cases, but now it attempts to format the number and returns a properly formatted result or indicates when formatting isn't possible. This makes phone number handling more reliable and predictable across the system.
Original PR description
Currently when using _phone_format on any model without any country (on record or on company) the phone format calls is skipped. However if input is already a formatted number it works even without the country information. In this commit we now always call the format tool even when no country is found. It means the returned value might change in some cases (i.e. no country -> was returning original number). However the method spec is that it should return the formatted number or False when no formatting is possible. Calls of _phone_format has been checked and they effectively generally do sanitized or original_number, meaning they expect the returned number to be False when the formatting is not possible. So there should not be any unwanted side effect. Task-3918417 Runbot-64570
This fix resolves an issue where recurring calendar events were being duplicated when edited. The problem occurred because an internal method was being called twice during event modifications. By adding a condition to prevent duplicate processing, users will no longer see duplicate events when managing recurring calendar entries with multiple attendees.
Original PR description
Versions: ------------ 16.0 Steps to reproduce: ------------------- 1)Update the email field of users with gmail id for admin and demo 2) Connect odoo with google calendar 3) Create a recurring event with admin as Organizer, demo as attendee and recurrence as "Daily" with "1" repeatation. 4) Then edit the event by changing the repeatation as "2" and save it in "This and following event" 5) Check the event duplication Issue: ------- Recurring events in the calendar are being duplicated. Cause: ------ The `_apply_recurrence_values` method is being called twice, resulting in duplicate events. Solution: --------- Added a condition to prevent the method from being called multiple times. task-3786429 Forward-Port-Of: odoo/odoo#160062
This fix resolves a technical issue in the loyalty module that was preventing other customizations from working properly. The change makes the cart update feature more flexible and easier for partners to extend, reducing errors when adding custom functionality to the shopping cart.
Original PR description
Description of the issue/feature this PR addresses: Fix the way that product_id, and set_qty parameters are handled. Because of the way `website_sale_loyalty` handles base arguments in it's…
Description of the issue/feature this PR addresses: Fix the way that product_id, and set_qty parameters are handled. Because of the way `website_sale_loyalty` handles base arguments in it's `_cart_update` override, all overrides of that method, that earlier, need to pass arguments to super by key instead of position. Otherwise, an error is raised, because the override in question, receives those parameters in args, instead of kwargs, producing a KeyError. This should not be something a community plugin should need to worry about. This commit makes it so, the override is declared with explicitly stated base arguments, instead of using `*args`, and `**kwargs`. This not only fixes the issue, but also simplifies the method. Current behavior before PR: If any potential `_cart_update` overrides call `super` with position based arguments, a KeyError is raised. Desired behavior after PR is merged: `super` may be called with either key and position based arguments in `_cart_update` overrides. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix resolves an issue where users could no longer edit text or character fields after removing all content and saving. The problem occurred because empty tags couldn't receive cursor focus. The solution automatically fills empty editable fields when the document loads, allowing users to edit them again.
Original PR description
Description of the issue/feature this PR addresses: After removing the text from a tag with data-oe-type 'text' or 'char', and then saving, you can no longer edit it. It is because when the text is removed and and field is saved it becomes empty and its not possible to put the cursor inside an empty tag. This PR fills such empty tags when loading the document. task-3858711 Forward-Port-Of: odoo/odoo#162426
This update fixes a problem where users could interact with a background popup while a second popup was open on top of it. The system now properly manages the layering of multiple popups so that only the topmost popup can be interacted with, improving the user experience when dealing with nested dialog boxes.
Original PR description
Previously, when a popup was opened and it was possible to open a second popup within that popup, when the second popup was opened it was still possible to interact with the first popup. Now we've added a zIndex to the popup service, which corrects this problem
This update corrects a bug where average calculations in list views were including section and note lines that should have been excluded. When users add section headers or notes to a list, the average will now calculate correctly by only considering the actual data rows, providing accurate reporting and analysis.
Original PR description
When using "avg" in a list view with the "section_and_note_one2many" widget and adding a 'line_section' or a 'line_note', the average calculation does not exclude those lines, returning an incorrect result.
Fixed an issue where numeric fields in forms weren't displaying with proper formatting (thousands and decimal separators) after users edited and re-entered the same value. Now when users press Enter, Tab, or Shift-Tab, the number will always display with the correct formatting, improving consistency and reducing user confusion.
Original PR description
Have a numeric field in a form view. The displayed value is formatted, according to the thousands and decimal separators. Say the value is 1,240.00. If the user edits the input and types the same value, i.e. 1240, and then press "Enter", "Tab" or "Shift- Tab", the value won't be formatted as it should be, because we detect no change of value (which is true, but the value should be formatted anyway). With this commit, the value is always formatted on "Enter", "Tab" and "Shift-Tab". Issue spotted by fp 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#165069 Forward-Port-Of: odoo/odoo#164953
Fixed an issue in the expense split feature where splitting an expense attributed to another employee would show an empty view. The fix updates the view filter to properly display the expenses that were modified or created by the split operation, regardless of who the expense is assigned to.
Original PR description
The aim of this commit is to fix the view returned from the expense split wizard Context: When splitting an expense, the wizard view returns the expense list view with "my expenses" a "to report" filters activated. This makes splitting an expense attributed to someone else return an empty view. After this commit: The view now uses a domain that selects the expenses the wizard modified and/or created task-id: 3911134 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#164499