From ac204fb4ab5969bb59b484f7d91cbebc10213fb4 Mon Sep 17 00:00:00 2001 From: "matthieu.saison" Date: Thu, 14 Dec 2023 16:34:08 +0100 Subject: [PATCH 1/5] [ADD] report_generate_helper --- report_generate_helper/README.rst | 76 ++++ report_generate_helper/__init__.py | 1 + report_generate_helper/__manifest__.py | 13 + report_generate_helper/models/__init__.py | 1 + .../models/report_helper.py | 30 ++ .../readme/CONTRIBUTORS.rst | 1 + report_generate_helper/readme/DESCRIPTION.rst | 1 + .../static/description/index.html | 424 ++++++++++++++++++ report_generate_helper/tests/__init__.py | 1 + .../tests/test_report_generate_helper.py | 7 + .../odoo/addons/report_generate_helper | 1 + setup/report_generate_helper/setup.py | 6 + 12 files changed, 562 insertions(+) create mode 100644 report_generate_helper/README.rst create mode 100644 report_generate_helper/__init__.py create mode 100644 report_generate_helper/__manifest__.py create mode 100644 report_generate_helper/models/__init__.py create mode 100644 report_generate_helper/models/report_helper.py create mode 100644 report_generate_helper/readme/CONTRIBUTORS.rst create mode 100644 report_generate_helper/readme/DESCRIPTION.rst create mode 100644 report_generate_helper/static/description/index.html create mode 100644 report_generate_helper/tests/__init__.py create mode 100644 report_generate_helper/tests/test_report_generate_helper.py create mode 120000 setup/report_generate_helper/odoo/addons/report_generate_helper create mode 100644 setup/report_generate_helper/setup.py diff --git a/report_generate_helper/README.rst b/report_generate_helper/README.rst new file mode 100644 index 0000000000..44eb87a0b6 --- /dev/null +++ b/report_generate_helper/README.rst @@ -0,0 +1,76 @@ +====================== +Report Generate Helper +====================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:800d294f64e8645f5e8ccc3ae112dc5f17e099e22d0e018b05c1d35e3102ad4e + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github + :target: https://github.com/OCA/reporting-engine/tree/16.0/report_generate_helper + :alt: OCA/reporting-engine +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/reporting-engine-16-0/reporting-engine-16-0-report_generate_helper + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/reporting-engine&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module allows you to get a report from a record by passing the report name. + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Akretion + +Contributors +~~~~~~~~~~~~ + +* * Matthieu Saison + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/reporting-engine `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/report_generate_helper/__init__.py b/report_generate_helper/__init__.py new file mode 100644 index 0000000000..0650744f6b --- /dev/null +++ b/report_generate_helper/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/report_generate_helper/__manifest__.py b/report_generate_helper/__manifest__.py new file mode 100644 index 0000000000..83e96cef18 --- /dev/null +++ b/report_generate_helper/__manifest__.py @@ -0,0 +1,13 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +{ + "name": "Report Generate Helper", + "version": "16.0.1.0.0", + "summary": "Helper to easily generate report", + "author": "Akretion, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/reporting-engine", + "license": "AGPL-3", + "category": "Reporting", + "depends": [ + "base", + ], +} diff --git a/report_generate_helper/models/__init__.py b/report_generate_helper/models/__init__.py new file mode 100644 index 0000000000..e3045815c5 --- /dev/null +++ b/report_generate_helper/models/__init__.py @@ -0,0 +1 @@ +from . import report_helper diff --git a/report_generate_helper/models/report_helper.py b/report_generate_helper/models/report_helper.py new file mode 100644 index 0000000000..cd013eb470 --- /dev/null +++ b/report_generate_helper/models/report_helper.py @@ -0,0 +1,30 @@ +# Copyright 2023 Akretion (https://www.akretion.com). +# @author Matthieu SAISON +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import models +from odoo.tools.safe_eval import safe_eval, time + + +class Base(models.AbstractModel): + _inherit = "base" + + def _get_report_converter(self): + return f"_render_{self.report_type.replace('-', '_')}" + + def get_report(self, report_name): + report = self.env["ir.actions.report"]._get_report(report_name) + + method_name = report._get_report_converter() + method = getattr(self.env["ir.actions.report"].sudo(), method_name) + content, extension = method(report_name, self.ids) + + if report.print_report_name and len(self) == 1: + report_name = safe_eval( + report.print_report_name, {"object": self, "time": time} + ) + else: + report_name = report.name + filename = "%s.%s" % (report_name, extension) + + return filename, content diff --git a/report_generate_helper/readme/CONTRIBUTORS.rst b/report_generate_helper/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000000..434568c321 --- /dev/null +++ b/report_generate_helper/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* * Matthieu Saison \ No newline at end of file diff --git a/report_generate_helper/readme/DESCRIPTION.rst b/report_generate_helper/readme/DESCRIPTION.rst new file mode 100644 index 0000000000..90ac5e5ced --- /dev/null +++ b/report_generate_helper/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This module allows you to get a report from a record by passing the report name. diff --git a/report_generate_helper/static/description/index.html b/report_generate_helper/static/description/index.html new file mode 100644 index 0000000000..418264c06f --- /dev/null +++ b/report_generate_helper/static/description/index.html @@ -0,0 +1,424 @@ + + + + + + +Report Generate Helper + + + +
+

