summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Simonis <chs@openerp.com>2014-04-23 15:21:00 +0200
committerChristophe Simonis <chs@openerp.com>2014-04-23 15:21:00 +0200
commit9ed196bc8104ff0cf3f188ebcfcfcd08d26758bc (patch)
treebea5ac43cc37b34602c2d24da01e0a7051aec646
parent1b594f5cce8e99a6a120a326783df70ea2252a96 (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.xml6
-rw-r--r--addons/report/models/report_paperformat.py21
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'