summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMayur Maheshwari (OpenERP) <mma@tinyerp.com>2012-10-04 19:02:41 +0530
committerMayur Maheshwari (OpenERP) <mma@tinyerp.com>2012-10-04 19:02:41 +0530
commit1d2ba2dca3638f2bf54d9d89449142efe92c531d (patch)
treeeea2db449c41cd71f3b30adf34c7a888b58aa254
parentba97319054728490e4d8a601382dd6fd2ab4f970 (diff)
[IMP]Sale : improve flow when no product in sale order line and invoice based on delivery at the time invoice is created for that line
bzr revid: mma@tinyerp.com-20121004133241-v4tcf80gwpocbsry
-rw-r--r--addons/sale/sale.py4
-rw-r--r--addons/sale_stock/stock.py10
2 files changed, 12 insertions, 2 deletions
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index c47bf1357c8..547729da5ee 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -735,13 +735,13 @@ class sale_order_line(osv.osv):
if (line.order_id.invoice_quantity=='order'):
if line.product_uos:
return line.product_uos_qty or 0.0
- return line.product_uom_qty
+ return line.product_uom_qty
def _get_line_uom(self, cr, uid, line, context=None):
if (line.order_id.invoice_quantity=='order'):
if line.product_uos:
return line.product_uos.id
- return line.product_uom.id
+ return line.product_uom.id
def _prepare_order_line_invoice_line(self, cr, uid, line, account_id=False, context=None):
"""Prepare the dict of values to create the new invoice line for a
diff --git a/addons/sale_stock/stock.py b/addons/sale_stock/stock.py
index c4e505a80e8..7d505a672d2 100644
--- a/addons/sale_stock/stock.py
+++ b/addons/sale_stock/stock.py
@@ -183,6 +183,16 @@ class stock_picking(osv.osv):
'invoiced': True,
'invoice_lines': [(6, 0, [invoice_line_id])],
})
+ if not sale_line.product_id:
+ vals = order_line_obj._prepare_order_line_invoice_line(cursor, user, sale_line, False, context)
+ if vals:
+ vals['invoice_id'] = invoices[result[picking.id]].id
+ invoice_line_id = invoice_line_obj.create(cursor, user, vals, context=context)
+ order_line_obj.write(cursor, user, [sale_line.id], {
+ 'invoiced': True,
+ 'invoice_lines': [(6, 0, [invoice_line_id])],
+ })
+
return result
# Redefinition of the new field in order to update the model stock.picking.out in the orm