mirror of
https://github.com/NaN-tic/trytond-stock_supply_direct.git
synced 2023-12-14 02:32:56 +01:00
Avoid duplicate purchase request when turn back shipment to waiting state and then to assigned again
This commit is contained in:
parent
08f1431525
commit
28dde6512e
1 changed files with 27 additions and 17 deletions
44
move.py
44
move.py
|
@ -65,24 +65,34 @@ class Move:
|
|||
self.planned_date or self.effective_date)
|
||||
uom = product.purchase_uom or product.default_uom
|
||||
quantity = Uom.compute_qty(self.uom, self.quantity, uom)
|
||||
with Transaction().set_context(_check_access=False):
|
||||
if (self.purchase_request and
|
||||
self.purchase_request.state == 'draft'):
|
||||
request = self.purchase_request
|
||||
else:
|
||||
request = Request()
|
||||
request.product = product
|
||||
request.party = supplier
|
||||
request.quantity = quantity
|
||||
request.uom = uom
|
||||
request.computed_quantity = quantity
|
||||
request.computed_uom = uom
|
||||
request.purchase_date = purchase_date
|
||||
request.supply_date = self.planned_date
|
||||
request.company = self.company
|
||||
requests = Request.search([
|
||||
('product', '=', product.id),
|
||||
('party', '=', supplier and supplier.id),
|
||||
('quantity', '=', quantity),
|
||||
('uom', '=', uom.id),
|
||||
])
|
||||
if requests:
|
||||
request, = requests
|
||||
request.origin = self
|
||||
request.warehouse = (self.from_location.warehouse or
|
||||
self.to_location.warehouse)
|
||||
else:
|
||||
with Transaction().set_context(_check_access=False):
|
||||
if (self.purchase_request and
|
||||
self.purchase_request.state == 'draft'):
|
||||
request = self.purchase_request
|
||||
else:
|
||||
request = Request()
|
||||
request.product = product
|
||||
request.party = supplier
|
||||
request.quantity = quantity
|
||||
request.uom = uom
|
||||
request.computed_quantity = quantity
|
||||
request.computed_uom = uom
|
||||
request.purchase_date = purchase_date
|
||||
request.supply_date = self.planned_date
|
||||
request.company = self.company
|
||||
request.origin = self
|
||||
request.warehouse = (self.from_location.warehouse or
|
||||
self.to_location.warehouse)
|
||||
|
||||
return request
|
||||
|
||||
|
|
Loading…
Reference in a new issue