bzr revid: fp@tinyerp.com-20100824124639-awmiog304b56tktm
This commit is contained in:
Fabien Pinckaers
2010-08-24 14:46:39 +02:00
parent 72dc8763e1
commit 6a645c2b15
3 changed files with 34 additions and 6 deletions
+4 -1
View File
@@ -195,7 +195,10 @@
<field colspan="4" name="rml_header" nolabel="1"/>
</page>
<page string="Internal Header/Footer" groups="base.group_extended">
<field colspan="4" name="rml_header2" nolabel="1"/>
<separator string="Portrait" colspan="2"/>
<separator string="Landscape" colspan="2"/>
<field colspan="2" name="rml_header2" nolabel="1"/>
<field colspan="2" name="rml_header3" nolabel="1"/>
</page>
<page string="Configuration">
</page>
+22 -1
View File
@@ -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 """
<header>
<pageTemplate>
<frame id="first" x1="25" y1="25" width="1070" height="717"/>
<pageGraphics>
<fill color="black"/>
<stroke color="black"/>
<setFont name="DejaVu Sans" size="8"/>
<drawString x="25" y="725"> [[ formatLang(time.strftime("%Y-%m-%d"), date=True) ]] [[ time.strftime("%H:%M") ]]</drawString>
<setFont name="DejaVu Sans Bold" size="10"/>
<drawString x="490" y="725">[[ company.partner_id.name ]]</drawString>
<setFont name="DejaVu Sans" size="8"/>
<drawRightString x="1065" y="725"><pageNumber/>/ </drawRightString>
<drawString x="1065" y="725"><pageCount/></drawString>
<stroke color="#000000"/>
<lines>25 720 1085 720</lines>
</pageGraphics>
</pageTemplate>
</header>"""
def _get_header2(self,cr,uid,ids):
return """
<header>
@@ -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
}
+8 -4
View File
@@ -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