[13.0][MIG] report_context

pull/437/head
Jaime Arroyo 2020-09-30 12:30:43 +02:00
parent 89f4177fbd
commit d1d0db8727
5 changed files with 26 additions and 19 deletions

View File

@ -14,13 +14,13 @@ Report Context
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3 :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github
:target: https://github.com/OCA/reporting-engine/tree/12.0/report_context :target: https://github.com/OCA/reporting-engine/tree/13.0/report_context
:alt: OCA/reporting-engine :alt: OCA/reporting-engine
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/reporting-engine-12-0/reporting-engine-12-0-report_context :target: https://translation.odoo-community.org/projects/reporting-engine-13-0/reporting-engine-13-0-report_context
:alt: Translate me on Weblate :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/143/12.0 :target: https://runbot.odoo-community.org/runbot/143/13.0
:alt: Try me on Runbot :alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5| |badge1| |badge2| |badge3| |badge4| |badge5|
@ -54,14 +54,13 @@ It can also be added on the developer side using::
<field name="context">YOUR CONTEXT HERE</field> <field name="context">YOUR CONTEXT HERE</field>
</record> </record>
Bug Tracker Bug Tracker
=========== ===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/reporting-engine/issues>`_. Bugs are tracked on `GitHub Issues <https://github.com/OCA/reporting-engine/issues>`_.
In case of trouble, please check there if your issue has already been reported. In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/reporting-engine/issues/new?body=module:%20report_context%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. `feedback <https://github.com/OCA/reporting-engine/issues/new?body=module:%20report_context%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues. Do not contact contributors directly about support or help with technical issues.
@ -91,6 +90,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and mission is to support the collaborative development of Odoo features and
promote its widespread use. promote its widespread use.
This module is part of the `OCA/reporting-engine <https://github.com/OCA/reporting-engine/tree/12.0/report_context>`_ project on GitHub. This module is part of the `OCA/reporting-engine <https://github.com/OCA/reporting-engine/tree/13.0/report_context>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

@ -5,7 +5,7 @@
"name": "Report Context", "name": "Report Context",
"summary": """ "summary": """
Adding context to reports""", Adding context to reports""",
"version": "12.0.1.0.0", "version": "13.0.1.0.0",
"license": "AGPL-3", "license": "AGPL-3",
"author": "Creu Blanca,Odoo Community Association (OCA)", "author": "Creu Blanca,Odoo Community Association (OCA)",
"website": "https://github.com/OCA/reporting-engine", "website": "https://github.com/OCA/reporting-engine",

View File

