From ce75be407a0d94e38f10d49b03422d39aac2b252 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 21 Oct 2023 01:03:21 +0200 Subject: [PATCH] Allow to search on default UoM of stock lot Since e49aaf8553e1, default UoM of "Lots by Locations" has a searcher using the default UoM of the stock lot. Closes #12583 --- modules/stock_lot/stock.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/stock_lot/stock.py b/modules/stock_lot/stock.py index c12dbee0b0..30bc673190 100644 --- a/modules/stock_lot/stock.py +++ b/modules/stock_lot/stock.py @@ -90,7 +90,7 @@ class Lot(DeactivableMixin, ModelSQL, ModelView, LotMixin, StockMixin): fields.Many2One( 'product.uom', "Default UoM", help="The default Unit of Measure."), - 'on_change_with_default_uom') + 'on_change_with_default_uom', searcher='search_default_uom') @classmethod def __setup__(cls): @@ -129,6 +129,11 @@ class Lot(DeactivableMixin, ModelSQL, ModelView, LotMixin, StockMixin): def on_change_with_default_uom(self, name=None): return self.product.default_uom if self.product else None + @classmethod + def search_default_uom(cls, name, clause): + nested = clause[0][len(name):] + return [('product.' + name + nested, *clause[1:])] + @classmethod def copy(cls, lots, default=None): default = default.copy() if default else {}