diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index 8023ba6419b..3655b3a8184 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -532,6 +532,9 @@ class sale_order(osv.osv):
invoice_ref += o.name + '|'
self.write(cr, uid, [o.id], {'state': 'progress'})
cr.execute('insert into sale_order_invoice_rel (order_id,invoice_id) values (%s,%s)', (o.id, res))
+ #remove last '|' in invoice_ref
+ if len(invoice_ref) >= 1:
+ invoice_ref = invoice_ref[:-1]
invoice.write(cr, uid, [res], {'origin': invoice_ref, 'name': invoice_ref})
else:
for order, il in val:
diff --git a/addons/sale/wizard/sale_make_invoice.py b/addons/sale/wizard/sale_make_invoice.py
index 87911228cb6..47716018caa 100644
--- a/addons/sale/wizard/sale_make_invoice.py
+++ b/addons/sale/wizard/sale_make_invoice.py
@@ -20,7 +20,6 @@
from openerp.osv import fields, osv
from openerp.tools.translate import _
-from openerp import netsvc
class sale_make_invoice(osv.osv_memory):
_name = "sale.make.invoice"
@@ -40,7 +39,7 @@ class sale_make_invoice(osv.osv_memory):
record_id = context and context.get('active_id', False)
order = self.pool.get('sale.order').browse(cr, uid, record_id, context=context)
if order.state == 'draft':
- raise osv.except_osv(_('Warning!'),'You cannot create invoice when sales order is not confirmed.')
+ raise osv.except_osv(_('Warning!'), _('You cannot create invoice when sales order is not confirmed.'))
return False
def make_invoices(self, cr, uid, ids, context=None):
@@ -51,10 +50,11 @@ class sale_make_invoice(osv.osv_memory):
if context is None:
context = {}
data = self.read(cr, uid, ids)[0]
- order_obj.action_invoice_create(cr, uid, context.get(('active_ids'), []), data['grouped'], date_invoice = data['invoice_date'])
- wf_service = netsvc.LocalService("workflow")
- for id in context.get(('active_ids'), []):
- wf_service.trg_validate(uid, 'sale.order', id, 'manual_invoice', cr)
+ for sale_order in order_obj.browse(cr, uid, context.get(('active_ids'), []), context=context):
+ if sale_order.state != 'manual':
+ raise osv.except_osv(_('Warning!'), _("You shouldn't manually invoice the following sale order %s") % (sale_order.name))
+
+ order_obj.action_invoice_create(cr, uid, context.get(('active_ids'), []), data['grouped'], date_invoice=data['invoice_date'])
for o in order_obj.browse(cr, uid, context.get(('active_ids'), []), context=context):
for i in o.invoice_ids:
@@ -63,7 +63,7 @@ class sale_make_invoice(osv.osv_memory):
result = mod_obj.get_object_reference(cr, uid, 'account', 'action_invoice_tree1')
id = result and result[1] or False
result = act_obj.read(cr, uid, [id], context=context)[0]
- result['domain'] = "[('id','in', ["+','.join(map(str,newinv))+"])]"
+ result['domain'] = "[('id','in', [" + ','.join(map(str, newinv)) + "])]"
return result
diff --git a/addons/sale/wizard/sale_make_invoice.xml b/addons/sale/wizard/sale_make_invoice.xml
index ced64a0f79d..de680feb049 100644
--- a/addons/sale/wizard/sale_make_invoice.xml
+++ b/addons/sale/wizard/sale_make_invoice.xml
@@ -6,16 +6,16 @@
sale.make.invoice