Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
b50d65d
[ADD] New module base_export_async to allow asynchronous export
apineux Apr 19, 2019
fd10b8c
[IMP] add ir.model.access
apineux Apr 19, 2019
a755688
[IMP] PEP8 & JS
apineux Apr 19, 2019
b26335c
[TEST] add test for base_export_async
apineux Apr 19, 2019
9a80622
[IMP] get email from current user
apineux Apr 19, 2019
c098c12
[IMP] Generated Readme
apineux Apr 23, 2019
8800baa
[IMP] URL to attachment to avoid email size limit
apineux Apr 25, 2019
3423845
[TEST] Check that cron delete attachment after TTL
apineux Apr 25, 2019
1d2a5f8
[IMP] Improve security for the asynchronous export by linking the att…
apineux Apr 25, 2019
248671b
[IMP] Improve the use of dates and config_parameter
apineux Apr 25, 2019
9e8793f
[FIX] Can read odoobot email address
apineux Apr 30, 2019
492aa14
[IMP] Change Warning by UserError
apineux Apr 30, 2019
87b2fa8
[IMP] Improve naming
apineux May 24, 2019
049420b
[IMP] Split method + comments
apineux May 24, 2019
5621f7a
[IMP] Add the model description instead of name on the email subject
apineux Jun 19, 2019
554f310
[UPD] Update base_export_async.pot
oca-travis Jun 21, 2019
93cf269
Added translation using Weblate (German)
marylla Jul 4, 2019
20bcd6a
Translated using Weblate (German)
marylla Jul 4, 2019
695d3a4
Added translation using Weblate (Chinese (Simplified))
liweijie0812 Jul 25, 2019
0f56586
Translated using Weblate (Chinese (Simplified))
liweijie0812 Jul 25, 2019
e1d9a8e
[UPD] README.rst
OCA-git-bot Jul 29, 2019
d89303a
Added translation using Weblate (Chinese (Simplified))
liweijie0812 Aug 29, 2019
3cafc6c
Rename Chinese translation files
liweijie0812 Aug 30, 2019
3ef48c5
Set modules as uninstallable
Oct 1, 2019
9828d15
Run pre-commit with black, isort, ...
Oct 4, 2019
ba38492
Support several recipient users in base_export_async
Nov 21, 2019
037b69d
[UPD] Update base_export_async.pot
oca-travis Jun 11, 2020
affef38
[UPD] README.rst
OCA-git-bot Jun 11, 2020
3220dd3
Update translation files
oca-transbot Jun 11, 2020
bf60496
Added translation using Weblate (French)
ypapouin Nov 20, 2020
b6057cb
Translated using Weblate (French)
ypapouin Nov 20, 2020
cf17e31
Update translation files
oca-transbot Nov 22, 2020
2974b5d
Added translation using Weblate (Danish)
hhgabelgaard Feb 7, 2021
91b0598
Translated using Weblate (Danish)
hhgabelgaard Feb 7, 2021
d82d468
Added translation using Weblate (Portuguese)
pedrocs-exo Mar 4, 2021
4e66e0d
Translated using Weblate (Portuguese)
pedrocs-exo Mar 4, 2021
f5db86a
Added translation using Weblate (Italian)
primes2h Jul 6, 2021
36ac205
[IMP] base_export_async: black, isort, prettier
vincent-cowboy Jan 17, 2023
f99bd99
[MIG] base_export_async: Migration to 15.0
vincent-cowboy Jan 17, 2023
c2c7c7f
[REF] base_export_async: send mail via delay_export_mail_template
vincent-cowboy Jan 25, 2023
638ee83
[UPD] Update base_export_async.pot
Jun 30, 2023
78bfe5d
[UPD] README.rst
OCA-git-bot Jun 30, 2023
cedc92c
Update translation files
weblate Jun 30, 2023
4929c0e
[MIG] base_export_async: Migration to 16.0
Jul 10, 2023
667603a
[16.0][MIG] base_export_async: Fix test
asierneiradev Jul 14, 2023
36ab717
[16.0][MIG] base_export_async: Fix assets, imports and format
Jul 17, 2023
266b828
[UPD] Update base_export_async.pot
Jul 24, 2023
828bb5d
[UPD] README.rst
OCA-git-bot Jul 24, 2023
090a7ba
Added translation using Weblate (Spanish)
bencoronel Jul 24, 2023
c04dae9
Translated using Weblate (Spanish)
bencoronel Jul 24, 2023
8266125
[UPD] README.rst
OCA-git-bot Sep 3, 2023
765c0a9
Update translation files
weblate Oct 9, 2023
6272c84
Translated using Weblate (Italian)
mymage Jan 11, 2024
7e6362c
Translated using Weblate (Italian)
mymage Apr 4, 2024
b3c5f50
Translated using Weblate (French)
didierdonze May 1, 2024
81be844
[FIX] Access error on ir.attachment create
hhgabelgaard Oct 31, 2023
881f383
[BOT] post-merge updates
OCA-git-bot Jan 28, 2025
24d7f49
Added translation using Weblate (Croatian)
uvid-gordana Feb 27, 2025
c6638bc
[ADD] base_export_async: make attachment accessible to portal users
hbrunn Mar 21, 2025
5d9c86c
[BOT] post-merge updates
OCA-git-bot Jan 2, 2026
3faab6c
[IMP] base_export_async: pre-commit auto fixes
StephaneMangin Feb 11, 2026
df3c23e
[MIG] base_export_async: Migration to 17.0
StephaneMangin Feb 11, 2026
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
96 changes: 96 additions & 0 deletions base_export_async/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
=================
Base Export Async
=================

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

.. |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/17.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-17-0/queue-17-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=17.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:%2017.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)
- Stéphane Mangin (ACSONE SA/NV)

Other credits
-------------

The migration of this module from 16.0 to 17.0 was financially supported
by:

- ACSONE SA/NV (https://www.acsone.eu/)

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/17.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": "17.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>
12 changes: 12 additions & 0 deletions base_export_async/data/cron.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?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>
<field name="numbercall">-1</field>
</record>
</odoo>
24 changes: 24 additions & 0 deletions base_export_async/data/mail_template.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?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