Only replace the docs key if it is missing.

pull/663/head
Jairo Llopis 2015-06-15 12:35:39 +02:00 committed by Du-ma
parent 8056e8bb04
commit 74dd8c23a6
1 changed files with 8 additions and 3 deletions

View File

@ -88,11 +88,16 @@ class XSDCheckedReport(models.AbstractModel):
@api.multi
def render_html(self, data=None):
"""Return the XML report after checking it against an XSD."""
"""Return the XML report after checking it against an XSD.
If ``context`` contains a dict called ``docargs``, it will be used as
the Qweb context. The special key ``docs`` will be added to ``docargs``
automatically if missing.
docargs = self.env.context.get("docargs", dict())
docargs["docs"] = (self.env[self.env.context["active_model"]]
.browse(self.env.context["active_ids"]))
xsd = etree.XMLSchema(etree.XML(self.xsd()))
if "docs" not in docargs:
docargs["docs"] = (self.env[self.env.context["active_model"]]
.browse(self.env.context["active_ids"]))
parser = etree.XMLParser(schema=xsd)
result = (self.env["report"]
.render(self._name[len("report."):], docargs)