From 6a645c2b15b528b8c8489bbb93e0a7cfc2c6617e Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Tue, 24 Aug 2010 14:46:39 +0200 Subject: [PATCH] merge bzr revid: fp@tinyerp.com-20100824124639-awmiog304b56tktm --- bin/addons/base/base_update.xml | 5 ++++- bin/addons/base/res/res_company.py | 23 ++++++++++++++++++++++- bin/report/report_sxw.py | 12 ++++++++---- 3 files changed, 34 insertions(+), 6 deletions(-) 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