[IMP] report_webkit: some improvements including a demo report and a better default header

bzr revid: nicolas.vanhoren@openerp.com-20130225163717-wf3aley43qgzobg5
This commit is contained in:
niv-openerp 2013-02-25 17:37:17 +01:00
commit 63346192fc
7 changed files with 50 additions and 7 deletions

View File

@ -89,6 +89,9 @@ TODO:
'header_view.xml',
'ir_report_view.xml',
],
'demo': [
"report/webkit_report_demo.xml",
],
'installable': True,
'auto_install': False,
'images': ['images/companies_webkit.jpeg','images/header_html.jpeg','images/header_img.jpeg'],

View File

@ -55,7 +55,7 @@
<body style="border:0; margin: 0;" onload="subst()">
<table class="header" style="border-bottom: 0px solid black; width: 100%">
<tr>
<td>${helper.embed_logo_by_name('camptocamp_logo')|n}</td>
<td>${helper.embed_company_logo()|n}</td>
<td style="text-align:right"> </td>
</tr>
<tr>

View File

@ -45,7 +45,7 @@ def register_report(name, model, tmpl_path, parser=rml_parse):
return
if hasattr(service, 'parser'):
parser = service.parser
del openerp.report.interface.report_int[name]
del openerp.report.interface.report_int._reports[name]
WebKitParser(name, model, tmpl_path, parser=parser)

View File

@ -7,11 +7,13 @@
<field name="arch" type="xml">
<xpath expr="//page[@string='Security']" position="before" >
<page string="Webkit" attrs="{'invisible':[('report_type','!=','webkit')]}">
<field name="webkit_header"/>
<field name="webkit_debug"/>
<field name="precise_mode"/>
<separator string="Webkit Template (used if Report File is not found)" colspan="4"/>
<field name="report_webkit_data" colspan="4" nolabel="1"/>
<group>
<field name="webkit_header"/>
<field name="webkit_debug"/>
<field name="precise_mode"/>
<separator string="Webkit Template (used if Report File is not found)" colspan="4"/>
<field name="report_webkit_data" colspan="4" nolabel="1"/>
</group>
</page>
</xpath>
</field>

View File

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<head>
<style type="text_css">${css}</style>
</head>
<body>
<h1>List of reports:</h1>
<ul>
% for report in objects:
<li>${report.name}</li>
% endfor
</ul>
<p>If this report does not contain headers, it is because you have a badly compiled wkhtmltopdf. Consider installing
the static version distributed on the official web site: <a href="https://code.google.com/p/wkhtmltopdf/">https://code.google.com/p/wkhtmltopdf/</a>.</p>
</body>
</html>

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<report string="Report on reports"
id="webkit_demo_report"
model="ir.actions.report.xml"
name="webkit.ir.actions.report.xml"
file="report_webkit/report/webkit_report_demo.mako"
report_type="webkit"/>
</data>
</openerp>

View File

@ -39,6 +39,7 @@ class WebKitHelper(object):
self.uid = uid
self.pool = pooler.get_pool(self.cursor.dbname)
self.report_id = report_id
self.context = context
def embed_image(self, type, img, width=0, height=0) :
"Transform a DB image into an embedded HTML image"
@ -79,6 +80,13 @@ class WebKitHelper(object):
"""Return HTML embedded logo by name"""
img, type = self.get_logo_by_name(name)
return self.embed_image(type, img, width, height)
def embed_company_logo(self, width=0, height=0):
cr, uid, context = self.cursor, self.uid, self.context
my_user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
logo = my_user.company_id.logo_web
return self.embed_image("png", logo, width, height)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: