Friday, September 3, 2021
9 changes · master
Enhancements to existing features
The website search bar is now reusable across pages such as shop, blog, events, forum, courses, and website pages. Search results and autocomplete are unified, with fuzzy matching to help visitors find relevant content even when their search terms are slightly off.
Original PR description
Before this commit the search bar was specific to products. This generalises the search bar so it can be added to any model. A snippet is provided, and used to replace the old search bars of blog,…
Before this commit the search bar was specific to products. This generalises the search bar so it can be added to any model. A snippet is provided, and used to replace the old search bars of blog, courses, event, forum, page and shop. The search results of these pages and the autocomplete of the search bar run through the same search mechanism. A new hybrid results page has also been created as a target of a search on "Everything". In each involved module, `website._get_search_details()` is implemented to return search metadata for every model related to the `search_type` parameter. Search metadata for a single model is returned by `_get_search_detail()` on that specific model. The autocomplete runs through the additional `website._render_search_results()` pre-rendering step that prepares the data to fit in the autocomplete template. This PR also introduces a fuzzy search mechanism: if the searched term is not found then the search is performed on a resembling term. The similarity is obtained from a Levenshtein distance combined with ratios of common and different letters. By default the dictionary against which the search term is matched is based on the content of the search fields containing a word that starts with the first letter of the search term. If the `pg_trgm` Postgresql extension is installed the dictionary is built from matches obtained using the `word_similarity` function. task-2379555 odoo/upgrade#2186
This change makes quantity decreases on confirmed sales, purchase, stock, and manufacturing documents flow through the related deliveries, receipts, and production orders where possible. It reduces manual follow-up work and helps keep operational documents aligned when customer or supplier quantities are lowered.
Original PR description
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
Kit products are now shown based on how many complete kits can be assembled from their components, giving users a more accurate view of availability. Receiving and repair workflows also break kits into their component parts and display related kit information, improving traceability and operational clarity.
Original PR description
Whenever there is a kits bom for a product, we consider it a kit product. 1. For a kit product, we show its "on hand" and "forecast" qty based on how many we can produce according to its bom instead of showing the number in stock. 2. When purchase a kit product, it will be decomposed in the picking. We add a new column to the move and move.line to show its bom infomation. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update improves subcontracting flows by adding clearer resupply operations, better links between purchase orders and subcontractor deliveries, and more accurate subcontracting costs in bill of materials reports. It also prevents unsupported byproducts in subcontracting and fixes related stock and receipt visibility issues, making operations easier to track and less error-prone.
Original PR description
See enterprise: odoo/enterprise#20350 See upgrade: odoo/upgrade#2750
Gift cards are now supported directly in the Point of Sale, allowing staff to create, load, and redeem cards at checkout. The gift card functionality has also been separated from sales orders, making it more flexible across sales channels and enabling receipt/report details such as barcode, code, expiration date, and amount.
Original PR description
Split initial module gift card into 2 modules:
- gift card
- sales gift card
This change is made to isolate the sale order from the gift card module.
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prProject-related invoices now carry more accurate cost and analytic accounting details from projects, tasks, and timesheets. This gives businesses better visibility into profitability, employee costs, and revenue tracking for service work delivered through projects.
Original PR description
This PR improves the analytic accounting in project: 1) Analytic account of the project is passed to the invoice lines generated from the project's SO lines. 2) Analytic account and analytic tags are added on task in order to gain in granularity. Those tags are passed to the invoice lines generated from the task's SO lines. 3) Employee timesheet cost now may be overriden in the project employee mapping, if there is an employee rate. This cost is used to compute the amount (price) of the timesheets. 4) The sale order margin is computed based on the timesheeted amounts (prices) per unit of measure, for services with quantity delivered based on timesheets. PR : #70527 PR upgrade: odoo/upgrade#2616 task-2458135 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Point of Sale now opens faster by loading only the most relevant products and customers at startup, with options to control how many are loaded. Missing products or customers can still be found and loaded when needed, reducing wait time without blocking sales activity.
Original PR description
In this PR, in order to make the loading of the POS faster, we limit the loading of the product and partner number. According to it, we add new fields in the pos config to set a number. The product are loaded with those rules: - Starred products - Services - Recent stock moves - Creation date If the product are not loaded, when we scan them, they're added to the pos db. They're also set as available in the point of sale if they were not. The partners are loaded by number of pos order done. For the partners, if they're not loaded, you can search for them with the alphabetical research and load them from the database. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Adds Ecuador-specific accounting, tax, identification, and reporting setup so companies in Ecuador can configure Odoo closer to local compliance needs. This includes IFRS-based chart of accounts, VAT ID validation, SRI payment methods, banks, journals, and initial tax report structures.
Original PR description
- Chart of Account based on IFRS - Validation for RUCs and CI for Ecuadorian VAT - Taxes and Groups - minimum - Initial Structure for 103 and 104 Reports to SRI - Entity, Point of Emission, address of emission, and type of emission added to journal - SRI payment methods, used on EDI Process - Ecuadorian Banks data - Latam Identification Types - Latam Document Types Related -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Barcode scanning is updated to use standard browser camera and barcode detection capabilities instead of relying mainly on native mobile app functions. This makes the experience more consistent across supported devices, while also moving small-screen web behavior into the enterprise web module and using Odoo notifications and device vibration where available.
Original PR description
This PR aims at replacing as much mobile app's native APIs (cf. `mobile.methods`) by their equivalent Web APIs. More specifically, it targets the barcode scanning feature by using the device's camera…
This PR aims at replacing as much mobile app's native APIs (cf. `mobile.methods`) by their equivalent Web APIs. More specifically, it targets the barcode scanning feature by using the device's camera through `getUserMedia`and Shape Detection API (or a lightweight polyfill, depending on the browser support). In this process, some other methods like `vibrate` or `showToast` are also replaced by, respectively, their Web equivalent or the Odoo notification system. Finally, this PR is the opportunity to refocus the `web_mobile` module's content to its primary purpose: provide support for the native mobile apps (leaving the responsive part to `web_enterprise`). Note: this feature requires a secureContext (aka. HTTPS) to be available. References: - https://developer.mozilla.org/en-US/docs/Web/API/BarcodeDetector - https://github.com/zxing-js/library - https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia Task ID: 2583914 Co-authored-by: Romeo Fragomeli <rfr@odoo.com> Co-authored-by: Pierre Paridans <app@odoo.com>