[IMP] purchase_requisition: prepare method for order lines creation
Closes #16080 Add a prepare method easy to override in Purchase Requisition Line to create the dictionary of values for order line creation
This commit is contained in:
committed by
Yannick Tivisse
parent
f121e64138
commit
2742722d36
@@ -138,6 +138,22 @@ class PurchaseRequisitionLine(models.Model):
|
||||
if not self.schedule_date:
|
||||
self.schedule_date = self.requisition_id.schedule_date
|
||||
|
||||
@api.multi
|
||||
def _prepare_purchase_order_line(self, name, product_qty=0.0, price_unit=0.0, taxes_ids=False):
|
||||
self.ensure_one()
|
||||
requisition = self.requisition_id
|
||||
return {
|
||||
'name': name,
|
||||
'product_id': self.product_id.id,
|
||||
'product_uom': self.product_id.uom_po_id.id,
|
||||
'product_qty': product_qty,
|
||||
'price_unit': price_unit,
|
||||
'taxes_id': [(6, 0, taxes_ids)],
|
||||
'date_planned': requisition.schedule_date or fields.Date.today(),
|
||||
'procurement_ids': [(6, 0, [requisition.procurement_id.id])] if requisition.procurement_id else False,
|
||||
'account_analytic_id': self.account_analytic_id.id,
|
||||
}
|
||||
|
||||
|
||||
class PurchaseOrder(models.Model):
|
||||
_inherit = "purchase.order"
|
||||
@@ -209,17 +225,10 @@ class PurchaseOrder(models.Model):
|
||||
price_unit = requisition.company_id.currency_id.compute(price_unit, currency)
|
||||
|
||||
# Create PO line
|
||||
order_lines.append((0, 0, {
|
||||
'name': name,
|
||||
'product_id': line.product_id.id,
|
||||
'product_uom': line.product_id.uom_po_id.id,
|
||||
'product_qty': product_qty,
|
||||
'price_unit': price_unit,
|
||||
'taxes_id': [(6, 0, taxes_ids)],
|
||||
'date_planned': requisition.schedule_date or fields.Date.today(),
|
||||
'procurement_ids': [(6, 0, [requisition.procurement_id.id])] if requisition.procurement_id else False,
|
||||
'account_analytic_id': line.account_analytic_id.id,
|
||||
}))
|
||||
order_line_values = line._prepare_purchase_order_line(
|
||||
name=name, product_qty=product_qty, price_unit=price_unit,
|
||||
taxes_ids=taxes_ids)
|
||||
order_lines.append((0, 0, order_line_values))
|
||||
self.order_line = order_lines
|
||||
|
||||
@api.multi
|
||||
|
||||
Reference in New Issue
Block a user