[FIX] sale : _invoiced_search returns wrong results for unpaid
lp bug: https://launchpad.net/bugs/661653 fixed bzr revid: vth@tinyerp.com-20101103123007-uwzt1y1u5epqzubg
This commit is contained in:
parent
28b0d9cc48
commit
b648470328
|
@ -175,25 +175,26 @@ class sale_order(osv.osv):
|
||||||
return []
|
return []
|
||||||
clause = ''
|
clause = ''
|
||||||
no_invoiced = False
|
no_invoiced = False
|
||||||
|
sale_clause = ''
|
||||||
for arg in args:
|
for arg in args:
|
||||||
if arg[1] == '=':
|
if arg[1] == '=':
|
||||||
if arg[2]:
|
if arg[2]:
|
||||||
clause += 'AND inv.state = \'paid\''
|
clause += 'AND inv.state = \'paid\''
|
||||||
else:
|
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
|
no_invoiced = True
|
||||||
|
|
||||||
cursor.execute('SELECT rel.order_id ' \
|
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)
|
'WHERE rel.invoice_id = inv.id ' + clause)
|
||||||
|
|
||||||
res = cursor.fetchall()
|
res = cursor.fetchall()
|
||||||
if no_invoiced:
|
if no_invoiced:
|
||||||
cursor.execute('SELECT sale.id ' \
|
cursor.execute('SELECT sale.id ' \
|
||||||
'FROM sale_order AS sale ' \
|
'FROM sale_order AS sale ' \
|
||||||
'WHERE sale.id NOT IN ' \
|
'WHERE sale.id NOT IN ' \
|
||||||
'(SELECT rel.order_id ' \
|
'(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())
|
res.extend(cursor.fetchall())
|
||||||
if not res:
|
if not res:
|
||||||
return [('id', '=', 0)]
|
return [('id', '=', 0)]
|
||||||
|
|
Loading…
Reference in New Issue