mirror of
https://github.com/OCA/reporting-engine.git
synced 2025-02-16 16:30:38 +02:00
[15.0][MIG] sql_export_mail: Migration to 15.0
This commit is contained in:
@@ -7,7 +7,7 @@ SQL Export Mail
|
||||
!! This file is generated by oca-gen-addon-readme !!
|
||||
!! changes will be overwritten. !!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! source digest: sha256:d827e1e84e845e81a875a56e6dbb22176fb86b3ad685cb5c1105e5a79897dfcb
|
||||
!! source digest: sha256:e07d45bf05ba7798ba09b99f0a16c60cf70c98dc1819c149bedee8461343721e
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
||||
@@ -70,6 +70,7 @@ Contributors
|
||||
|
||||
* Florian da Costa <florian.dacosta@akretion.com>
|
||||
* Helly kapatel <helly.kapatel@initos.com>
|
||||
* Solange Steiner <solange.steiner@braintec.com>
|
||||
|
||||
Maintainers
|
||||
~~~~~~~~~~~
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
||||
{
|
||||
"name": "SQL Export Mail",
|
||||
"version": "15.0.2.0.0",
|
||||
"version": "15.0.1.0.0",
|
||||
"category": "Generic Modules",
|
||||
"summary": "Send csv file generated by sql query by mail.",
|
||||
"author": "Akretion,GRAP,Odoo Community Association (OCA)",
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
<?xml version='1.0' encoding='utf-8' ?>
|
||||
<odoo>
|
||||
|
||||
<record id="sql_export_mailer" model="mail.template">
|
||||
<field name="email_to">{{object.get_email_address_for_template()}}</field>
|
||||
<field name="subject">{{object.name or ''}}</field>
|
||||
<field name="body_html" type="html">
|
||||
<div
|
||||
style="font-family: 'Lucida Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: #FFF; "
|
||||
>
|
||||
|
||||
<p>You will find the report <t
|
||||
t-out="object.name or ''"
|
||||
/> as an attachment of the mail.</p>
|
||||
|
||||
</div>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -1,8 +0,0 @@
|
||||
from openupgradelib import openupgrade
|
||||
|
||||
|
||||
@openupgrade.migrate()
|
||||
def migrate(env, version):
|
||||
openupgrade.load_data(
|
||||
env.cr, "sql_export_mail", "migrations/16.0.1.0.0/noupdate_changes.xml"
|
||||
)
|
||||
@@ -118,10 +118,10 @@ class SqlExport(models.Model):
|
||||
else:
|
||||
export.send_mail()
|
||||
|
||||
@api.constrains("query_properties_definition", "mail_user_ids")
|
||||
@api.constrains("field_ids", "mail_user_ids")
|
||||
def check_no_parameter_if_sent_by_mail(self):
|
||||
for export in self:
|
||||
if export.query_properties_definition and export.mail_user_ids:
|
||||
if export.field_ids and export.mail_user_ids:
|
||||
raise UserError(
|
||||
_(
|
||||
"It is not possible to execute and send a query "
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
* Florian da Costa <florian.dacosta@akretion.com>
|
||||
* Helly kapatel <helly.kapatel@initos.com>
|
||||
* Solange Steiner <solange.steiner@braintec.com>
|
||||
|
||||
@@ -367,7 +367,7 @@ ul.auto-toc {
|
||||
!! This file is generated by oca-gen-addon-readme !!
|
||||
!! changes will be overwritten. !!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! source digest: sha256:d827e1e84e845e81a875a56e6dbb22176fb86b3ad685cb5c1105e5a79897dfcb
|
||||
!! source digest: sha256:e07d45bf05ba7798ba09b99f0a16c60cf70c98dc1819c149bedee8461343721e
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<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/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/reporting-engine/tree/15.0/sql_export_mail"><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-15-0/reporting-engine-15-0-sql_export_mail"><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&target_branch=15.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
||||
<p>Allow to send the result of a query (made with the module sql_export) by mail.</p>
|
||||
@@ -417,6 +417,7 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
|
||||
<ul class="simple">
|
||||
<li>Florian da Costa <<a class="reference external" href="mailto:florian.dacosta@akretion.com">florian.dacosta@akretion.com</a>></li>
|
||||
<li>Helly kapatel <<a class="reference external" href="mailto:helly.kapatel@initos.com">helly.kapatel@initos.com</a>></li>
|
||||
<li>Solange Steiner <<a class="reference external" href="mailto:solange.steiner@braintec.com">solange.steiner@braintec.com</a>></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="maintainers">
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from odoo import SUPERUSER_ID
|
||||
from odoo.exceptions import UserError
|
||||
from odoo.tests.common import TransactionCase
|
||||
|
||||
|
||||
@@ -13,15 +14,58 @@ class TestExportSqlQueryMail(TransactionCase):
|
||||
self.sql_report_demo.write({"mail_user_ids": [(4, SUPERUSER_ID)]})
|
||||
|
||||
def test_sql_query_mail(self):
|
||||
mail_obj = self.env["mail.mail"]
|
||||
mails = mail_obj.search(
|
||||
"""Check the general execution"""
|
||||
self.check_before_change()
|
||||
self.check_execution()
|
||||
|
||||
def test_not_able_add_user(self):
|
||||
"""if there are field_ids, mail_user_ids can not be set"""
|
||||
sql_report_demo_with_partner = self.env.ref(
|
||||
"sql_export.sql_export_partner_with_variables"
|
||||
)
|
||||
with self.assertRaises(UserError):
|
||||
sql_report_demo_with_partner.write(
|
||||
{"mail_user_ids": [(4, self.env.ref("base.user_demo").id)]}
|
||||
)
|
||||
|
||||
def test_sql_query_mail_company(self):
|
||||
"""Check the general execution with %(company_id)s"""
|
||||
self.check_before_change()
|
||||
self.sql_report_demo.write(
|
||||
{
|
||||
"mail_user_ids": [(4, self.env.ref("base.user_demo").id)],
|
||||
"query": """SELECT name, street
|
||||
FROM res_partner where company_id = %(company_id)s""",
|
||||
}
|
||||
)
|
||||
self.check_execution()
|
||||
|
||||
def test_sql_query_mail_company_user(self):
|
||||
"""Check the general execution with %(company_id)s and %(user_id)s)"""
|
||||
self.check_before_change()
|
||||
self.sql_report_demo.write(
|
||||
{
|
||||
"mail_user_ids": [(4, self.env.ref("base.user_demo").id)],
|
||||
"query": """SELECT name, street FROM res_partner
|
||||
where company_id = %(company_id)s and id in (
|
||||
select partner_id from res_users where id = %(user_id)s)""",
|
||||
}
|
||||
)
|
||||
self.check_execution()
|
||||
|
||||
def check_before_change(self):
|
||||
"""Check if there are no mails before changing the sql report"""
|
||||
mails = self.env["mail.mail"].search(
|
||||
[("model", "=", "sql.export"), ("res_id", "=", self.sql_report_demo.id)]
|
||||
)
|
||||
self.assertFalse(mails)
|
||||
|
||||
def check_execution(self):
|
||||
"""Check if the cron could be created and the mail sending is working"""
|
||||
self.sql_report_demo.create_cron()
|
||||
self.assertTrue(self.sql_report_demo.cron_ids)
|
||||
self.sql_report_demo.cron_ids.method_direct_trigger()
|
||||
mails = mail_obj.search(
|
||||
mails = self.env["mail.mail"].search(
|
||||
[("model", "=", "sql.export"), ("res_id", "=", self.sql_report_demo.id)]
|
||||
)
|
||||
self.assertTrue(mails)
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
groups="base.group_system"
|
||||
/>
|
||||
</field>
|
||||
<page name="page_sql" position="after">
|
||||
<page name="page_mail" string="Mail">
|
||||
<group name="request" position="after">
|
||||
<group name="page_mail" string="Mail">
|
||||
<group string="Users Notified by e-mail">
|
||||
<field
|
||||
name="mail_user_ids"
|
||||
@@ -40,8 +40,8 @@
|
||||
/>
|
||||
</group>
|
||||
|
||||
</page>
|
||||
</page>
|
||||
</group>
|
||||
</group>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user