From 2f90d979cce6d30cd0f48dedbdaab093fb638510 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 21 Dec 2023 12:01:31 +0100 Subject: [PATCH] Set supply state of sale line to cancelled only if the purchase request is also cancelled Closes #12853 (grafted from 0cfd8517113dfd8d60ebc9fbd7c118ab59dee0ac) --HG-- branch : 6.0 --- modules/sale_supply/sale.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/modules/sale_supply/sale.py b/modules/sale_supply/sale.py index d3c96a40d0..7951697556 100644 --- a/modules/sale_supply/sale.py +++ b/modules/sale_supply/sale.py @@ -83,13 +83,14 @@ class Line(metaclass=PoolMeta): def get_supply_state(self, name): if self.purchase_request is not None: - purchase_line = self.purchase_request.purchase_line - if purchase_line is not None: - purchase = purchase_line.purchase - if purchase.state == 'cancelled': - return 'cancelled' - elif purchase.state in ('processing', 'done'): - return 'supplied' + if self.purchase_request.state == 'cancelled': + return 'cancelled' + else: + purchase_line = self.purchase_request.purchase_line + if purchase_line is not None: + purchase = purchase_line.purchase + if purchase.state in {'processing', 'done'}: + return 'supplied' return 'requested' return ''