diff --git a/bin/addons/base/base_update.xml b/bin/addons/base/base_update.xml
index e1f6519de20..08f235c8215 100644
--- a/bin/addons/base/base_update.xml
+++ b/bin/addons/base/base_update.xml
@@ -195,7 +195,10 @@
-
+
+
+
+
diff --git a/bin/addons/base/res/res_company.py b/bin/addons/base/res/res_company.py
index 3601e57d321..d061da86f9d 100644
--- a/bin/addons/base/res/res_company.py
+++ b/bin/addons/base/res/res_company.py
@@ -82,6 +82,7 @@ class res_company(osv.osv):
'rml_footer2': fields.char('Report Footer 2', size=200),
'rml_header' : fields.text('RML Header'),
'rml_header2' : fields.text('RML Internal Header'),
+ 'rml_header3' : fields.text('RML Internal Header'),
'logo' : fields.binary('Logo'),
'currency_id': fields.many2one('res.currency', 'Currency', required=True),
'currency_ids': fields.one2many('res.currency', 'company_id', 'Currency'),
@@ -190,7 +191,26 @@ class res_company(osv.osv):
tools.config['root_path'], '..', 'pixmaps', 'openerp-header.png'),
'rb') .read().encode('base64')
-
+ def _get_header3(self,cr,uid,ids):
+ return """
+
+
+
+
+
+
+
+ [[ formatLang(time.strftime("%Y-%m-%d"), date=True) ]] [[ time.strftime("%H:%M") ]]
+
+ [[ company.partner_id.name ]]
+
+ /
+
+
+ 25 720 1085 720
+
+
+"""
def _get_header2(self,cr,uid,ids):
return """
@@ -253,6 +273,7 @@ class res_company(osv.osv):
'currency_id': _get_euro,
'rml_header':_get_header,
'rml_header2': _get_header2,
+ 'rml_header3': _get_header3,
'logo':_get_logo
}
diff --git a/bin/report/report_sxw.py b/bin/report/report_sxw.py
index e93602947e1..6e7c6b95696 100644
--- a/bin/report/report_sxw.py
+++ b/bin/report/report_sxw.py
@@ -174,6 +174,7 @@ class rml_parse(object):
self.localcontext.update(context)
self.rml_header = user.company_id.rml_header
self.rml_header2 = user.company_id.rml_header2
+ self.rml_header3 = user.company_id.rml_header3
self.logo = user.company_id.logo
self.name = name
self._node = None
@@ -293,10 +294,12 @@ class rml_parse(object):
return text
def _add_header(self, rml_dom, header='external'):
- if header=='external':
- rml_head = self.rml_header
- else:
+ if header=='internal':
rml_head = self.rml_header2
+ elif header=='internal landscape':
+ rml_head = self.rml_header3
+ else:
+ rml_head = self.rml_header
head_dom = etree.XML(rml_head)
for tag in head_dom:
@@ -321,7 +324,7 @@ class rml_parse(object):
self.localcontext.update({'name_space' :common.sxw_namespace})
class report_sxw(report_rml, preprocess.report):
- def __init__(self, name, table, rml=False, parser=rml_parse, header=True, store=False):
+ def __init__(self, name, table, rml=False, parser=rml_parse, header='external', store=False):
report_rml.__init__(self, name, table, rml, '')
self.name = name
self.parser = parser
@@ -348,6 +351,7 @@ class report_sxw(report_rml, preprocess.report):
for key,arg in argv.items():
setattr(self, key, arg)
report_xml = a(title=title, report_type=report_type, report_rml_content=rml, name=title, attachment=False, header=self.header)
+ report_xml.header = self.header
report_type = report_xml.report_type
if report_type in ['sxw','odt']:
fnct = self.create_source_odt