[FIX] purchase, stock_dropshipping: origin in PO
When a product is in "dropshipping" with one supplier and with a few SO created for the same customer, the origin of the resulting PO must include all the SO names. opw:647409
This commit is contained in:
parent
41929bd997
commit
ad253a3386
|
@ -1436,6 +1436,9 @@ class procurement_order(osv.osv):
|
||||||
|
|
||||||
return qty, price
|
return qty, price
|
||||||
|
|
||||||
|
def update_origin_po(self, cr, uid, po, proc, context=None):
|
||||||
|
pass
|
||||||
|
|
||||||
def make_po(self, cr, uid, ids, context=None):
|
def make_po(self, cr, uid, ids, context=None):
|
||||||
""" Resolve the purchase from procurement, which may result in a new PO creation, a new PO line creation or a quantity change on existing PO line.
|
""" Resolve the purchase from procurement, which may result in a new PO creation, a new PO line creation or a quantity change on existing PO line.
|
||||||
Note that some operations (as the PO creation) are made as SUPERUSER because the current user may not have rights to do it (mto product launched by a sale for example)
|
Note that some operations (as the PO creation) are made as SUPERUSER because the current user may not have rights to do it (mto product launched by a sale for example)
|
||||||
|
@ -1478,6 +1481,7 @@ class procurement_order(osv.osv):
|
||||||
|
|
||||||
if new_qty > po_line.product_qty:
|
if new_qty > po_line.product_qty:
|
||||||
po_line_obj.write(cr, SUPERUSER_ID, po_line.id, {'product_qty': new_qty, 'price_unit': new_price}, context=context)
|
po_line_obj.write(cr, SUPERUSER_ID, po_line.id, {'product_qty': new_qty, 'price_unit': new_price}, context=context)
|
||||||
|
self.update_origin_po(cr, uid, po_rec, procurement, context=context)
|
||||||
sum_po_line_ids.append(procurement.id)
|
sum_po_line_ids.append(procurement.id)
|
||||||
else:
|
else:
|
||||||
line_vals.update(order_id=po_id)
|
line_vals.update(order_id=po_id)
|
||||||
|
|
|
@ -43,3 +43,12 @@ class purchase_order(models.Model):
|
||||||
if not self.env.context.get('no_invoice_policy_check'):
|
if not self.env.context.get('no_invoice_policy_check'):
|
||||||
self._check_invoice_policy()
|
self._check_invoice_policy()
|
||||||
super(purchase_order, self).wkf_confirm_order()
|
super(purchase_order, self).wkf_confirm_order()
|
||||||
|
|
||||||
|
class procurement_order(models.Model):
|
||||||
|
_inherit = 'procurement.order'
|
||||||
|
|
||||||
|
@api.model
|
||||||
|
def update_origin_po(self, po, proc):
|
||||||
|
super(procurement_order, self).update_origin_po(po, proc)
|
||||||
|
if proc.sale_line_id and not (proc.origin in po.origin):
|
||||||
|
po.sudo().write({'origin': po.origin+', '+proc.origin})
|
||||||
|
|
Loading…
Reference in New Issue