From 8ea21479bd6a27d0e2eaea689f9159fe3068ce6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 30 Aug 2021 00:27:14 +0200 Subject: [PATCH] Provide digits from unit of measure issue10677 review365801002 --- order_point.py | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/order_point.py b/order_point.py index 6117b742f4..7ae2b24b21 100644 --- a/order_point.py +++ b/order_point.py @@ -71,8 +71,8 @@ class OrderPoint(ModelSQL, ModelView): [('internal', 'Internal'), ('purchase', 'Purchase')], 'Type', select=True, required=True) - min_quantity = fields.Float('Minimal Quantity', - digits=(16, Eval('unit_digits', 2)), + min_quantity = fields.Float( + "Minimal Quantity", digits='unit', states={ # required for purchase and production types 'required': Eval('type') != 'internal', @@ -81,9 +81,9 @@ class OrderPoint(ModelSQL, ModelView): ('min_quantity', '=', None), ('min_quantity', '<=', Eval('target_quantity', 0)), ], - depends=['unit_digits', 'target_quantity', 'type']) - target_quantity = fields.Float('Target Quantity', required=True, - digits=(16, Eval('unit_digits', 2)), + depends=['target_quantity', 'type']) + target_quantity = fields.Float( + "Target Quantity", digits='unit', required=True, domain=[ ['OR', ('min_quantity', '=', None), @@ -94,9 +94,9 @@ class OrderPoint(ModelSQL, ModelView): ('target_quantity', '<=', Eval('max_quantity', 0)), ], ], - depends=['unit_digits', 'min_quantity', 'max_quantity']) - max_quantity = fields.Float('Maximal Quantity', - digits=(16, Eval('unit_digits', 2)), + depends=['min_quantity', 'max_quantity']) + max_quantity = fields.Float( + "Maximal Quantity", digits='unit', states={ 'invisible': Eval('type') != 'internal', }, @@ -104,15 +104,13 @@ class OrderPoint(ModelSQL, ModelView): ('max_quantity', '=', None), ('max_quantity', '>=', Eval('target_quantity', 0)), ], - depends=['unit_digits', 'type', 'target_quantity']) + depends=['type', 'target_quantity']) company = fields.Many2One('company.company', 'Company', required=True, domain=[ ('id', If(In('company', Eval('context', {})), '=', '!='), Eval('context', {}).get('company', -1)), ]) unit = fields.Function(fields.Many2One('product.uom', 'Unit'), 'get_unit') - unit_digits = fields.Function(fields.Integer('Unit Digits'), - 'get_unit_digits') @classmethod def __register__(cls, module_name): @@ -141,17 +139,12 @@ class OrderPoint(ModelSQL, ModelView): @fields.depends('product', '_parent_product.default_uom') def on_change_product(self): self.unit = None - self.unit_digits = 2 if self.product: self.unit = self.product.default_uom - self.unit_digits = self.product.default_uom.digits def get_unit(self, name): return self.product.default_uom.id - def get_unit_digits(self, name): - return self.product.default_uom.digits - @classmethod def validate(cls, orderpoints): super(OrderPoint, cls).validate(orderpoints)