From 71744d1e769e0cd85d3e46e5c39bf827cf1ff435 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sun, 25 Mar 2012 15:39:36 +0200 Subject: [PATCH] Remove special uom search clause review295003 --- move.py | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/move.py b/move.py index babba56ff1..ff2f24e063 100644 --- a/move.py +++ b/move.py @@ -25,17 +25,17 @@ class Move(ModelSQL, ModelView): 'from_location', 'to_location'], domain=[('type', '!=', 'service')], depends=DEPENDS) + product_uom_category = fields.Function( + fields.Many2One('product.uom.category', 'Product Uom Category', + on_change_with=['product']), + 'get_product_uom_category') uom = fields.Many2One("product.uom", "Uom", required=True, states=STATES, domain=[ - ('category', '=', - (Eval('product'), 'product.default_uom.category')), + ('category', '=', Eval('product_uom_category')), ], - context={ - 'category': (Eval('product'), 'product.default_uom.category'), - }, on_change=['product', 'currency', 'uom', 'company', 'from_location', 'to_location'], - depends=['state', 'product']) + depends=['state', 'product_uom_category']) unit_digits = fields.Function(fields.Integer('Unit Digits', on_change_with=['uom']), 'get_unit_digits') quantity = fields.Float("Quantity", required=True, @@ -309,6 +309,19 @@ class Move(ModelSQL, ModelView): res['unit_price'] = unit_price return res + def on_change_with_product_uom_category(self, values): + pool = Pool() + product_obj = pool.get('product.product') + if values.get('product'): + product = product_obj.browse(values['product']) + return product.default_uom_category.id + + def get_product_uom_category(self, ids, name): + categories = {} + for move in self.browse(ids): + categories[move.id] = move.product.default_uom_category.id + return categories + def on_change_uom(self, vals): pool = Pool() product_obj = pool.get('product.product')