Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
95a9121
[ADD] New module base_export_async to allow asynchronous export
apineux Apr 19, 2019
1b3dcb3
[IMP] add ir.model.access
apineux Apr 19, 2019
29a7671
[IMP] PEP8 & JS
apineux Apr 19, 2019
e83a545
[TEST] add test for base_export_async
apineux Apr 19, 2019
1b10e87
[IMP] get email from current user
apineux Apr 19, 2019
b9a8045
[IMP] Generated Readme
apineux Apr 23, 2019
2074c08
[IMP] URL to attachment to avoid email size limit
apineux Apr 25, 2019
f8afb54
[TEST] Check that cron delete attachment after TTL
apineux Apr 25, 2019
0bb87f5
[IMP] Improve security for the asynchronous export by linking the att…
apineux Apr 25, 2019
b5513d5
[IMP] Improve the use of dates and config_parameter
apineux Apr 25, 2019
8f1c423
[FIX] Can read odoobot email address
apineux Apr 30, 2019
8270ef5
[IMP] Change Warning by UserError
apineux Apr 30, 2019
0ee1780
[IMP] Improve naming
apineux May 24, 2019
0be4e57
[IMP] Split method + comments
apineux May 24, 2019
b853c3e
[IMP] Add the model description instead of name on the email subject
apineux Jun 19, 2019
93d77b5
[UPD] Update base_export_async.pot
oca-travis Jun 21, 2019
50b8411
Added translation using Weblate (German)
marylla Jul 4, 2019
10094a8
Translated using Weblate (German)
marylla Jul 4, 2019
2274d00
Added translation using Weblate (Chinese (Simplified))
liweijie0812 Jul 25, 2019
04fd4b4
Translated using Weblate (Chinese (Simplified))
liweijie0812 Jul 25, 2019
b60ccc7
[UPD] README.rst
OCA-git-bot Jul 29, 2019
28a209a
Added translation using Weblate (Chinese (Simplified))
liweijie0812 Aug 29, 2019
9c11880
Rename Chinese translation files
liweijie0812 Aug 30, 2019
f27d47d
Set modules as uninstallable
guewen Oct 1, 2019
1c51520
Run pre-commit with black, isort, ...
guewen Oct 4, 2019
75a88cf
Support several recipient users in base_export_async
guewen Nov 21, 2019
8718ef1
[UPD] Update base_export_async.pot
oca-travis Jun 11, 2020
dca34bf
[UPD] README.rst
OCA-git-bot Jun 11, 2020
fbbdaf2
Update translation files
oca-transbot Jun 11, 2020
2461b9d
Added translation using Weblate (French)
ypapouin Nov 20, 2020
7c9393e
Translated using Weblate (French)
ypapouin Nov 20, 2020
adf3945
Update translation files
oca-transbot Nov 22, 2020
f70315a
Added translation using Weblate (Danish)
hhgabelgaard Feb 7, 2021
1abac43
Translated using Weblate (Danish)
hhgabelgaard Feb 7, 2021
1bb3889
Added translation using Weblate (Portuguese)
pedrocs-exo Mar 4, 2021
90ff3ed
Translated using Weblate (Portuguese)
pedrocs-exo Mar 4, 2021
05b540b
Added translation using Weblate (Italian)
primes2h Jul 6, 2021
63d833e
[IMP] base_export_async: black, isort, prettier
vincent-cowboy Jan 17, 2023
4f2a88b
[MIG] base_export_async: Migration to 15.0
vincent-cowboy Jan 17, 2023
198d4b9
[REF] base_export_async: send mail via delay_export_mail_template
vincent-cowboy Jan 25, 2023
363b66e
[UPD] Update base_export_async.pot
Jun 30, 2023
30fe39f
[UPD] README.rst
OCA-git-bot Jun 30, 2023
456db23
Update translation files
weblate Jun 30, 2023
4a480a9
[MIG] base_export_async: Migration to 16.0
Jul 10, 2023
6dd82e6
[16.0][MIG] base_export_async: Fix test
asierneiradev Jul 14, 2023
f927edb
[16.0][MIG] base_export_async: Fix assets, imports and format
Jul 17, 2023
0792412
[UPD] Update base_export_async.pot
Jul 24, 2023
b33ca52
[UPD] README.rst
OCA-git-bot Jul 24, 2023
19fbd7a
Added translation using Weblate (Spanish)
bencoronel Jul 24, 2023
c8cb01e
Translated using Weblate (Spanish)
bencoronel Jul 24, 2023
988eeb1
[UPD] README.rst
OCA-git-bot Sep 3, 2023
3f01737
Update translation files
weblate Oct 9, 2023
c36b4cf
Translated using Weblate (Italian)
mymage Jan 11, 2024
785190c
Translated using Weblate (Italian)
mymage Apr 4, 2024
3c938ca
Translated using Weblate (French)
didierdonze May 1, 2024
dbf5951
[FIX] Access error on ir.attachment create
hhgabelgaard Oct 31, 2023
3f8409a
[BOT] post-merge updates
OCA-git-bot Jan 28, 2025
307cd90
Added translation using Weblate (Croatian)
uvid-gordana Feb 27, 2025
8b00d2c
[IMP] base_export_async: pre-commit auto fixes
pierre-halleux Nov 3, 2025
56438b7
[18.0][MIG] base_export_async: migrate
pierre-halleux Nov 3, 2025
149a776
[ADD] base_export_async: make attachment accessible to portal users
hbrunn Mar 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 87 additions & 0 deletions base_export_async/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
=================
Base Export Async
=================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:85ce335207ce3505a7676a8a78743155f9f8c01d1c6f777fe2308c5e77f00e5a
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |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%2Fqueue-lightgray.png?logo=github
:target: https://github.com/OCA/queue/tree/18.0/base_export_async
:alt: OCA/queue
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/queue-18-0/queue-18-0-base_export_async
: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/queue&target_branch=18.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

