From 5811a07488e3e9b9ccb8a3283331c91a145b333f Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Sat, 27 Apr 2024 14:34:00 +0200 Subject: [PATCH] [ADD] sql_export: Allow keeping generated file --- sql_export/models/sql_export.py | 4 ++++ sql_export/tests/test_sql_query.py | 13 +++++++++++++ sql_export/views/sql_export_view.xml | 5 +++++ sql_export/wizard/wizard_file.py | 28 ++++++++++++++++++++++++++++ 4 files changed, 50 insertions(+) diff --git a/sql_export/models/sql_export.py b/sql_export/models/sql_export.py index d9a8a9395..34d105dae 100644 --- a/sql_export/models/sql_export.py +++ b/sql_export/models/sql_export.py @@ -41,6 +41,10 @@ class SqlExport(models.Model): default="utf-8", ) + keep_generated_file = fields.Boolean( + help="Check this to keep generated export files as attachments" + ) + def _compute_use_properties(self): for rec in self: rec.use_properties = bool(rec.query_properties_definition) diff --git a/sql_export/tests/test_sql_query.py b/sql_export/tests/test_sql_query.py index c970a3825..86339e640 100644 --- a/sql_export/tests/test_sql_query.py +++ b/sql_export/tests/test_sql_query.py @@ -101,3 +101,16 @@ class TestExportSqlQuery(TransactionCase): wizard.export_sql() export = base64.b64decode(wizard.binary_file) self.assertTrue(export) + + def test_keep_generated_file(self): + """Test that we keep generated files""" + self.sql_report_demo.keep_generated_file = True + wizard = self.wizard_obj.create( + { + "sql_export_id": self.sql_report_demo.id, + } + ) + wizard.export_sql() + attachment = wizard._get_field_attachment() + wizard.sudo().unlink() + self.assertTrue(attachment.exists()) diff --git a/sql_export/views/sql_export_view.xml b/sql_export/views/sql_export_view.xml index f377a6daf..f57386f75 100644 --- a/sql_export/views/sql_export_view.xml +++ b/sql_export/views/sql_export_view.xml @@ -42,6 +42,11 @@ name="file_format" attrs="{'readonly': [('state', '!=', 'draft')]}" /> +