From 8084d846369fbba92a277b2a066143e32da28bb0 Mon Sep 17 00:00:00 2001 From: "nicolas.bessi@camptocamp.com" <> Date: Mon, 14 Mar 2011 18:14:29 +0100 Subject: [PATCH 01/20] [FIX] report webkit UTF-8 support and error in embed_image. Thank to Florent Xicluna for the patch bzr revid: nicolas.bessi@camptocamp.com-20110314171429-tmfet9ar3oelcws7 --- addons/report_webkit/report_helper.py | 2 +- addons/report_webkit/webkit_report.py | 20 ++++++++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/addons/report_webkit/report_helper.py b/addons/report_webkit/report_helper.py index db0c1c372fc..2b9d8c93256 100644 --- a/addons/report_webkit/report_helper.py +++ b/addons/report_webkit/report_helper.py @@ -48,7 +48,7 @@ class WebKitHelper(object): else : width = ' ' if height : - height = 'width="%spx"'%(height) + height = 'height="%spx"'%(height) else : height = ' ' toreturn = ''%( diff --git a/addons/report_webkit/webkit_report.py b/addons/report_webkit/webkit_report.py index 2944b768643..0157343074d 100644 --- a/addons/report_webkit/webkit_report.py +++ b/addons/report_webkit/webkit_report.py @@ -44,6 +44,16 @@ import addons from tools.translate import _ from osv.osv import except_osv + +def mako_template(text): + """Build a Mako template. + + This template uses UTF-8 encoding + """ + # default_filters=['unicode', 'h'] can be used to set global filters + return Template(text, input_encoding='utf-8', output_encoding='utf-8') + + class WebKitParser(report_sxw): """Custom class that use webkit to render HTML reports Code partially taken from report openoffice. Thanks guys :) @@ -98,7 +108,9 @@ class WebKitParser(report_sxw): else: command = ['wkhtmltopdf'] - command.append('-q') + command.append('--quiet') + # default to UTF-8 encoding. Use to override. + command.append("--encoding 'utf-8'") if header : head_file = file( os.path.join( tmp_dir, @@ -276,7 +288,7 @@ class WebKitParser(report_sxw): company= user.company_id #default_filters=['unicode', 'entity'] can be used to set global filter - body_mako_tpl = Template(template ,input_encoding='utf-8') + body_mako_tpl = mako_template(template) helper = WebKitHelper(cursor, uid, report_xml.id, context) try : html = body_mako_tpl.render( helper=helper, @@ -288,7 +300,7 @@ class WebKitParser(report_sxw): msg = exceptions.text_error_template().render() netsvc.Logger().notifyChannel('Webkit render', netsvc.LOG_ERROR, msg) raise except_osv(_('Webkit render'), msg) - head_mako_tpl = Template(header, input_encoding='utf-8') + head_mako_tpl = mako_template(header) try : head = head_mako_tpl.render( company=company, @@ -305,7 +317,7 @@ class WebKitParser(report_sxw): exceptions.text_error_template().render()) foot = False if footer : - foot_mako_tpl = Template(footer ,input_encoding='utf-8') + foot_mako_tpl = mako_template(footer) try : foot = foot_mako_tpl.render( company=company, From ab2ef137529aa24cbbc55c2949974527a81e3703 Mon Sep 17 00:00:00 2001 From: "nicolas.bessi@camptocamp.com" <> Date: Fri, 18 Mar 2011 11:22:45 +0100 Subject: [PATCH 02/20] [FIX] report webkit sample UTF-8 no filter on image. Thank to Florent Xicluna for the patch bzr revid: nicolas.bessi@camptocamp.com-20110318102245-302h2lbdf5r6czr2 --- addons/report_webkit/data.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/report_webkit/data.xml b/addons/report_webkit/data.xml index 508cf426860..a841631faaa 100644 --- a/addons/report_webkit/data.xml +++ b/addons/report_webkit/data.xml @@ -53,7 +53,7 @@
${helper.embed_logo_by_name('camptocamp_logo')} | +${helper.embed_logo_by_name('camptocamp_logo')|n} | |
Mail: ${company.partner_id.address and company.partner_id.address[0].email or ''|entity} |