From 502a9ce200938df451ea7009ba0a1e72454e80ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 11 Apr 2022 23:24:21 +0200 Subject: [PATCH] Add validate_fields to ModelStorage issue11303 review386191002 --- sale.py | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/sale.py b/sale.py index 2989645be7..79b8cdc715 100644 --- a/sale.py +++ b/sale.py @@ -47,17 +47,18 @@ class Sale(metaclass=PoolMeta): return super().copy(sales, default=default) @classmethod - def validate(cls, sales): + def validate_fields(cls, sales, field_names): pool = Pool() WebShop = pool.get('web.shop') - super().validate(sales) + super().validate_fields(sales, field_names) - web_shops = WebShop.search([]) - guests = {s.guest_party for s in web_shops} - for sale in sales: - if (sale.state not in {'draft', 'cancelled'} - and sale.party in guests): - raise SaleValidationError( - gettext('web_shop.msg_sale_invalid_party', - sale=sale.rec_name, - party=sale.party.rec_name)) + if field_names & {'state', 'party'}: + web_shops = WebShop.search([]) + guests = {s.guest_party for s in web_shops} + for sale in sales: + if (sale.state not in {'draft', 'cancelled'} + and sale.party in guests): + raise SaleValidationError( + gettext('web_shop.msg_sale_invalid_party', + sale=sale.rec_name, + party=sale.party.rec_name))