[FIX] account: centralize movement fixed

bzr revid: ach@tinyerp.com-20100623135806-458pw5csif1d0e2w
This commit is contained in:
Anup (OpenERP) 2010-06-23 19:28:06 +05:30
parent 6844dd588b
commit 08011d69f0
1 changed files with 2 additions and 4 deletions

View File

@ -1144,6 +1144,7 @@ class account_move(osv.osv):
return amount
def _centralise(self, cr, uid, move, mode, context=None):
assert(mode in ('debit', 'credit'), 'Invalid Mode') #to prevent sql injection
if context is None:
context = {}
@ -1191,10 +1192,7 @@ class account_move(osv.osv):
else:
line_id2 = 0
cr.execute('SELECT SUM('+mode+') '\
'FROM account_move_line '\
'WHERE move_id=%s AND id<>%s',
(move.id, line_id2))
cr.execute('SELECT SUM(%s) FROM account_move_line WHERE move_id=%%s AND id!=%%s' % (mode,), (move.id, line_id2))
result = cr.fetchone()[0] or 0.0
cr.execute('update account_move_line set '+mode2+'=%s where id=%s', (result, line_id))
return True