summaryrefslogtreecommitdiff
path: root/addons/purchase_requisition
diff options
context:
space:
mode:
Diffstat (limited to 'addons/purchase_requisition')
-rw-r--r--addons/purchase_requisition/models/purchase_requisition.py26
1 files changed, 22 insertions, 4 deletions
diff --git a/addons/purchase_requisition/models/purchase_requisition.py b/addons/purchase_requisition/models/purchase_requisition.py
index 0731b4456d5..86ad0cc1ca4 100644
--- a/addons/purchase_requisition/models/purchase_requisition.py
+++ b/addons/purchase_requisition/models/purchase_requisition.py
@@ -194,16 +194,16 @@ class PurchaseOrder(models.Model):
taxes_ids = line.product_id.supplier_taxes_id.filtered(lambda tax: tax.company_id == requisition.company_id).ids
# Compute quantity and price_unit
- if requisition.type_id.quantity_copy != 'copy':
- product_qty = 0
- price_unit = line.price_unit
- elif line.product_uom_id != line.product_id.uom_po_id:
+ if line.product_uom_id != line.product_id.uom_po_id:
product_qty = line.product_uom_id._compute_quantity(line.product_qty, line.product_id.uom_po_id)
price_unit = line.product_uom_id._compute_price(line.price_unit, line.product_id.uom_po_id)
else:
product_qty = line.product_qty
price_unit = line.price_unit
+ if requisition.type_id.quantity_copy != 'copy':
+ product_qty = 0
+
# Compute price_unit in appropriate currency
if requisition.company_id.currency_id != currency:
price_unit = requisition.company_id.currency_id.compute(price_unit, currency)
@@ -258,6 +258,24 @@ class PurchaseOrder(models.Model):
return result
+class PurchaseOrderLine(models.Model):
+ _inherit = "purchase.order.line"
+
+ @api.onchange('product_qty', 'product_uom')
+ def _onchange_quantity(self):
+ res = super(PurchaseOrderLine, self)._onchange_quantity()
+ if self.order_id.requisition_id:
+ for line in self.order_id.requisition_id.line_ids:
+ if line.product_id == self.product_id:
+ if line.product_uom_id != self.product_uom:
+ self.price_unit = self.env['product.uom']._compute_price(
+ line.product_uom_id.id, line.price_unit, to_uom_id=self.product_uom.id)
+ else:
+ self.price_unit = line.price_unit
+ break
+ return res
+
+
class ProductTemplate(models.Model):
_inherit = 'product.template'