[FIX] Make sure all sales orders are set to done when invoicing from contract

bzr revid: jco@openerp.com-20130325084502-o9oc8ujqeno5fw84
This commit is contained in:
Josse Colpaert
2013-03-25 09:45:02 +01:00
parent 9f29b5da17
commit 79565563cc
+3 -4
View File
@@ -95,16 +95,15 @@ class sale_order_line_make_invoice(osv.osv_memory):
res = make_invoice(order, il)
cr.execute('INSERT INTO sale_order_invoice_rel \
(order_id,invoice_id) values (%s,%s)', (order.id, res))
flag = True
data_sale = sales_order_obj.browse(cr, uid, line.order_id.id, context=context)
data_sale = sales_order_obj.browse(cr, uid, order.id, context=context)
for line in data_sale.order_line:
if not line.invoiced:
flag = False
break
if flag:
wf_service.trg_validate(uid, 'sale.order', line.order_id.id, 'manual_invoice', cr)
sales_order_obj.write(cr, uid, [line.order_id.id], {'state': 'progress'})
wf_service.trg_validate(uid, 'sale.order', order.id, 'manual_invoice', cr)
sales_order_obj.write(cr, uid, [order.id], {'state': 'done'})
if not invoices:
raise osv.except_osv(_('Warning!'), _('Invoice cannot be created for this Sales Order Line due to one of the following reasons:\n1.The state of this sales order line is either "draft" or "cancel"!\n2.The Sales Order Line is Invoiced!'))