Standard Export can be delayed in asynchronous jobs executed in the
background and then send by email to the user.

**Table of contents**

.. contents::
:local:

Usage
=====

The user is presented with a new checkbox "Asynchronous export" in the
export screen. When selected, the export is delayed in a background job.

The .csv or .xls file generated by the export will be sent by email to
the user who execute the export.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/queue/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 <https://github.com/OCA/queue/issues/new?body=module:%20base_export_async%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

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

Credits
=======

Authors
-------

* ACSONE SA/NV

Contributors
------------

- Arnaud Pineux (ACSONE SA/NV) authored the initial prototype.
- Guewen Baconnier (Camptocamp)

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/queue <https://github.com/OCA/queue/tree/18.0/base_export_async>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
4 changes: 4 additions & 0 deletions base_export_async/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Copyright 2019 ACSONE SA/NV
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from . import models
28 changes: 28 additions & 0 deletions base_export_async/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Copyright 2019 ACSONE SA/NV
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "Base Export Async",
"summary": "Asynchronous export with job queue",
"version": "18.0.1.0.0",
"license": "AGPL-3",
"author": "ACSONE SA/NV, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/queue",
"depends": ["web", "queue_job"],
"data": [
"security/ir.model.access.csv",
"security/ir_rule.xml",
"data/config_parameter.xml",
"data/cron.xml",
"data/mail_template.xml",
],
"demo": [],
"assets": {
"web.assets_backend": [
"base_export_async/static/src/xml/base.xml",
"base_export_async/static/src/js/list_controller.esm.js",
"base_export_async/static/src/js/data_export.esm.js",
],
},
"installable": True,
}
7 changes: 7 additions & 0 deletions base_export_async/data/config_parameter.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record id="attachment_ttl" model="ir.config_parameter">
<field name="key">attachment.ttl</field>
<field name="value">7</field>
</record>
</odoo>
11 changes: 11 additions & 0 deletions base_export_async/data/cron.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="to_delete_attachment" model="ir.cron">
<field name="name">Delete Generated Exports</field>
<field name="model_id" ref="model_delay_export" />
<field name="state">code</field>
<field name="code">model.cron_delete()</field>
<field name='interval_number'>1</field>
<field name='interval_type'>days</field>
</record>
</odoo>
26 changes: 26 additions & 0 deletions base_export_async/data/mail_template.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record id="delay_export_mail_template" model="mail.template">
<field name="name">Delay Export</field>
<field
name="subject"
>Export {{ object.model_description }} {{ datetime.date.today() }}</field>
<field name="model_id" ref="base_export_async.model_delay_export" />
<field name="auto_delete" eval="True" />
<field name="body_html" type="html">
<p>Your export is available <a
t-attf-href="{{ object.url }}"
target="_blank"
>here</a>.</p>
<p>It will be automatically deleted the <t
t-out="object.expiration_date"
/>.</p>
<br />
<p>
<span
style="color: #808080;"
>This is an automated message please do not reply.</span>
</p>
</field>
</record>
</odoo>
144 changes: 144 additions & 0 deletions base_export_async/i18n/base_export_async.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * base_export_async
#
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: base_export_async
#. odoo-javascript
#: code:addons/base_export_async/static/src/xml/base.xml:0
#, python-format
msgid "(You will receive the export by email)"
msgstr ""

