Daily updates from Odoo
Thursday, November 14, 2024
5 changes · 18.0
Enhancements to existing features
The Point of Sale interface now keeps input fields at a consistent width while users type during opening, cash movement, product search, and partner search flows. Receipt previews also stay the same width regardless of the company logo, making the checkout experience more stable and predictable.
Original PR description
Before this commit: ========== - The width of the input field changes when text is added during the session's opening, cash in/cash out, search products, and search partner processes. - The company logo affects the width of the PoS receipt preview. After this commit: ========== - The input field's width stays fixed while adding text during the session's opening, cash in/cash out, search products, and search partner processes. - The width of the PoS receipt preview remains fixed as well. task-4285446
Several common website landing pages are now treated as read-only when visitors use search or filtering options. This helps avoid unnecessary changes during browsing and can improve reliability and performance across public website areas such as events, forums, eCommerce, courses, profiles, and partner pages.
Original PR description
Some common 'landing pages' used in combination with search parameters can be set as read-only.
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
This update adjusts accounting report tests to match the newer way accounting entries receive their official numbers when they are posted, rather than while still in draft. It helps keep automated checks reliable after the related accounting behavior change, with no direct change expected for business users.
Original PR description
Description of the issue this commit addresses: The community PR linked to this one modified the naming behavior of moves and therefore tests have broken. This PR adapts thoses tests to the new…
Description of the issue this commit addresses: The community PR linked to this one modified the naming behavior of moves and therefore tests have broken. This PR adapts thoses tests to the new behavior. --- Old vs. New naming behavior: Let's consider an empty journal. In this journal three moves are added with decreasing date (move1 is the most recent, move2 is in the middle and move3 is the oldest). now we batch the moves and post them together. Before, the first move of a journal would consume the first sequence number upon its creation even in draft and subsequent moves in would be named "/". When batched and posted afterwards, in the `_compute_name()` method, a `.sorted()` would order the moves by date (account.move(3, 2, 1)) and would use that order to name them. As the first sequence number is burned, move3 will use the second number and move2 will use the third number in the sequence. Resulting names: move1: 1, move2: 3 and move3: 2. With x moves: move1: 1, move2: x, move3: x-1, move4: x-2, ... Now, since no sequence number name is ever assigned to a draft entry, upon their creation, all three moves are named "/". And then, when they are batched and posted. they will be ordered 3,2,1 just like before but when naming move3, the first sequence number isn't consumed anymore so it will be named 1, move2 will be name 2 and move1 will be name 3. Resulting names: move1: 3, move2: 2 and move3: 1. With x moves: move1: x, move2: x-1, move3: x-2, move4: x-3, ... --- Desired behavior after this commit is merged: Tests that were relying on the fact that the first move of a sequence uses the first sequence number upon creation and not when posted are now adapted to take into account that sequence number are consumed when posted. --- Community PR: https://github.com/odoo/odoo/pull/185326 task-4241510
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