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
This commit is contained in:
Cédric Krier
2023-12-21 12:01:31 +01:00
parent 13a1549699
commit 2f90d979cc
+8 -7
View File
@@ -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 ''