Skip to content

Commit af7e4f6

Browse files
committed
[MIG] report_py3o: Migration to 19.0
1 parent 0a57387 commit af7e4f6

4 files changed

Lines changed: 28 additions & 24 deletions

File tree

report_py3o/__manifest__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"name": "Py3o Report Engine",
55
"summary": "Reporting engine based on Libreoffice (ODT -> ODT, "
66
"ODT -> PDF, ODT -> DOC, ODT -> DOCX, ODS -> ODS, etc.)",
7-
"version": "18.0.1.0.2",
7+
"version": "19.0.1.0.0",
88
"category": "Reporting",
99
"license": "AGPL-3",
1010
"author": "XCG Consulting, ACSONE SA/NV, Odoo Community Association (OCA)",

report_py3o/tests/test_report_py3o.py

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@
2424
from odoo.exceptions import ValidationError
2525
from odoo.tests.common import TransactionCase
2626

27-
from odoo.addons.base.tests.test_mimetypes import PNG
27+
from odoo.addons.base.tests.test_mimetypes import PNG as ODOO_PNG
2828

29-
from ..models._py3o_parser_context import format_multiline_value
3029
from ..models.ir_actions_report import PY3O_CONVERSION_COMMAND_PARAMETER
31-
from ..models.py3o_report import TemplateNotFound
30+
from ..wizard._py3o_parser_context import format_multiline_value
31+
from ..wizard.py3o_report import Py3oReport, TemplateNotFound
3232

3333
logger = logging.getLogger(__name__)
3434

@@ -52,7 +52,7 @@ def temporary_copy(path):
5252
class TestReportPy3o(TransactionCase):
5353
def setUp(self):
5454
super().setUp()
55-
self.env.user.image_1920 = PNG
55+
self.env.user.image_1920 = ODOO_PNG
5656
self.report = self.env.ref("report_py3o.res_users_report_py3o")
5757
self.py3o_report = self.env["py3o.report"].create(
5858
{"ir_actions_report_id": self.report.id}
@@ -91,13 +91,19 @@ def test_reports(self):
9191

9292
def test_reports_merge_zip(self):
9393
self.report.py3o_filetype = "odt"
94-
users = self.env["res.users"].search([])
95-
self.assertTrue(len(users) > 0)
96-
py3o_report = self.env["py3o.report"]
94+
users = self.env["res.users"].search([], limit=2)
95+
if len(users) < 2:
96+
users |= self.env["res.users"].create(
97+
{
98+
"name": "Test User 2",
99+
"login": f"test_user_2_{self.env.cr.dbname}",
100+
"email": f"test_user_2_{self.env.cr.dbname}@example.com",
101+
}
102+
)
103+
users.write({"image_1920": ODOO_PNG})
104+
self.assertGreaterEqual(len(users), 2)
97105
_zip_results = self.py3o_report._zip_results
98-
with mock.patch.object(
99-
py3o_report.__class__, "_zip_results"
100-
) as patched_zip_results:
106+
with mock.patch.object(Py3oReport, "_zip_results") as patched_zip_results:
101107
patched_zip_results.side_effect = _zip_results
102108
content, filetype = self.report._render(self.report.id, users.ids)
103109
self.assertEqual(1, patched_zip_results.call_count)
@@ -147,7 +153,7 @@ def test_report_post_process(self):
147153
self.assertEqual(self.env.user.id, attachements.res_id)
148154
self.assertEqual(b"test result", b64decode(attachements.datas))
149155

150-
@tools.misc.mute_logger("odoo.addons.report_py3o.models.py3o_report")
156+
@tools.misc.mute_logger("odoo.addons.report_py3o.wizard.py3o_report")
151157
def test_report_template_configs(self):
152158
# the demo template is specified with a relative path in in the module
153159
# path
@@ -169,9 +175,9 @@ def test_report_template_configs(self):
169175
self.report._render(self.report.id, self.env.user.ids)
170176
with temporary_copy(flbk_filename) as tmp_filename:
171177
self.report.py3o_template_fallback = tmp_filename
172-
tools.config.misc["report_py3o"] = {
173-
"root_tmpl_path": os.path.realpath(os.path.dirname(tmp_filename))
174-
}
178+
tools.config["root_tmpl_path"] = os.path.realpath(
179+
os.path.dirname(tmp_filename)
180+
)
175181
res = self.report._render(self.report.id, self.env.user.ids)
176182
self.assertTrue(res)
177183

@@ -192,7 +198,7 @@ def test_report_template_configs(self):
192198
res = self.report._render(self.report.id, self.env.user.ids)
193199
self.assertTrue(res)
194200

195-
@tools.misc.mute_logger("odoo.addons.report_py3o.models.py3o_report")
201+
@tools.misc.mute_logger("odoo.addons.report_py3o.wizard.py3o_report")
196202
def test_report_template_fallback_validity(self):
197203
tmpl_name = self.report.py3o_template_fallback
198204
with as_file(files(f"odoo.addons.{self.report.module}")) as _asf:

report_py3o/views/py3o_template.xml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,11 @@
77
<search>
88
<field name="name" />
99
<field name="filetype" />
10-
<group string="Group By" name="groupby">
11-
<filter
12-
name="filetype_groupby"
13-
string="File Type"
14-
context="{'group_by': 'filetype'}"
15-
/>
16-
</group>
10+
<filter
11+
name="filetype_groupby"
12+
string="File Type"
13+
context="{'group_by': 'filetype'}"
14+
/>
1715
</search>
1816
</field>
1917
</record>

report_py3o/wizard/py3o_report.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ class Py3oReport(models.TransientModel):
8686
def _is_valid_template_path(self, path):
8787
"""Check if the path is a trusted path for py3o templates."""
8888
real_path = os.path.realpath(path)
89-
root_path = tools.config.get_misc("report_py3o", "root_tmpl_path")
89+
root_path = tools.config.get("root_tmpl_path")
9090
if not root_path:
9191
logger.warning(
9292
"You must provide a root template path into odoo.cfg to be "

0 commit comments

Comments
 (0)