Skip to content

Commit 39089e0

Browse files
committed
[MIG] sql_export: Migration to 19.0
1 parent 0463784 commit 39089e0

File tree

6 files changed

+78
-30
lines changed

6 files changed

+78
-30
lines changed

sql_export/README.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ SQL Export
2121
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
2222
:alt: License: AGPL-3
2323
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github
24-
:target: https://github.com/OCA/reporting-engine/tree/18.0/sql_export
24+
:target: https://github.com/OCA/reporting-engine/tree/19.0/sql_export
2525
:alt: OCA/reporting-engine
2626
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
27-
:target: https://translation.odoo-community.org/projects/reporting-engine-18-0/reporting-engine-18-0-sql_export
27+
:target: https://translation.odoo-community.org/projects/reporting-engine-19-0/reporting-engine-19-0-sql_export
2828
:alt: Translate me on Weblate
2929
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
30-
:target: https://runboat.odoo-community.org/builds?repo=OCA/reporting-engine&target_branch=18.0
30+
:target: https://runboat.odoo-community.org/builds?repo=OCA/reporting-engine&target_branch=19.0
3131
:alt: Try me on Runboat
3232

3333
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -81,7 +81,7 @@ Bug Tracker
8181
Bugs are tracked on `GitHub Issues <https://github.com/OCA/reporting-engine/issues>`_.
8282
In case of trouble, please check there if your issue has already been reported.
8383
If you spotted it first, help us to smash it by providing a detailed and welcomed
84-
`feedback <https://github.com/OCA/reporting-engine/issues/new?body=module:%20sql_export%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
84+
`feedback <https://github.com/OCA/reporting-engine/issues/new?body=module:%20sql_export%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
8585

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

@@ -135,6 +135,6 @@ Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:
135135

136136
|maintainer-legalsylvain| |maintainer-florian-dacosta|
137137

138-
This module is part of the `OCA/reporting-engine <https://github.com/OCA/reporting-engine/tree/18.0/sql_export>`_ project on GitHub.
138+
This module is part of the `OCA/reporting-engine <https://github.com/OCA/reporting-engine/tree/19.0/sql_export>`_ project on GitHub.
139139

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

sql_export/__manifest__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
{
66
"name": "SQL Export",
7-
"version": "18.0.1.1.1",
7+
"version": "19.0.0.0.0",
88
"author": "Akretion,GRAP,Odoo Community Association (OCA)",
99
"maintainers": ["legalsylvain", "florian-dacosta"],
1010
"website": "https://github.com/OCA/reporting-engine",

sql_export/security/sql_export_security.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
<field eval="0" name="perm_unlink" />
1010
<field
1111
name="domain_force"
12-
>['|', ('user_ids','=',user.id), ('group_ids','in', [x.id for x in user.groups_id])]</field>
12+
>['|', ('user_ids','=',user.id), ('group_ids','in', [x.id for x in user.group_ids])]</field>
1313
</record>
1414
</odoo>

sql_export/static/description/index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ <h1>SQL Export</h1>
374374
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
375375
!! source digest: sha256:4f5b18eab71ba067ea88439b72cfd484c0c761faa38f715000ea4ced8f78725c
376376
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
377-
<p><a class="reference external image-reference" 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 image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/license-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/reporting-engine/tree/18.0/sql_export"><img alt="OCA/reporting-engine" src="https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/reporting-engine-18-0/reporting-engine-18-0-sql_export"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/reporting-engine&amp;target_branch=18.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
377+
<p><a class="reference external image-reference" 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 image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/license-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/reporting-engine/tree/19.0/sql_export"><img alt="OCA/reporting-engine" src="https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/reporting-engine-19-0/reporting-engine-19-0-sql_export"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/reporting-engine&amp;target_branch=19.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
378378
<p>Allow to export data in csv files FROM sql requests. There are some
379379
restrictions in the sql query, you can only read datas. No update,
380380
deletion or creation are possible. A new sub menu named Sql Export is
@@ -432,7 +432,7 @@ <h2><a class="toc-backref" href="#toc-entry-3">Bug Tracker</a></h2>
432432
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/reporting-engine/issues">GitHub Issues</a>.
433433
In case of trouble, please check there if your issue has already been reported.
434434
If you spotted it first, help us to smash it by providing a detailed and welcomed
435-
<a class="reference external" href="https://github.com/OCA/reporting-engine/issues/new?body=module:%20sql_export%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
435+
<a class="reference external" href="https://github.com/OCA/reporting-engine/issues/new?body=module:%20sql_export%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
436436
<p>Do not contact contributors directly about support or help with technical issues.</p>
437437
</div>
438438
<div class="section" id="credits">
@@ -474,7 +474,7 @@ <h3><a class="toc-backref" href="#toc-entry-7">Maintainers</a></h3>
474474
promote its widespread use.</p>
475475
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainers</a>:</p>
476476
<p><a class="reference external image-reference" href="https://github.com/legalsylvain"><img alt="legalsylvain" src="https://github.com/legalsylvain.png?size=40px" /></a> <a class="reference external image-reference" href="https://github.com/florian-dacosta"><img alt="florian-dacosta" src="https://github.com/florian-dacosta.png?size=40px" /></a></p>
477-
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/reporting-engine/tree/18.0/sql_export">OCA/reporting-engine</a> project on GitHub.</p>
477+
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/reporting-engine/tree/19.0/sql_export">OCA/reporting-engine</a> project on GitHub.</p>
478478
<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>
479479
</div>
480480
</div>

sql_export/tests/test_sql_query.py

Lines changed: 52 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,55 @@ def setUpClass(cls):
1515
super().setUpClass()
1616
cls.sql_export_obj = cls.env["sql.export"]
1717
cls.wizard_obj = cls.env["sql.file.wizard"]
18-
cls.sql_report_demo = cls.env.ref("sql_export.sql_export_partner")
18+
cls.sql_export_partner = cls.sql_export_obj.create(
19+
{
20+
"name": "Export Partners",
21+
"query": "SELECT name, street FROM res_partner",
22+
}
23+
)
24+
cls.sql_export_partner.button_validate_sql_expression()
25+
cls.sql_export_partner_variables = cls.sql_export_obj.create(
26+
{
27+
"name": "Export Partners with variables",
28+
"query": """
29+
SELECT p.id
30+
FROM res_partner p
31+
LEFT JOIN res_partner_res_partner_category_rel rel
32+
ON rel.partner_id = p.id
33+
WHERE create_date > %(Date)s
34+
AND id = %(ID)s
35+
AND rel.category_id in %(Categories)s
36+
""",
37+
"query_properties_definition": [
38+
{
39+
"name": "630eca383bc142e6",
40+
"string": "Date",
41+
"type": "date",
42+
"default": "",
43+
},
44+
{
45+
"name": "ec0556e22932334b",
46+
"string": "Categories",
47+
"type": "many2many",
48+
"default": False,
49+
"comodel": "res.partner.category",
50+
"domain": False,
51+
},
52+
{
53+
"name": "907ac618eccbab74",
54+
"string": "ID",
55+
"type": "integer",
56+
"default": False,
57+
},
58+
],
59+
}
60+
)
61+
cls.sql_export_partner_variables.button_validate_sql_expression()
1962

2063
def test_sql_query(self):
2164
wizard = self.wizard_obj.create(
2265
{
23-
"sql_export_id": self.sql_report_demo.id,
66+
"sql_export_id": self.sql_export_partner.id,
2467
}
2568
)
2669
wizard.export_sql()
@@ -61,12 +104,15 @@ def test_authorized_queries(self):
61104
)
62105

