From e9c77134057f39e780c307a6f30bd9a709d26b4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 13 Feb 2019 10:39:54 +0100 Subject: [PATCH] Enforce salable product only for draft and quotation issue8059 review54511002 --- sale.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sale.py b/sale.py index 9742313f2f..c9bb24de2f 100644 --- a/sale.py +++ b/sale.py @@ -982,7 +982,12 @@ class SaleLine(sequence_ordered(), ModelSQL, ModelView): unit_digits = fields.Function(fields.Integer('Unit Digits'), 'on_change_with_unit_digits') product = fields.Many2One('product.product', 'Product', - ondelete='RESTRICT', domain=[('salable', '=', True)], + ondelete='RESTRICT', + domain=[ + If(Eval('sale_state').in_(['draft', 'quotation']), + ('salable', '=', True), + ()), + ], states={ 'invisible': Eval('type') != 'line', 'readonly': Eval('sale_state') != 'draft',