SALE: fix workflow error when create invoice from wizard
bzr revid: ced-7de68ca198a3ea06dd081cd24410f4b9128a6bd2
This commit is contained in:
parent
7047fc0377
commit
a6def89886
|
@ -108,7 +108,7 @@ class account_invoice(osv.osv):
|
|||
'date_invoice': fields.date('Date Invoiced', required=True, states={'open':[('readonly',True)],'close':[('readonly',True)]}),
|
||||
'date_due': fields.date('Due Date', states={'open':[('readonly',True)],'close':[('readonly',True)]}),
|
||||
|
||||
'partner_id': fields.many2one('res.partner', 'Partner', change_default=True, readonly=True, required=True, states={'draft':[('readonly',False)]}, relate=True),
|
||||
'partner_id': fields.many2one('res.partner', 'Partner', change_default=True, readonly=True, required=True, states={'draft':[('readonly',False)]}, relate=False),
|
||||
'partner_bank_id': fields.many2one('res.partner.bank', 'Partner bank'),
|
||||
'address_contact_id': fields.many2one('res.partner.address', 'Contact Address', readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'address_invoice_id': fields.many2one('res.partner.address', 'Invoice Address', readonly=True, required=True, states={'draft':[('readonly',False)]}),
|
||||
|
|
|
@ -250,6 +250,12 @@ class sale_order(osv.osv):
|
|||
if created_lines:
|
||||
invoices.setdefault(o.partner_id.id, []).append((o, created_lines))
|
||||
|
||||
if not invoices:
|
||||
for o in self.browse(cr, uid, ids):
|
||||
for i in o.invoice_ids:
|
||||
if i.state == 'draft':
|
||||
return i.id
|
||||
|
||||
for val in invoices.values():
|
||||
if grouped:
|
||||
res = make_invoice(val[0][0], reduce(lambda x,y: x + y, [l for o,l in val], []))
|
||||
|
|
|
@ -51,10 +51,7 @@ ack_fields = {}
|
|||
|
||||
def _makeInvoices(self, cr, uid, data, context):
|
||||
order_obj = pooler.get_pool(cr.dbname).get('sale.order')
|
||||
invoices = {}
|
||||
for o in order_obj.browse(cr, uid, data['ids'], context):
|
||||
for i in o.invoice_ids:
|
||||
invoices[i.id] = False
|
||||
newinv = []
|
||||
|
||||
order_obj.action_invoice_create(cr, uid, data['ids'], data['form']['grouped'])
|
||||
for id in data['ids']:
|
||||
|
@ -63,12 +60,7 @@ def _makeInvoices(self, cr, uid, data, context):
|
|||
|
||||
for o in order_obj.browse(cr, uid, data['ids'], context):
|
||||
for i in o.invoice_ids:
|
||||
invoices.setdefault(i.id, True)
|
||||
|
||||
newinv = []
|
||||
for key,val in invoices.items():
|
||||
# if val:
|
||||
newinv.append(key)
|
||||
newinv.append(i.id)
|
||||
return {
|
||||
'domain': "[('id','in', ["+','.join(map(str,newinv))+"])]",
|
||||
'name': 'Invoices',
|
||||
|
|
Loading…
Reference in New Issue