63106
def test_sql_query_with_params(self):
64-
query = self.env.ref("sql_export.sql_export_partner_with_variables")
65-
query.write({"state": "sql_valid"})
66-
categ_id = self.env.ref("base.res_partner_category_0").id
107+
categ = self.env["res.partner.category"].search([], limit=1)
108+
if not categ:
109+
categ = self.env["res.partner.category"].create(
110+
{"name": "Consulting Services"}
111+
)
112+
categ_id = categ.id
67113
wizard = self.wizard_obj.create(
68114
{
69-
"sql_export_id": query.id,
115+
"sql_export_id": self.sql_export_partner_variables.id,
70116
}
71117
)
72118
wizard.write(

sql_export/wizard/wizard_file.py

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
from datetime import datetime
66

7-
from odoo import _, fields, models
7+
from odoo import fields, models
88
from odoo.exceptions import UserError
99
from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT
1010

@@ -31,10 +31,11 @@ def export_sql(self):
3131
bad_props = [x for x in properties if not x["value"]]
3232
if bad_props:
3333
raise UserError(
34-
_("Please enter a values for the following properties : %s")
35-
% (",".join([x["string"] for x in bad_props]))
34+
self.env._(
35+
"Please enter a values for the following properties : %(props)s",
36+
{"props": ", ".join([x["string"] for x in bad_props])},
37+
)
3638
)
37-
3839
sql_export = self.sql_export_id
3940

4041
# Manage Params
@@ -73,21 +74,22 @@ def export_sql(self):
7374
self.env.cr.execute(
7475
"""
7576
UPDATE sql_export
76-
SET last_execution_date = %s, last_execution_uid = %s
77-
WHERE id = %s
77+
SET last_execution_date = %(last_date)s, last_execution_uid = %(last_uid)s
78+
WHERE id = %(id)s
7879
""",
79-
(
80-
fields.Datetime.to_string(fields.Datetime.now()),
81-
self.env.user.id,
82-
sql_export.id,
83-
),
80+
{
81+
"last_date": fields.Datetime.to_string(fields.Datetime.now()),
82+
"last_uid": self.env.user.id,
83+
"id": sql_export.id,
84+
},
8485
)
86+
url = f"""web/content/?model={self._name}&id={self.id}&
87+
filename_field=file_name&"field=binary_file&download=true&
88+
filename={self.file_name}"""
8589
action = {
8690
"name": "SQL Export",
8791
"type": "ir.actions.act_url",
88-
"url": "web/content/?model=%s&id=%d&filename_field=filename&"
89-
"field=binary_file&download=true&filename=%s"
90-
% (self._name, self.id, self.file_name),
92+
"url": url,
9193
"target": "self",
9294
}
9395
return action

0 commit comments

Comments
 (0)