[MODULE] +v1.1.0 from https://www.odoo.com/apps/7.0/account_financial_report_webkit/
[burette/account_financial_report_webkit.git] / wizard / partner_balance_wizard.py
1 # -*- encoding: utf-8 -*-
2 ##############################################################################
3 #
4 # Author: Guewen Baconnier
5 # Copyright Camptocamp SA 2011
6 #
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.
11 #
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.
16 #
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/>.
19 #
20 ##############################################################################
21
22 from openerp.osv import fields, orm
23
24
25 class AccountPartnerBalanceWizard(orm.TransientModel):
26 """Will launch partner balance report and pass required args"""
27
28 _inherit = "account.common.balance.report"
29 _name = "partner.balance.webkit"
30 _description = "Partner Balance Report"
31
32 _columns = {
33 'result_selection': fields.selection([('customer', 'Receivable Accounts'),
34 ('supplier', 'Payable Accounts'),
35 ('customer_supplier', 'Receivable and Payable Accounts')],
36 "Partner's", required=True),
37 'partner_ids': fields.many2many('res.partner', string='Filter on partner',
38 help="Only selected partners will be printed. Leave empty to print all partners."),
39 }
40
41 _defaults = {
42 'result_selection': 'customer_supplier',
43 }
44
45 def pre_print_report(self, cr, uid, ids, data, context=None):
46 data = super(AccountPartnerBalanceWizard, self).pre_print_report(cr, uid, ids, data, context)
47 vals = self.read(cr, uid, ids,
48 ['result_selection', 'partner_ids'],
49 context=context)[0]
50 data['form'].update(vals)
51 return data
52
53 def _print_report(self, cursor, uid, ids, data, context=None):
54 # we update form with display account value
55 data = self.pre_print_report(cursor, uid, ids, data, context=context)
56
57 return {'type': 'ir.actions.report.xml',
58 'report_name': 'account.account_report_partner_balance_webkit',
59 'datas': data}