@@ -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>
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user