a62baec7f66caca743f9656c03bb07f43ba6405f
The 'sale_ebay' module adds the `product_variant_ids` one2many field on the `product.template` form view. The `product_variant_ids` view contains `virtual_available` (depending on `uom_id`). When the user changes the `uom_id` of the `product.template`, onchange is triggered, it takes a snapshot of the previous data, and it will computes the previous value of `virtual_available`. But the associated compute method will fail with a traceback: File "/data/build/odoo/addons/stock/models/product.py", line 199, in _compute_quantities_dict res[product_id]['qty_available'] = float_round(qty_available, precision_rounding=rounding) File "/data/build/odoo/odoo/tools/float_utils.py", line 54, in float_round rounding_factor = _float_check_precision(precision_digits=precision_digits, File "/data/build/odoo/odoo/tools/float_utils.py", line 29, in _float_check_precision assert precision_rounding is None or precision_rounding > 0,\ AssertionError: precision_rounding must be positive, got 0.0 The `precision_rounding` is `0.0` because the `uom_id` of the product is empty. It is is empty because we force the `uom_id` of the `product.template` to be `False` in `initial_values` (before the snapshot), and then the `uom_id` takes the value of its `product.template` (`False`). But actually, the cache of the product should be full with its previous values before doing the snapshot. This was not the case because we only copy data from store fields (see `fnames`). Then compute fields was computed after setting field change to `False`. opw-3334822 opw-3419392 X-original-commit: 5021e77ba52fac465a5d842ac04c0a3a22aea2dd Part-of: odoo/odoo#135635 Co-authored-by: William Henrotin (whe) <whe@odoo.com>
…
…
…
…
…
…
Odoo
Odoo is a suite of web based open source business apps.
The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, ...
Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.
Getting started with Odoo
For a standard installation please follow the Setup instructions from the documentation.
To learn the software, we recommend the Odoo eLearning, or Scale-up, the business game. Developers can start with the developer tutorials
Languages
Python
49.6%
JavaScript
47.8%
SCSS
2%
CSS
0.3%
HTML
0.2%