Thursday, March 11, 2021
5 changes · master
Enhancements to existing features
The accounting interface for viewing move lines grouped by journal entry has been refined to make it easier to review related entries. This improves day-to-day usability for finance users by making the grouped view more efficient and clearer to work with.
Original PR description
This commit modifies the views of the move lines grouped by move. Its purpose is to optimize the UI. **Task ID:** #2443795 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Archived records that still have public links can now fall back to a configured redirect instead of showing an access denied page. This helps preserve SEO value and gives customers a smoother path to the correct replacement content when old products or pages cannot be deleted.
Original PR description
Before this commit, we only check if another endpoint can be serve in case of 404 not found. Idea was that each url has only one endpoint. Fun effect is that if record doesn't exist, route doesn't match, so in reality we had one endpoint but we fallback too to check if another match. But it doesn't match a recurring case, when you archive a record, and want to create a redirect for your seo and customer to another record, it is just ignored because the url math a controller (that return 403 since you don't have anymore the access right) Since ask to the customer to delete the record is not always possible (e.g. a product already sold) now we check if a fallback match for 403. 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
Resolved issues and error corrections
Product variant naming was simplified by no longer hiding attributes that only have one possible value. This removes a slow check and significantly improves performance for large product catalogs, especially barcode lookups and product searches.
Original PR description
Method _filter_single_value_lines() in _get_combination_name() is aimed to filter out attributes that have a single value, e.g. no need specify product color in name if we sale one color only. It…
Method _filter_single_value_lines() in _get_combination_name() is aimed to filter out attributes that have a single value, e.g. no need specify product color in name if we sale one color only. It makes sense, but it works too slow. Because it doesn't seem that important we can drop it for sake of speed. Perfomance test =============== * 33 K product templates with 2 attributes and 2 values in each * 2 languages * postgres 12.5 ``` get_all_products_by_barcode | | Number of queries | Query time, sec | Remaining time, sec | |--------+-------------------+-----------------+---------------------| | Before | 33909 | 29.298 | 64.672 | | After | 671 | 7.108 | 26.787 | name_search limit=8 | | Number of queries | Query time, sec | Remaining time, sec | |--------+-------------------+-----------------+---------------------| | Before | 15 | 0.217 | 0.015 | | After | 10 | 0.211 | 0.011 | ``` --- Co-authored with FP opw-2459937 opw-2452738 opw-2355449 opw-2377443 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
Code cleanup and technical improvements
Barcode check digit validation has been reorganized and covered with tests to make scanning rules more reliable. A new GS1 barcode nomenclature module lays the groundwork for supporting GS1-128 barcodes in inventory workflows.
Original PR description
Refactor the way barcode nomenclature verifies the barcode check digit in order to prepare the support of GS1-128 encoded barcode. task-1968113
Resizing a calendar window no longer forces the entire calendar to reload, so users keep their place instead of being sent back to the start. This also improves performance in related Time Off calendar views by avoiding unnecessary background work.
Original PR description
Before this commit, when a calendar view was resized the full view was rendered again to recalculate the resize. After this commit, we now set manually the new size. This avoid to lose the current position-y in the calendar. Steps to reproduce: * Open a window (not maximized) * Go to calendar (day/week view) * Scroll to the end of the calendar * Resize the window => the calendar returns to the begging. Note: By the same way it also fixes a performance issue in TimeOff's render as it makes an RPC to calculate the popover for the year view. Task ID: 2200168 (5.a) -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr