1 # -*- encoding: utf-8 -*-
2 ##############################################################################
4 # Author: Guewen Baconnier
5 # Copyright Camptocamp SA 2011
7 # This program is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU Affero General Public License as
9 # published by the Free Software Foundation, either version 3 of the
10 # License, or (at your option) any later version.
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU Affero General Public License for more details.
17 # You should have received a copy of the GNU Affero General Public License
18 # along with this program. If not, see <http://www.gnu.org/licenses/>.
20 ##############################################################################
23 from datetime
import datetime
25 from openerp
import pooler
26 from openerp
.report
import report_sxw
27 from openerp
.tools
.translate
import _
28 from .common_balance_reports
import CommonBalanceReportHeaderWebkit
29 from .webkit_parser_header_fix
import HeaderFooterTextWebKitParser
36 class TrialBalanceWebkit(report_sxw
.rml_parse
, CommonBalanceReportHeaderWebkit
):
38 def __init__(self
, cursor
, uid
, name
, context
):
39 super(TrialBalanceWebkit
, self
).__init
__(cursor
, uid
, name
, context
=context
)
40 self
.pool
= pooler
.get_pool(self
.cr
.dbname
)
43 company
= self
.pool
.get('res.users').browse(self
.cr
, uid
, uid
, context
=context
).company_id
44 header_report_name
= ' - '.join((_('TRIAL BALANCE'), company
.name
, company
.currency_id
.name
))
46 footer_date_time
= self
.formatLang(str(datetime
.today()), date_time
=True)
48 self
.localcontext
.update({
51 'report_name': _('Trial Balance'),
52 'display_account': self
._get
_display
_account
,
53 'display_account_raw': self
._get
_display
_account
_raw
,
54 'filter_form': self
._get
_filter
,
55 'target_move': self
._get
_target
_move
,
56 'display_target_move': self
._get
_display
_target
_move
,
57 'accounts': self
._get
_accounts
_br
,
59 ('--header-font-name', 'Helvetica'),
60 ('--footer-font-name', 'Helvetica'),
61 ('--header-font-size', '10'),
62 ('--footer-font-size', '6'),
63 ('--header-left', header_report_name
),
64 ('--header-spacing', '2'),
65 ('--footer-left', footer_date_time
),
66 ('--footer-right', ' '.join((_('Page'), '[page]', _('of'), '[topage]'))),
71 def set_context(self
, objects
, data
, ids
, report_type
=None):
72 """Populate a ledger_lines attribute on each browse record that will be used
74 objects
, new_ids
, context_report_values
= self
.compute_balance_data(data
)
76 self
.localcontext
.update(context_report_values
)
78 return super(TrialBalanceWebkit
, self
).set_context(objects
, data
, new_ids
,
79 report_type
=report_type
)
81 HeaderFooterTextWebKitParser('report.account.account_report_trial_balance_webkit',
83 'addons/account_financial_report_webkit/report/templates/account_report_trial_balance.mako',
84 parser
=TrialBalanceWebkit
)