Thursday, November 26, 2020
6 changes · master
Enhancements to existing features
After selecting a website theme, Odoo keeps the setup loading screen active until the editor is ready. This prevents users on slower connections from navigating away too early and missing the guided tour.
Original PR description
Before this commit the navigation toolbar was accessible after selecting a theme before the editor was opened, which on slow connections made it possible for users to leave the screen and miss the tour After this commit the loader animation of the theme installation is blocking the access to the screen until the editor is opened thus preventing user to navigate elsewhere before seeing the tour task-2387608 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
The Israel localization is now multilingual, with Hebrew translations added for key accounting content such as the chart of accounts, taxes, and fiscal positions. This makes setup and day-to-day accounting clearer for Hebrew-speaking businesses using Odoo in Israel.
Original PR description
Task: <a href="https://www.odoo.com/web#id=2393564&action=4043&model=project.task&view_type=form&cids=2&menu_id=4720">2393564</a>
This change improves website page loading speed after a theme is installed by making attachment lookups much faster. It reduces repeated slow database work when visitors open website pages, improving the browsing experience and reducing server load.
Original PR description
After install a website theme the webpage is slower It is because a new query is executed to get website attachments -…
After install a website theme the webpage is slower
It is because a new query is executed to get website attachments
- https://github.com/odoo/odoo/blob/d00a832952a0b9d2276a1f057ee10152b0c7f5bc/addons/website/models/ir_http.py#L332
This query is so slow and it is executed each time the website is opened
Before index:
```sql
EXPLAIN (ANALYZE, VERBOSE, BUFFERS)
SELECT id FROM ir_attachment WHERE active=True AND key = 'SOMETHING' AND website=1
Seq Scan on ir_attachment ...
Execution Time: 21.320 ms
```
After index:
```sql
Bitmap Heap Scan on ir_attachment ...
Execution Time: 0.111 ms
```
192x faster
The website must be as faster as possible so this index make sense
A cumulative time for these kind of queries is so high just opening the main page, because of these queries are executed more than one time for each user opening the website.
@odony Could you check it, please?
UPDATED:
I just share the pgbadger output using the website 26 seconds:
- The Documents onboarding tour has been streamlined with clearer helper text, updated step order, and small visual adjustments. This makes it easier for users to understand key Documents workflows and ensures the default folder shown during onboarding is more relevant.
Original PR description
Adjust some of the steps of the Documents onboarding tour. Mainly, some steps have been removed/swapped and the helper texts have been improved. Task ID: 2325005
Barcode inventory adjustments now use the same automatic conflict inventory handling as the standard inventory menu. Draft inventories opened from the barcode app are also started automatically, reducing extra steps and helping warehouse teams work consistently.
Original PR description
This commit adds the same auto-create/update/remove of conflict inventories logic when opening the inventories from the backend menu item to the barcode button that opens the custom barcode inventory adjustment view. Task: 2336455 Related Upgrade PR: odoo/upgrade#1839 COM PR: odoo/odoo#59834
Resolved issues and error corrections
This fixes a mobile issue where tapping certain elements inside embedded lists could show an error instead of responding normally. Users working on phones or tablets should no longer see a traceback when interacting with those list fields.
Original PR description
When performing a "touch" on some elements (e.g. a list view inside a form view) on mobile, a traceback is displayed with the error "Cannot read property 'length' of undefined". In this context, the "undefined" is the property "this.selection" in the ListRender. It happens due to an unintentional override of the event handler methods used for the "touchstart" and "touchend" events in both BasicRenderer and ListRenderer, making the first one calling the second one event handler. Those were introduced respectively in 4ee338a and ab8932f . Steps to reproduce (on mobile): - Open Fleet app (but not specific to this app) - Car > Create - Scroll to "Fiscality: Disallowed Expenses Rates" field (which is a list) - Click on the "%" symbol => Traceback This commit fixes it by giving more specific names to the event handler's methods on both BasicRenderer and ListRenderer.