[FIX] account: Cancel of invoice throws error, validate of move_id is invalid
lp bug: https://launchpad.net/bugs/746544 fixed bzr revid: ara@tinyerp.com-20110401124804-rvbqlbaosphsqv8c
This commit is contained in:
@@ -1085,15 +1085,26 @@ class account_move_line(osv.osv):
|
||||
if context is None:
|
||||
context = {}
|
||||
move_obj = self.pool.get('account.move')
|
||||
analytic_obj = self.pool.get('account.analytic.line')
|
||||
self._update_check(cr, uid, ids, context)
|
||||
result = False
|
||||
move_ids = set()
|
||||
analytic_ids = set()
|
||||
move_line_ids = set()
|
||||
for line in self.browse(cr, uid, ids, context=context):
|
||||
move_ids.add(line.move_id.id)
|
||||
context['journal_id'] = line.journal_id.id
|
||||
context['period_id'] = line.period_id.id
|
||||
result = super(account_move_line, self).unlink(cr, uid, [line.id], context=context)
|
||||
move_line_ids.add(line.id)
|
||||
for obj in line.analytic_lines:
|
||||
analytic_ids.add(obj.id)
|
||||
|
||||
analytic_ids = list(analytic_ids)
|
||||
move_ids = list(move_ids)
|
||||
|
||||
if analytic_ids:
|
||||
analytic_obj.unlink(cr,uid, analytic_ids, context=context)
|
||||
result = super(account_move_line, self).unlink(cr, uid, list(move_line_ids), context=context)
|
||||
if check and move_ids:
|
||||
move_obj.validate(cr, uid, move_ids, context=context)
|
||||
return result
|
||||
|
||||
Reference in New Issue
Block a user