[MERGE] Sale: sale/sale.py _invoiced_search returns wrong results for unpaid (VTH branch)

bzr revid: mra@mra-laptop-20101103130852-mrqfxmsub9no8ucz
This commit is contained in:
Mustufa Rangwala
2010-11-03 18:38:52 +05:30
2 changed files with 6 additions and 4 deletions
@@ -162,7 +162,6 @@ class account_move_journal(osv.osv_memory):
result = data_pool.get_object_reference(cr, uid, 'account', 'view_account_move_line_filter')
res_id = result and result[1] or False
return {
'name': name,
'view_type': 'form',
+6 -3
View File
@@ -174,16 +174,19 @@ class sale_order(osv.osv):
if not len(args):
return []
clause = ''
sale_clause = ''
no_invoiced = False
for arg in args:
if arg[1] == '=':
if arg[2]:
clause += 'AND inv.state = \'paid\''
else:
clause += 'AND inv.state <> \'paid\''
clause += 'AND inv.state != \'cancel\' AND sale.state != \'cancel\' AND inv.state <> \'paid\' AND rel.order_id = sale.id '
sale_clause = ', sale_order AS sale '
no_invoiced = True
cursor.execute('SELECT rel.order_id ' \
'FROM sale_order_invoice_rel AS rel, account_invoice AS inv ' \
'FROM sale_order_invoice_rel AS rel, account_invoice AS inv '+ sale_clause + \
'WHERE rel.invoice_id = inv.id ' + clause)
res = cursor.fetchall()
if no_invoiced:
@@ -191,7 +194,7 @@ class sale_order(osv.osv):
'FROM sale_order AS sale ' \
'WHERE sale.id NOT IN ' \
'(SELECT rel.order_id ' \
'FROM sale_order_invoice_rel AS rel)')
'FROM sale_order_invoice_rel AS rel) and sale.state != \'cancel\'')
res.extend(cursor.fetchall())
if not res:
return [('id', '=', 0)]