diff options
| author | Christophe Simonis <chs@openerp.com> | 2014-04-23 15:21:00 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@openerp.com> | 2014-04-23 15:21:00 +0200 |
| commit | 9ed196bc8104ff0cf3f188ebcfcfcd08d26758bc (patch) | |
| tree | bea5ac43cc37b34602c2d24da01e0a7051aec646 | |
| parent | 1b594f5cce8e99a6a120a326783df70ea2252a96 (diff) | |
[FIX] report: set a default paperformat for companies, based on rml paperformat
bzr revid: chs@openerp.com-20140423132100-t6lmyd8qymoo4wqq
| -rw-r--r-- | addons/report/data/report_paperformat.xml | 6 | ||||
| -rw-r--r-- | 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 @@ <field name="header_spacing">35</field> <field name="dpi">90</field> </record> - - <record id="base.main_company" model="res.company"> - <field name="paperformat_id" ref="paperformat_euro"></field> - </record> </data> -</openerp>
\ No newline at end of file +</openerp> 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' |
