Thursday, November 14, 2024
8 changes · 18.0
Enhancements to existing features
Opening invoice and bill forms is now faster on large databases because the duplicate-reference warning uses more targeted searches. This reduces wait time for accounting users while keeping the same duplicate detection behavior.
Original PR description
## Description A warning is shown on the form view of invoices/bills, to warn when a possible duplicate is present in the database. The query searching for those duplicates contained disjonctions for…
## Description A warning is shown on the form view of invoices/bills, to warn when a possible duplicate is present in the database. The query searching for those duplicates contained disjonctions for matching conditions for both 'in' moves and 'out' moves. Postgres doesn't plan well with that disjonction (subplan scan with high-filter rate, non-indexable due to the disjonction). Splitting that disjonction into 2 queries (one for each type of in/out, lazily) leads to better plans and also faster execution, since there is better segragation of the lookup criteria (there is no need to check for a potential duplicate customer invoice in the set of vendor bills for ex.). ## Benchmark On database with millions of invoices, opening an invoice form view, the `_fetch_duplicate_reference` | | Before | After | Speed-up | |---------------|--------|-------|----------| | Timings (hot) | 1s | 40ms | 25x | --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The document sharing panel now opens faster by waiting to load invitee suggestions until a user actually opens the invite menu. This reduces the delay after clicking the share button and improves the day-to-day sharing experience.
Original PR description
In production, there is a delay of around 1 second between the moment the user clicks on the share button and the share/permission panel appears. That is not good UX. To reduce that delay, this commit removes the fetching of partner options (for members' invite) when the permission panel is about to open. The RPC call is now done when users open the select menu to invite new members. task-4309414
Resolved issues and error corrections
Creating a new item from a many-to-many tag field now keeps relevant default information, such as a preselected product, when using Save & New. This prevents users from having to re-enter expected values and reduces mistakes during repeated record creation.
Original PR description
Have a field with many2many_tags widget and a context containing `default_` keys (e.g. `{'default_product_id': 45}`). Type something in the input and click on "Create and edit". In the dialog, the name should be prefilled with the value you typed in the input. Moreover, the product should be set to product 45. Click on "Save & New". Before this commit, all fields were empty, because we removed from the context all `default_` keys.
This is correct to remove the `default_name` key, as we already created that record. However, we must keep the others.
This issue has been introduced with the wowl implementation of the Many2ManyTagsField/FormViewDialog.
task~4331742
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-prThis fixes a timing issue in the payment form by ensuring the system waits for the payment request to complete before continuing. It helps avoid incomplete or inconsistent payment flows for customers during checkout.
The manufacturing work order list now uses clearer compact icons for key actions and better signals when a work order is blocked. This makes daily shop-floor task management easier to scan and reduces layout issues in list views.
Original PR description
Duplicate of https://github.com/odoo/odoo/pull/134187 but without the dirty css hack --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an error that could block users when closing a Point of Sale session after recording a negative payment difference. The session can now proceed without showing a technical traceback, improving reliability during register closing.
Original PR description
When the customer tries to close the pos session, a traceback will appear. Steps to reproduce the error: - Go to Point of Sale > Configuration > Payment Methods > Create new > In Journal: Bank > Save…
When the customer tries to close the pos session, a traceback will appear. Steps to reproduce the error: - Go to Point of Sale > Configuration > Payment Methods > Create new > In Journal: Bank > Save - Open a session > Add a product > Payment > select that payment method > validate - Close Register > Now in count, Add such a number so that the difference will become negative > Close Register > Proceed Anyway Error: A traceback appears: ``` "TypeError: cannot unpack non-iterable bool object" ``` When the customer closes the pos session, ``_apply_diff_on_account_payment_move`` method will be called. It will call ``_get_diff_vals`` method. When ``_get_diff_vals`` method returns the ``False``, https://github.com/odoo/odoo/blob/5a390fede312513a5c9b91d2d18d6d0cfdd43750/addons/point_of_sale/models/pos_session.py#L622-L634 So Here, ``source_vals``, ``dest_vals`` will be ``False`` https://github.com/odoo/odoo/blob/5a390fede312513a5c9b91d2d18d6d0cfdd43750/addons/point_of_sale/models/pos_session.py#L1094 So, It will lead to the above Traceback. sentry-5607468115 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update refreshes the spreadsheet component to the latest version and fixes issues affecting chart display and color selection. Users should see more accurate date line charts, improved area chart trend lines, and a cleaner color picker experience.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/88e1aeeb4 [REL] 18.0.4 Task: 0 https://github.com/odoo/o-spreadsheet/commit/bb046c5db [FIX] chart: date line chart Task: 4268977 https://github.com/odoo/o-spreadsheet/commit/064a7cf84 [FIX] color_picker: conditionally hide reset button Task: 4102704 https://github.com/odoo/o-spreadsheet/commit/2cb20cee6 [FIX] chart: trend line of area chart Task: 4274294 Co-authored-by: Anthony Hendrickx (anhe) <anhe@odoo.com> Co-authored-by: Alexis Lacroix (laa) <laa@odoo.com> Co-authored-by: Lucas Lefèvre (lul) <lul@odoo.com> Co-authored-by: Dhrutik Patel (dhrp) <dhrp@odoo.com> Co-authored-by: Adrien Minne (adrm) <adrm@odoo.com> Co-authored-by: Mehdi Rachico (mera) <mera@odoo.com> Co-authored-by: Rémi Rahir (rar) <rar@odoo.com> Co-authored-by: Pierre Rousseau (pro) <pro@odoo.com> Co-authored-by: Vincent Schippefilt (vsc) <vsc@odoo.com>
This fixes a receipt printing problem in Italian point of sale setups when rounding is applied to discounted totals. Cash registers should no longer enter an error state for small rounding adjustments, helping checkout continue smoothly.
Original PR description
When a rounding amount is sent to the cash register, the printer goes into error.
e.g.
```
Product price 1,21
rounding -0,01
total 1,20
```
There is a code in the XML receipt which must be quoted as a string value.
When writing the rounding without it, the printer crashes.
CLA signed here: odoo/odoo#186833