From 9ed196bc8104ff0cf3f188ebcfcfcd08d26758bc Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Wed, 23 Apr 2014 15:21:00 +0200 Subject: [PATCH] [FIX] report: set a default paperformat for companies, based on rml paperformat bzr revid: chs@openerp.com-20140423132100-t6lmyd8qymoo4wqq --- addons/report/data/report_paperformat.xml | 6 +----- addons/report/models/report_paperformat.py | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/addons/report/data/report_paperformat.xml b/addons/report/data/report_paperformat.xml index 6b37c07d3b0..275d65edd13 100644 --- a/addons/report/data/report_paperformat.xml +++ b/addons/report/data/report_paperformat.xml @@ -32,9 +32,5 @@ 35 90 - - - - - \ No newline at end of file + diff --git a/addons/report/models/report_paperformat.py b/addons/report/models/report_paperformat.py index 6b84f3d3363..41a5e0a9950 100644 --- a/addons/report/models/report_paperformat.py +++ b/addons/report/models/report_paperformat.py @@ -19,6 +19,9 @@ # ############################################################################## +from functools import partial + +from openerp import SUPERUSER_ID from openerp.osv import osv, fields @@ -114,6 +117,24 @@ class res_company(osv.Model): _columns = {'paperformat_id': fields.many2one('report.paperformat', 'Paper format')} + def init(self, cr): + # set a default paperformat based on rml one. + ref = partial(self.pool['ir.model.data'].xmlid_to_res_id, cr, SUPERUSER_ID) + + ids = self.search(cr, SUPERUSER_ID, [('paperformat_id', '=', False)]) + for company in self.browse(cr, SUPERUSER_ID, ids): + paperformat_id = { + 'a4': ref('report.paperformat_euro'), + 'us_letter': ref('report.paperformat_us'), + }.get(company.rml_paper_format) or ref('report.paperformat_euro') + + if paperformat_id: + company.write({'paperformat_id': paperformat_id}) + + sup = super(res_company, self) + if hasattr(sup, 'init'): + sup.init(cr) + class ir_actions_report(osv.Model): _inherit = 'ir.actions.report.xml'