Set origin in case model is in selection reference when create purchase from purchase requests

#160335
This commit is contained in:
Raimon Esteve 2023-06-30 14:57:58 +02:00
parent 076d6fb380
commit 8da34e9778
2 changed files with 14 additions and 3 deletions

View File

@ -557,6 +557,11 @@ class PurchaseLine(metaclass=PoolMeta):
origins += ['purchase.request']
except KeyError:
pass
try:
Pool().get('sale.sale')
origins += ['sale.sale']
except KeyError:
pass
return origins
@classmethod
@ -589,9 +594,14 @@ class CreatePurchase(metaclass=PoolMeta):
@classmethod
def compute_purchase_line(cls, key, requests, purchase):
Line = Pool().get('purchase.line')
line = super().compute_purchase_line(key, requests, purchase)
if requests:
request = requests[0]
line.origin = request.origin
origins = [k[0] for k in Line.get_origin()]
for origin in [request.origin for request in requests if request.origin]:
if origin.__name__ in origins:
line.origin = origin
break
return line

View File

@ -3,6 +3,7 @@ version=6.9.0
depends:
production_route
extras_depend:
sale
stock_supply_production
purchase_request
xml: