diff --git a/openerp/addons/base/base_update.xml b/openerp/addons/base/base_update.xml
index 0b0604089de..17829994599 100644
--- a/openerp/addons/base/base_update.xml
+++ b/openerp/addons/base/base_update.xml
@@ -257,6 +257,9 @@
+
+
+
diff --git a/openerp/addons/base/res/res_company.py b/openerp/addons/base/res/res_company.py
index 7a6b7007833..5eb66a00df0 100644
--- a/openerp/addons/base/res/res_company.py
+++ b/openerp/addons/base/res/res_company.py
@@ -144,6 +144,7 @@ class res_company(osv.osv):
'website': fields.related('partner_id', 'website', string="Website", type="char", size=64),
'vat': fields.related('partner_id', 'vat', string="Tax ID", type="char", size=32),
'company_registry': fields.char('Company Registry', size=64),
+ 'paper_format': fields.selection([('a4', 'A4'), ('us_letter', 'US Letter')], "Paper Format")
}
_sql_constraints = [
('name_uniq', 'unique (name)', 'The company name must be unique !')
@@ -277,29 +278,31 @@ class res_company(osv.osv):
finally:
header_file.close()
except:
- return """
+ return self._header_a4
+
+ _header_main = """
-
+
- [[ company.logo or removeParentNode('image') ]]
+ [[ company.logo or removeParentNode('image') ]]
- 1.3cm 27.7cm 20cm 27.7cm
+ 1.3cm %s 20cm %s
- [[ company.rml_header1 ]]
+ [[ company.rml_header1 ]]
- [[ company.partner_id.name ]]
- [[ company.partner_id.address and company.partner_id.address[0].street or '' ]]
- [[ company.partner_id.address and company.partner_id.address[0].zip or '' ]] [[ company.partner_id.address and company.partner_id.address[0].city or '' ]] - [[ company.partner_id.address and company.partner_id.address[0].country_id and company.partner_id.address[0].country_id.name or '']]
- Phone:
- [[ company.partner_id.address and company.partner_id.address[0].phone or '' ]]
- Mail:
- [[ company.partner_id.address and company.partner_id.address[0].email or '' ]]
- 1.3cm 25.5cm 7cm 25.5cm
+ [[ company.partner_id.name ]]
+ [[ company.partner_id.address and company.partner_id.address[0].street or '' ]]
+ [[ company.partner_id.address and company.partner_id.address[0].zip or '' ]] [[ company.partner_id.address and company.partner_id.address[0].city or '' ]] - [[ company.partner_id.address and company.partner_id.address[0].country_id and company.partner_id.address[0].country_id.name or '']]
+ Phone:
+ [[ company.partner_id.address and company.partner_id.address[0].phone or '' ]]
+ Mail:
+ [[ company.partner_id.address and company.partner_id.address[0].email or '' ]]
+ 1.3cm %s 7cm %s
@@ -311,8 +314,20 @@ class res_company(osv.osv):
"""
+
+ _header_a4 = _header_main % ('23.0cm', '27.6cm', '27.7cm', '27.7cm', '27.8cm', '27.2cm', '26.8cm', '26.4cm', '26.0cm', '26.0cm', '25.6cm', '25.6cm', '25.5cm', '25.5cm')
+
+ def onchange_paper_format(self, cr, uid, ids, paper_format, context=None):
+ header = self._header_a4
+ if paper_format == 'us_letter':
+ header = self._header_main % ('21.3cm', '25.9cm', '26.0cm', '26.0cm',
+ '26.1cm', '25.5cm', '25.1cm', '24.7cm', '24.3cm', '24.3cm',
+ '23.9cm', '23.9cm', '23.8cm', '23.8cm')
+ return {'value': {'rml_header': header}}
+
_defaults = {
'currency_id': _get_euro,
+ 'paper_format': 'a4',
'rml_header':_get_header,
'rml_header2': _header2,
'rml_header3': _header3,