diff --git a/addons/report/controllers/main.py b/addons/report/controllers/main.py
index 01992d64c60..c6bc13d38f8 100644
--- a/addons/report/controllers/main.py
+++ b/addons/report/controllers/main.py
@@ -50,12 +50,7 @@ class ReportController(Controller):
if data.get('options'):
options_data = simplejson.loads(data['options'])
if data.get('context'):
- # Ignore 'lang' here, because the context in data is the one from the webclient *but* if
- # the user explicitely wants to change the lang, this mechanism overwrites it.
- data_context = simplejson.loads(data['context'])
- if data_context.get('lang'):
- del data_context['lang']
- context.update(data_context)
+ context.update(simplejson.loads(data['context']))
if converter == 'html':
html = report_obj.get_html(cr, uid, docids, reportname, data=options_data, context=context)
diff --git a/addons/report/models/report.py b/addons/report/models/report.py
index 5bfc79733e4..cbbee7fcebd 100644
--- a/addons/report/models/report.py
+++ b/addons/report/models/report.py
@@ -34,8 +34,10 @@ import lxml.html
import cStringIO
import subprocess
from distutils.version import LooseVersion
-from functools import partial
-from pyPdf import PdfFileWriter, PdfFileReader
+try:
+ from pyPdf import PdfFileWriter, PdfFileReader
+except ImportError:
+ PdfFileWriter = PdfFileReader = None
_logger = logging.getLogger(__name__)
@@ -69,6 +71,23 @@ class Report(osv.Model):
public_user = None
+ MINIMAL_HTML_PAGE = """
+