Reviewers: ,
Please review this at http://codereview.tryton.org/721002/
Affected files:
M account.py
M general_ledger.odt
Index: account.py
===================================================================
--- a/account.py
+++ b/account.py
@@ -1200,7 +1200,6 @@
end_periods, data['posted'])
for account in (set(accounts) - set(account2lines)):
accounts.remove(account)
- account_id2lines = None
account_id2lines = cls.lines(accounts,
list(set(end_periods).difference(set(start_periods))),
@@ -1248,10 +1247,15 @@
balance += line.debit - line.credit
res[account.id].append({
'date': line.date,
+ 'move': line.move.rec_name,
'debit': line.debit,
'credit': line.credit,
'balance': balance,
- 'name': line.description,
+ 'description': '\n'.join(
+ (line.move.description or '',
+ line.description or '')).strip(),
+ 'origin': (line.move.origin.rec_name
+ if line.move.origin else ''),
'state': state_selections.get(line.move.state,
line.move.state),
})
Index: general_ledger.odt
===================================================================
index
e66c5f200a0eeb2afcf98204dd8a0d15646e8e6c..60633c52fb2c69f2fb691382e5c468af14072d54
GIT binary patch
literal 14809
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
XFt4GEg8D<@!QH3$4o1fRBlmv*ZPjq^