@ -1,6 +1,6 @@
# Copyright 2019 Creu Blanca # Copyright 2019 Creu Blanca
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import api, fields, models from odoo import fields, models
from odoo.tools.safe_eval import safe_eval from odoo.tools.safe_eval import safe_eval
@ -29,13 +29,11 @@ class IrActionsReport(models.Model):
context.update(self.env.context) context.update(self.env.context)
return context return context
@api.multi
def render(self, res_ids, data=None): def render(self, res_ids, data=None):
return super(IrActionsReport, self.with_context(self._get_context())).render( return super(IrActionsReport, self.with_context(self._get_context())).render(
res_ids, data=data res_ids, data=data
) )
@api.noguess
def report_action(self, docids, data=None, config=True): def report_action(self, docids, data=None, config=True):
return super( return super(
IrActionsReport, self.with_context(self._get_context()) IrActionsReport, self.with_context(self._get_context())

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.15.1: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.16: http://docutils.sourceforge.net/" />
<title>Report Context</title> <title>Report Context</title>
<style type="text/css"> <style type="text/css">
@ -367,7 +367,7 @@ ul.auto-toc {
!! This file is generated by oca-gen-addon-readme !! !! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !! !! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/reporting-engine/tree/12.0/report_context"><img alt="OCA/reporting-engine" src="https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/reporting-engine-12-0/reporting-engine-12-0-report_context"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/143/12.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p> <p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/reporting-engine/tree/13.0/report_context"><img alt="OCA/reporting-engine" src="https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/reporting-engine-13-0/reporting-engine-13-0-report_context"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/143/13.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>This module adds a context variable to reports. A possible use for this <p>This module adds a context variable to reports. A possible use for this
context could be hiding some fields or many other configuration options.</p> context could be hiding some fields or many other configuration options.</p>
<p><strong>Table of contents</strong></p> <p><strong>Table of contents</strong></p>
@ -409,7 +409,7 @@ all reports.</li>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/reporting-engine/issues">GitHub Issues</a>. <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/reporting-engine/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported. In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/reporting-engine/issues/new?body=module:%20report_context%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p> <a class="reference external" href="https://github.com/OCA/reporting-engine/issues/new?body=module:%20report_context%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p> <p>Do not contact contributors directly about support or help with technical issues.</p>
</div> </div>
<div class="section" id="credits"> <div class="section" id="credits">
@ -433,7 +433,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose <p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and mission is to support the collaborative development of Odoo features and
promote its widespread use.</p> promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/reporting-engine/tree/12.0/report_context">OCA/reporting-engine</a> project on GitHub.</p> <p>This module is part of the <a class="reference external" href="https://github.com/OCA/reporting-engine/tree/13.0/report_context">OCA/reporting-engine</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p> <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div> </div>
</div> </div>

View File

@ -12,7 +12,9 @@ class TestReportContext(TransactionCase):
) )
report.write({"context": '{"test_parameter": 2}'}) report.write({"context": '{"test_parameter": 2}'})
action = report.with_context(test_parameter=3).report_action(company) action = report.with_context(test_parameter=3).report_action(company)
self.assertEqual(3, action["context"]["test_parameter"]) self.assertEqual(
3, action["context"]["report_action"]["context"]["test_parameter"]
)
def test_report_02(self): def test_report_02(self):
company = self.browse_ref("base.main_company") company = self.browse_ref("base.main_company")
@ -22,7 +24,9 @@ class TestReportContext(TransactionCase):
) )
report.write({"context": '{"test_parameter": 2}'}) report.write({"context": '{"test_parameter": 2}'})
action = report.report_action(company) action = report.report_action(company)
self.assertEqual(2, action["context"]["test_parameter"]) self.assertEqual(
2, action["context"]["report_action"]["context"]["test_parameter"]
)
def test_report_03(self): def test_report_03(self):
company = self.browse_ref("base.main_company") company = self.browse_ref("base.main_company")
@ -31,14 +35,18 @@ class TestReportContext(TransactionCase):
"report.default.context", '{"test_parameter": 1}' "report.default.context", '{"test_parameter": 1}'
) )
action = report.with_context(test_parameter=3).report_action(company) action = report.with_context(test_parameter=3).report_action(company)
self.assertEqual(3, action["context"]["test_parameter"]) self.assertEqual(
3, action["context"]["report_action"]["context"]["test_parameter"]
)
def test_report_04(self): def test_report_04(self):
company = self.browse_ref("base.main_company") company = self.browse_ref("base.main_company")
report = self.browse_ref("web.action_report_internalpreview") report = self.browse_ref("web.action_report_internalpreview")
report.write({"context": '{"test_parameter": 2}'}) report.write({"context": '{"test_parameter": 2}'})
action = report.report_action(company) action = report.report_action(company)
self.assertEqual(2, action["context"]["test_parameter"]) self.assertEqual(
2, action["context"]["report_action"]["context"]["test_parameter"]
)
def test_report_05(self): def test_report_05(self):
company = self.browse_ref("base.main_company") company = self.browse_ref("base.main_company")
@ -47,4 +55,6 @@ class TestReportContext(TransactionCase):
"report.default.context", '{"test_parameter": 1}' "report.default.context", '{"test_parameter": 1}'
) )
action = report.report_action(company) action = report.report_action(company)
self.assertEqual(1, action["context"]["test_parameter"]) self.assertEqual(
1, action["context"]["report_action"]["context"]["test_parameter"]
)