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 committed by GitHub
parent 136bdd0619
commit b739645ab7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 3 deletions

View File

@ -554,6 +554,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
@ -586,9 +591,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.4.0
depends:
production_route
extras_depend:
sale
stock_supply_production
purchase_request
xml: