Reverese credit/debit values when cancelling a move

issue4538
review11901003
This commit is contained in:
Sergi Almacellas Abellana committed 2015-02-13 18:16:42 +01:00
1 parent 09cc054767
commit 50aca4ecfb
2 files changed
+22 -2

No files matched your search

+1
View File
@@ -12,6 +12,7 @@ def register():
OpenChartAccountStart,
AnalyticAccountEntry,
Line,
Move,
MoveLine,
module='analytic_account', type_='model')
Pool.register(
+21 -2
View File
@@ -6,9 +6,10 @@ from trytond.wizard import Wizard, StateAction
from trytond import backend
from trytond.pyson import Eval, PYSONEncoder
from trytond.transaction import Transaction
from trytond.pool import Pool
from trytond.pool import Pool, PoolMeta
__all__ = ['Line', 'MoveLine', 'OpenAccount']
__all__ = ['Line', 'Move', 'MoveLine', 'OpenAccount']
__metaclass__ = PoolMeta
class Line(ModelSQL, ModelView):
@@ -131,6 +132,24 @@ class Line(ModelSQL, ModelView):
(self.account.rec_name,))
class Move:
__name__ = 'account.move'
def cancel(self, default=None):
'Reverse credit/debit of analytic lines'
pool = Pool()
AnalyticLine = pool.get('analytic_account.line')
cancel_move = super(Move, self).cancel(default)
analytic_lines = []
for line in cancel_move.lines:
for analytic_line in line.analytic_lines:
analytic_line.debit, analytic_line.credit = (
analytic_line.credit, analytic_line.debit)
analytic_lines.append(analytic_line)
AnalyticLine.save(analytic_lines)
return cancel_move
class MoveLine(ModelSQL, ModelView):
__name__ = 'account.move.line'
analytic_lines = fields.One2Many('analytic_account.line', 'move_line',