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
2ff6bf2
[MIG] base_export_async: migrate module
mitul-tsd Jan 12, 2026
ddd5e9c
[ADD] New module base_export_async to allow asynchronous export
apineux Apr 19, 2019
bbf0052
[IMP] add ir.model.access
apineux Apr 19, 2019
5697165
[IMP] PEP8 & JS
apineux Apr 19, 2019
11015ec
[TEST] add test for base_export_async
apineux Apr 19, 2019
3c33287
[IMP] get email from current user
apineux Apr 19, 2019
a053c99
[IMP] Generated Readme
apineux Apr 23, 2019
9bc71a2
[IMP] URL to attachment to avoid email size limit
apineux Apr 25, 2019
bf71f00
[TEST] Check that cron delete attachment after TTL
apineux Apr 25, 2019
539448a
[IMP] Improve security for the asynchronous export by linking the att…
apineux Apr 25, 2019
417d0d8
[IMP] Improve the use of dates and config_parameter
apineux Apr 25, 2019
9754d7b
[FIX] Can read odoobot email address
apineux Apr 30, 2019
f98be8c
[IMP] Change Warning by UserError
apineux Apr 30, 2019
af6bc7f
[IMP] Improve naming
apineux May 24, 2019
fb394e8
[IMP] Split method + comments
apineux May 24, 2019
7f81e39
[IMP] Add the model description instead of name on the email subject
apineux Jun 19, 2019
64e611b
[UPD] Update base_export_async.pot
oca-travis Jun 21, 2019
c65e625
Added translation using Weblate (German)
marylla Jul 4, 2019
324581e
Translated using Weblate (German)
marylla Jul 4, 2019
1d62fe3
Added translation using Weblate (Chinese (Simplified))
liweijie0812 Jul 25, 2019
7a90ecf
Translated using Weblate (Chinese (Simplified))
liweijie0812 Jul 25, 2019
d3db46e
[UPD] README.rst
OCA-git-bot Jul 29, 2019
2a46b19
Added translation using Weblate (Chinese (Simplified))
liweijie0812 Aug 29, 2019
e166b53
Rename Chinese translation files
liweijie0812 Aug 30, 2019
f98b7f6
Set modules as uninstallable
Oct 1, 2019
4793625
Run pre-commit with black, isort, ...
Oct 4, 2019
b5fa5d2
Support several recipient users in base_export_async
Nov 21, 2019
65b88de
[UPD] Update base_export_async.pot
oca-travis Jun 11, 2020
5474ab9
[UPD] README.rst
OCA-git-bot Jun 11, 2020
76bc0cb
Update translation files
oca-transbot Jun 11, 2020
274085a
Added translation using Weblate (French)
ypapouin Nov 20, 2020
859b970
Translated using Weblate (French)
ypapouin Nov 20, 2020
66532cb
Update translation files
oca-transbot Nov 22, 2020
6bb73da
Added translation using Weblate (Danish)
hhgabelgaard Feb 7, 2021
48f0cb5
Translated using Weblate (Danish)
hhgabelgaard Feb 7, 2021
b9dc148
Added translation using Weblate (Portuguese)
pedrocs-exo Mar 4, 2021
770b4c4
Translated using Weblate (Portuguese)
pedrocs-exo Mar 4, 2021
fcfbd58
Added translation using Weblate (Italian)
primes2h Jul 6, 2021
9d37c8c
[IMP] base_export_async: black, isort, prettier
vincent-cowboy Jan 17, 2023
2f2d17c
[MIG] base_export_async: Migration to 15.0
vincent-cowboy Jan 17, 2023
bde3530
[REF] base_export_async: send mail via delay_export_mail_template
vincent-cowboy Jan 25, 2023
07773b2
[UPD] Update base_export_async.pot
Jun 30, 2023
39c4388
[UPD] README.rst
OCA-git-bot Jun 30, 2023
913dc06
Update translation files
weblate Jun 30, 2023
5326c72
[MIG] base_export_async: Migration to 16.0
Jul 10, 2023
8f289e8
[16.0][MIG] base_export_async: Fix test
asierneiradev Jul 14, 2023
46d05db
[16.0][MIG] base_export_async: Fix assets, imports and format
Jul 17, 2023
fea260f
[UPD] Update base_export_async.pot
Jul 24, 2023
fc6359f
[UPD] README.rst
OCA-git-bot Jul 24, 2023
cd194cb
Added translation using Weblate (Spanish)
bencoronel Jul 24, 2023
3cc72e6
Translated using Weblate (Spanish)
bencoronel Jul 24, 2023
38bb4ed
[UPD] README.rst
OCA-git-bot Sep 3, 2023
8eb0c2f
Update translation files
weblate Oct 9, 2023
469a743
Translated using Weblate (Italian)
mymage Jan 11, 2024
e442a28
Translated using Weblate (Italian)
mymage Apr 4, 2024
28e22f1
Translated using Weblate (French)
didierdonze May 1, 2024
76ac721
[FIX] Access error on ir.attachment create
hhgabelgaard Oct 31, 2023
851a592
[BOT] post-merge updates
OCA-git-bot Jan 28, 2025
ecf5204
Added translation using Weblate (Croatian)
uvid-gordana Feb 27, 2025
386cd49
[ADD] base_export_async: make attachment accessible to portal users
hbrunn Mar 21, 2025
7b4708c
[BOT] post-merge updates
OCA-git-bot Jan 2, 2026
0e216bd
[MIG] base_export_async: Migration to 17.0
mitul-tsd Jan 12, 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
88 changes: 88 additions & 0 deletions base_export_async/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
=================
Base Export Async
=================

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

.. |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)
- Mitul Shah (TradeSolutions.Digital GmbH)

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
31 changes: 31 additions & 0 deletions base_export_async/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# 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": [
# added this additional rule as when the export happens
# from queue job module there is no user is there,
# which was causing an issue when fetching res.currency
"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>
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