diff options
| author | Nicolas Martinelli <nim@odoo.com> | 2019-09-24 09:33:28 +0000 |
|---|---|---|
| committer | Nicolas Martinelli <nim@odoo.com> | 2019-09-24 10:32:41 +0000 |
| commit | a5835a160ea3f7aea37644ed4e1a49e2e4a6effd (patch) | |
| tree | 3662d0f2292b9cc52ff25a31de392860a17ce407 /addons | |
| parent | a7a60f7c61275f26521cbc4ea0da2889095a5cc5 (diff) | |
[FIX] stock: do not display 'Location' and 'Warehouse' in search view
- Go to Inventory > Reporting > Inventory Valuation
- Run the report
- In the search view, filter on 'Location' or 'Warehouse'
The filter doesn't work.
Actually, the filter can't work. This is a hack introduced in order to
add context keys.
Originally, the function `search` was added to avoid the error log
'Non-stored field %s cannot be searched.'. This happens because the web
client adds the field in the domain on top of adding the context key. By
using `filter_domain`, no domain is added and no error is logged.
opw-2075456
closes odoo/odoo#37347
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/stock/models/product.py | 9 | ||||
| -rw-r--r-- | addons/stock/views/product_views.xml | 4 |
2 files changed, 6 insertions, 7 deletions
diff --git a/addons/stock/models/product.py b/addons/stock/models/product.py index 5e3de7f0443..01c4f989676 100644 --- a/addons/stock/models/product.py +++ b/addons/stock/models/product.py @@ -490,11 +490,10 @@ class ProductTemplate(models.Model): outgoing_qty = fields.Float( 'Outgoing', compute='_compute_quantities', search='_search_outgoing_qty', digits=dp.get_precision('Product Unit of Measure')) - # The goal of these fields is not to be able to search a location_id/warehouse_id but - # to properly make these fields "dummy": only used to put some keys in context from - # the search view in order to influence computed field - location_id = fields.Many2one('stock.location', 'Location', store=False, search=lambda operator, operand, vals: []) - warehouse_id = fields.Many2one('stock.warehouse', 'Warehouse', store=False, search=lambda operator, operand, vals: []) + # The goal of these fields is to be able to put some keys in context from search view in order + # to influence computed field. + location_id = fields.Many2one('stock.location', 'Location', store=False) + warehouse_id = fields.Many2one('stock.warehouse', 'Warehouse', store=False) route_ids = fields.Many2many( 'stock.location.route', 'stock_route_product', 'product_id', 'route_id', 'Routes', domain=[('product_selectable', '=', True)], diff --git a/addons/stock/views/product_views.xml b/addons/stock/views/product_views.xml index 64be1d7a250..17a347594cc 100644 --- a/addons/stock/views/product_views.xml +++ b/addons/stock/views/product_views.xml @@ -73,8 +73,8 @@ <field name="arch" type="xml"> <xpath expr="//field[@name='pricelist_id']" position="after"> <separator/> - <field name="location_id" context="{'location': self}"/> - <field name="warehouse_id" context="{'warehouse': self}"/> + <field name="location_id" context="{'location': self}" filter_domain="[]"/> + <field name="warehouse_id" context="{'warehouse': self}" filter_domain="[]"/> <separator/> <filter name="real_stock_available" string="Available Products" domain="[('qty_available','>',0)]"/> <filter name="real_stock_negative" string="Negative Forecasted Quantity" domain="[('virtual_available','<',0)]"/> |