Report Generate Helper

+ + +

Beta License: AGPL-3 OCA/reporting-engine Translate me on Weblate Try me on Runboat

+

This module allows you to get a report from a record by passing the report name.

+

Table of contents

+ +
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Akretion
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/reporting-engine project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/report_generate_helper/tests/__init__.py b/report_generate_helper/tests/__init__.py new file mode 100644 index 0000000000..113ab544ff --- /dev/null +++ b/report_generate_helper/tests/__init__.py @@ -0,0 +1 @@ +from . import test_report_generate_helper diff --git a/report_generate_helper/tests/test_report_generate_helper.py b/report_generate_helper/tests/test_report_generate_helper.py new file mode 100644 index 0000000000..7740bd7249 --- /dev/null +++ b/report_generate_helper/tests/test_report_generate_helper.py @@ -0,0 +1,7 @@ +from odoo.tests import common + + +class TestReportLabel(common.TransactionCase): + def test_get_report(self): + module = self.env["ir.module.module"].search([])[1] + self.assertTrue(module.get_report("base.report_irmodulereference")) diff --git a/setup/report_generate_helper/odoo/addons/report_generate_helper b/setup/report_generate_helper/odoo/addons/report_generate_helper new file mode 120000 index 0000000000..e1494ce195 --- /dev/null +++ b/setup/report_generate_helper/odoo/addons/report_generate_helper @@ -0,0 +1 @@ +../../../../report_generate_helper \ No newline at end of file diff --git a/setup/report_generate_helper/setup.py b/setup/report_generate_helper/setup.py new file mode 100644 index 0000000000..28c57bb640 --- /dev/null +++ b/setup/report_generate_helper/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From b3c7b2fcc687bfc48500d2fc52c040a9ae9b84e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20BEAU?= Date: Mon, 3 Jun 2024 19:03:49 +0200 Subject: [PATCH 2/5] report_generate_helper: change method name, clean code, update doc --- report_generate_helper/models/__init__.py | 3 ++- .../models/{report_helper.py => base.py} | 11 +++++++---- report_generate_helper/models/ir_actions_report.py | 13 +++++++++++++ .../tests/test_report_generate_helper.py | 2 +- 4 files changed, 23 insertions(+), 6 deletions(-) rename report_generate_helper/models/{report_helper.py => base.py} (71%) create mode 100644 report_generate_helper/models/ir_actions_report.py diff --git a/report_generate_helper/models/__init__.py b/report_generate_helper/models/__init__.py index e3045815c5..cb428c1371 100644 --- a/report_generate_helper/models/__init__.py +++ b/report_generate_helper/models/__init__.py @@ -1 +1,2 @@ -from . import report_helper +from . import base +from . import ir_actions_report diff --git a/report_generate_helper/models/report_helper.py b/report_generate_helper/models/base.py similarity index 71% rename from report_generate_helper/models/report_helper.py rename to report_generate_helper/models/base.py index cd013eb470..0ec2ca3075 100644 --- a/report_generate_helper/models/report_helper.py +++ b/report_generate_helper/models/base.py @@ -9,14 +9,17 @@ class Base(models.AbstractModel): _inherit = "base" - def _get_report_converter(self): - return f"_render_{self.report_type.replace('-', '_')}" + def _generate_report(self, report_name): + """ + Generate the report matching the report_name for the self object - def get_report(self, report_name): + The method will return a tuple with the name of the field and the content + return (filename, content) + """ report = self.env["ir.actions.report"]._get_report(report_name) method_name = report._get_report_converter() - method = getattr(self.env["ir.actions.report"].sudo(), method_name) + method = getattr(self.env["ir.actions.report"], method_name) content, extension = method(report_name, self.ids) if report.print_report_name and len(self) == 1: diff --git a/report_generate_helper/models/ir_actions_report.py b/report_generate_helper/models/ir_actions_report.py new file mode 100644 index 0000000000..7ae3c68c72 --- /dev/null +++ b/report_generate_helper/models/ir_actions_report.py @@ -0,0 +1,13 @@ +# Copyright 2024 Akretion (https://www.akretion.com). +# @author Sébastien BEAU +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + + +from odoo import models + + +class IrActionsActions(models.Model): + _inherit = "ir.actions.report" + + def _get_report_converter(self): + return f"_render_{self.report_type.replace('-', '_')}" diff --git a/report_generate_helper/tests/test_report_generate_helper.py b/report_generate_helper/tests/test_report_generate_helper.py index 7740bd7249..9df4f35e3a 100644 --- a/report_generate_helper/tests/test_report_generate_helper.py +++ b/report_generate_helper/tests/test_report_generate_helper.py @@ -4,4 +4,4 @@ class TestReportLabel(common.TransactionCase): def test_get_report(self): module = self.env["ir.module.module"].search([])[1] - self.assertTrue(module.get_report("base.report_irmodulereference")) + self.assertTrue(module._generate_report("base.report_irmodulereference")) From f5d29fa277f9f74f62ad96b8b4b9c0265f535dd1 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Tue, 4 Jun 2024 15:50:31 +0000 Subject: [PATCH 3/5] [UPD] Update report_generate_helper.pot --- .../i18n/report_generate_helper.pot | 24 ++++++++++++++++++ .../static/description/icon.png | Bin 0 -> 9455 bytes 2 files changed, 24 insertions(+) create mode 100644 report_generate_helper/i18n/report_generate_helper.pot create mode 100644 report_generate_helper/static/description/icon.png diff --git a/report_generate_helper/i18n/report_generate_helper.pot b/report_generate_helper/i18n/report_generate_helper.pot new file mode 100644 index 0000000000..435a807d23 --- /dev/null +++ b/report_generate_helper/i18n/report_generate_helper.pot @@ -0,0 +1,24 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_generate_helper +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: report_generate_helper +#: model:ir.model,name:report_generate_helper.model_base +msgid "Base" +msgstr "" + +#. module: report_generate_helper +#: model:ir.model,name:report_generate_helper.model_ir_actions_report +msgid "Report Action" +msgstr "" diff --git a/report_generate_helper/static/description/icon.png b/report_generate_helper/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 From d7db7e63872cb86e75998654ead63e949ecceaa7 Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 5 Jun 2024 06:28:40 +0000 Subject: [PATCH 4/5] Added translation using Weblate (Italian) --- report_generate_helper/i18n/it.po | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 report_generate_helper/i18n/it.po diff --git a/report_generate_helper/i18n/it.po b/report_generate_helper/i18n/it.po new file mode 100644 index 0000000000..bed08b938a --- /dev/null +++ b/report_generate_helper/i18n/it.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_generate_helper +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-06-05 12:39+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: report_generate_helper +#: model:ir.model,name:report_generate_helper.model_base +msgid "Base" +msgstr "Base" + +#. module: report_generate_helper +#: model:ir.model,name:report_generate_helper.model_ir_actions_report +msgid "Report Action" +msgstr "Azione resoconto" From a937b56d52c66cb9ac64a148c7e4854b4e6bae22 Mon Sep 17 00:00:00 2001 From: Alessandro Uffreduzzi Date: Wed, 14 Aug 2024 11:25:10 +0200 Subject: [PATCH 5/5] [MIG] report_generate_helper: Migration to 14.0 (backport from v16) --- report_generate_helper/README.rst | 10 +++++----- report_generate_helper/__manifest__.py | 2 +- .../static/description/index.html | 18 ++++++++++-------- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/report_generate_helper/README.rst b/report_generate_helper/README.rst index 44eb87a0b6..05196e157d 100644 --- a/report_generate_helper/README.rst +++ b/report_generate_helper/README.rst @@ -17,13 +17,13 @@ Report Generate Helper :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github - :target: https://github.com/OCA/reporting-engine/tree/16.0/report_generate_helper + :target: https://github.com/OCA/reporting-engine/tree/14.0/report_generate_helper :alt: OCA/reporting-engine .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/reporting-engine-16-0/reporting-engine-16-0-report_generate_helper + :target: https://translation.odoo-community.org/projects/reporting-engine-14-0/reporting-engine-14-0-report_generate_helper :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/reporting-engine&target_branch=16.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/reporting-engine&target_branch=14.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -41,7 +41,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -71,6 +71,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -This module is part of the `OCA/reporting-engine `_ project on GitHub. +This module is part of the `OCA/reporting-engine `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/report_generate_helper/__manifest__.py b/report_generate_helper/__manifest__.py index 83e96cef18..cea632aebd 100644 --- a/report_generate_helper/__manifest__.py +++ b/report_generate_helper/__manifest__.py @@ -1,7 +1,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { "name": "Report Generate Helper", - "version": "16.0.1.0.0", + "version": "14.0.1.0.0", "summary": "Helper to easily generate report", "author": "Akretion, Odoo Community Association (OCA)", "website": "https://github.com/OCA/reporting-engine", diff --git a/report_generate_helper/static/description/index.html b/report_generate_helper/static/description/index.html index 418264c06f..64c61a9551 100644 --- a/report_generate_helper/static/description/index.html +++ b/report_generate_helper/static/description/index.html @@ -1,4 +1,3 @@ - @@ -9,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -275,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -301,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -369,7 +369,7 @@

Report Generate Helper

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:800d294f64e8645f5e8ccc3ae112dc5f17e099e22d0e018b05c1d35e3102ad4e !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/reporting-engine Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/reporting-engine Translate me on Weblate Try me on Runboat

This module allows you to get a report from a record by passing the report name.

Table of contents

@@ -388,7 +388,7 @@

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

+feedback.

Do not contact contributors directly about support or help with technical issues.

@@ -411,11 +411,13 @@

Contributors

Maintainers

This module is maintained by the OCA.

-Odoo Community Association + +Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

-

This module is part of the OCA/reporting-engine project on GitHub.

+

This module is part of the OCA/reporting-engine project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.