diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index a5932311c29cb3a83c86edf467e690863156977d..e6163a3750c22e63a13e0c5fb9439133f6c7e1ff 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -186,6 +186,16 @@ class PurchaseOrder(models.Model): raise UserError(_('In order to delete a purchase order, you must cancel it first.')) return super(PurchaseOrder, self).unlink() + @api.multi + def copy(self, default=None): + new_po = super(PurchaseOrder, self).copy() + for line in new_po.order_line: + seller = line.product_id._select_seller( + line.product_id, partner_id=line.partner_id, quantity=line.product_qty, + date=line.order_id.date_order and line.order_id.date_order[:10], uom_id=line.product_uom) + line.date_planned = line._get_date_planned(seller) + return new_po + @api.multi def _track_subtype(self, init_values): self.ensure_one()