#. module: base_export_async
#: model:mail.template,body_html:base_export_async.delay_export_mail_template
msgid ""
"<p>Your export is available <a t-attf-href=\"{{ object.url }}\" target=\"_blank\">here</a>.</p>\n"
" <p>It will be automatically deleted the <t t-out=\"object.expiration_date\"></t>.</p>\n"
" <br>\n"
" <p>\n"
" <span style=\"color: #808080;\">This is an automated message please do not reply.</span>\n"
" </p>\n"
" "
msgstr ""

#. module: base_export_async
#: model:ir.model,name:base_export_async.model_delay_export
msgid "Asynchronous Export"
msgstr ""

#. module: base_export_async
#. odoo-javascript
#: code:addons/base_export_async/static/src/xml/base.xml:0
#, python-format
msgid "Asynchronous export"
msgstr ""

#. module: base_export_async
#: model:ir.model.fields,field_description:base_export_async.field_delay_export__create_uid
msgid "Created by"
msgstr ""

#. module: base_export_async
#: model:ir.model.fields,field_description:base_export_async.field_delay_export__create_date
msgid "Created on"
msgstr ""

#. module: base_export_async
#: model:mail.template,name:base_export_async.delay_export_mail_template
msgid "Delay Export"
msgstr ""

#. module: base_export_async
#: model:ir.actions.server,name:base_export_async.to_delete_attachment_ir_actions_server
#: model:ir.cron,cron_name:base_export_async.to_delete_attachment
msgid "Delete Generated Exports"
msgstr ""

#. module: base_export_async
#: model:ir.model.fields,field_description:base_export_async.field_delay_export__display_name
msgid "Display Name"
msgstr ""

#. module: base_export_async
#: model:ir.model.fields,field_description:base_export_async.field_delay_export__expiration_date
msgid "Expiration Date"
msgstr ""

#. module: base_export_async
#: model:mail.template,subject:base_export_async.delay_export_mail_template
msgid "Export {{ object.model_description }} {{ datetime.date.today() }}"
msgstr ""

#. module: base_export_async
#. odoo-javascript
#: code:addons/base_export_async/static/src/js/list_controller.esm.js:0
#, python-format
msgid "External ID"
msgstr ""

#. module: base_export_async
#: model:ir.model.fields,field_description:base_export_async.field_delay_export__id
msgid "ID"
msgstr ""

#. module: base_export_async
#: model:ir.model.fields,field_description:base_export_async.field_delay_export____last_update
msgid "Last Modified on"
msgstr ""

#. module: base_export_async
#: model:ir.model.fields,field_description:base_export_async.field_delay_export__write_uid
msgid "Last Updated by"
msgstr ""

#. module: base_export_async
#: model:ir.model.fields,field_description:base_export_async.field_delay_export__write_date
msgid "Last Updated on"
msgstr ""

#. module: base_export_async
#: model:ir.model.fields,field_description:base_export_async.field_delay_export__model_description
msgid "Model Description"
msgstr ""

#. module: base_export_async
#. odoo-javascript
#: code:addons/base_export_async/static/src/js/data_export.esm.js:0
#, python-format
msgid "Please select fields to save export list..."
msgstr ""

#. module: base_export_async
#: model:ir.model.fields,field_description:base_export_async.field_delay_export__url
msgid "Url"
msgstr ""

#. module: base_export_async
#: model:ir.model.fields,field_description:base_export_async.field_delay_export__user_ids
msgid "Users"
msgstr ""

#. module: base_export_async
#. odoo-python
#: code:addons/base_export_async/models/delay_export.py:0
#, python-format
msgid "You must set an email address to your user."
msgstr ""

#. module: base_export_async
#. odoo-javascript
#: code:addons/base_export_async/static/src/js/list_controller.esm.js:0
#, python-format
msgid "You will receive the export file by email as soon as it is finished."
msgstr ""
Loading
Loading