diff --git a/modules/purchase_amendment/purchase.py b/modules/purchase_amendment/purchase.py index 75bb9f2f21..16a7597c8d 100644 --- a/modules/purchase_amendment/purchase.py +++ b/modules/purchase_amendment/purchase.py @@ -250,12 +250,12 @@ class AmendmentLine(ModelSQL, ModelView): & ~(Eval('quantity', 0) < 0), ('purchasable', '=', True), ()), - If(Eval('product_uom_category'), - ('default_uom_category', '=', Eval('product_uom_category')), - ()), + ('default_uom_category', '=', Eval('product_uom_category', -1)), ], states={ - 'readonly': Eval('state') != 'draft', + 'readonly': ( + (Eval('state') != 'draft') + | ~Eval('product_uom_category', None)), 'invisible': Eval('action') != 'line', }) product_supplier = fields.Many2One( diff --git a/modules/sale_amendment/sale.py b/modules/sale_amendment/sale.py index 5758527214..d126c5fbab 100644 --- a/modules/sale_amendment/sale.py +++ b/modules/sale_amendment/sale.py @@ -287,12 +287,12 @@ class AmendmentLine(ModelSQL, ModelView): & ~(Eval('quantity', 0) < 0), ('salable', '=', True), ()), - If(Eval('product_uom_category'), - ('default_uom_category', '=', Eval('product_uom_category')), - ()), + ('default_uom_category', '=', Eval('product_uom_category', -1)), ], states={ - 'readonly': Eval('state') != 'draft', + 'readonly': ( + (Eval('state') != 'draft') + | ~Eval('product_uom_category', None)), 'invisible': Eval('action') != 'line', }) quantity = fields.Float(