Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
590c1db
[ADD] New module base_export_async to allow asynchronous export
apineux Apr 19, 2019
04f194a
[IMP] add ir.model.access
apineux Apr 19, 2019
cf66c45
[IMP] PEP8 & JS
apineux Apr 19, 2019
7c4058c
[TEST] add test for base_export_async
apineux Apr 19, 2019
e2b1df7
[IMP] get email from current user
apineux Apr 19, 2019
a3ef534
[IMP] Generated Readme
apineux Apr 23, 2019
49f506e
[IMP] URL to attachment to avoid email size limit
apineux Apr 25, 2019
39f8d1d
[TEST] Check that cron delete attachment after TTL
apineux Apr 25, 2019
08c90cd
[IMP] Improve security for the asynchronous export by linking the att…
apineux Apr 25, 2019
98da6c1
[IMP] Improve the use of dates and config_parameter
apineux Apr 25, 2019
20153b2
[FIX] Can read odoobot email address
apineux Apr 30, 2019
35383ad
[IMP] Change Warning by UserError
apineux Apr 30, 2019
93d735d
[IMP] Improve naming
apineux May 24, 2019
5f551c8
[IMP] Split method + comments
apineux May 24, 2019
6c28b52
[IMP] Add the model description instead of name on the email subject
apineux Jun 19, 2019
cea72ff
[UPD] Update base_export_async.pot
oca-travis Jun 21, 2019
010348d
Added translation using Weblate (German)
marylla Jul 4, 2019
ffa29e4
Translated using Weblate (German)
marylla Jul 4, 2019
8fe630c
Added translation using Weblate (Chinese (Simplified))
liweijie0812 Jul 25, 2019
4f66490
Translated using Weblate (Chinese (Simplified))
liweijie0812 Jul 25, 2019
1788281
[UPD] README.rst
OCA-git-bot Jul 29, 2019
af30444
Added translation using Weblate (Chinese (Simplified))
liweijie0812 Aug 29, 2019
2f99c92
Rename Chinese translation files
liweijie0812 Aug 30, 2019
c18a263
Set modules as uninstallable
guewen Oct 1, 2019
b23c87d
Run pre-commit with black, isort, ...
guewen Oct 4, 2019
98ba582
Support several recipient users in base_export_async
guewen Nov 21, 2019
263ee67
[UPD] Update base_export_async.pot
oca-travis Jun 11, 2020
2c94aaf
[UPD] README.rst
OCA-git-bot Jun 11, 2020
79b54f7
Update translation files
oca-transbot Jun 11, 2020
09bfd94
Added translation using Weblate (French)
ypapouin Nov 20, 2020
2a48878
Translated using Weblate (French)
ypapouin Nov 20, 2020
e47ba01
Update translation files
oca-transbot Nov 22, 2020
5cb800e
Added translation using Weblate (Danish)
hhgabelgaard Feb 7, 2021
2f9bb26
Translated using Weblate (Danish)
hhgabelgaard Feb 7, 2021
edb51fc
Added translation using Weblate (Portuguese)
pedrocs-exo Mar 4, 2021
3aead8d
Translated using Weblate (Portuguese)
pedrocs-exo Mar 4, 2021
d9a1c8c
Added translation using Weblate (Italian)
primes2h Jul 6, 2021
a6857ad
[IMP] base_export_async: black, isort, prettier
vincent-cowboy Jan 17, 2023
c3ead7b
[MIG] base_export_async: Migration to 15.0
vincent-cowboy Jan 17, 2023
f7c4338
[REF] base_export_async: send mail via delay_export_mail_template
vincent-cowboy Jan 25, 2023
b0d1fd1
[UPD] Update base_export_async.pot
Jun 30, 2023
874462f
[UPD] README.rst
OCA-git-bot Jun 30, 2023
20f6e11
Update translation files
weblate Jun 30, 2023
ecb0d2c
[MIG] base_export_async: Migration to 16.0
Jul 10, 2023
9594631
[16.0][MIG] base_export_async: Fix test
asierneiradev Jul 14, 2023
6bcf5ec
[16.0][MIG] base_export_async: Fix assets, imports and format
Jul 17, 2023
204d5d0
[UPD] Update base_export_async.pot
Jul 24, 2023
be0b325
[UPD] README.rst
OCA-git-bot Jul 24, 2023
3445507
Added translation using Weblate (Spanish)
bencoronel Jul 24, 2023
9eeb538
Translated using Weblate (Spanish)
bencoronel Jul 24, 2023
6791667
[UPD] README.rst
OCA-git-bot Sep 3, 2023
0180270
Update translation files
weblate Oct 9, 2023
56925e3
Translated using Weblate (Italian)
mymage Jan 11, 2024
c502394
Translated using Weblate (Italian)
mymage Apr 4, 2024
7a9edbd
Translated using Weblate (French)
didierdonze May 1, 2024
cb55e92
[FIX] Access error on ir.attachment create
hhgabelgaard Oct 31, 2023
805fa8b
[BOT] post-merge updates
OCA-git-bot Jan 28, 2025
9209964
Added translation using Weblate (Croatian)
uvid-gordana Feb 27, 2025
7564bed
[IMP] base_export_async: pre-commit auto fixes
pierre-halleux Nov 3, 2025
af3b019
[18.0][MIG] base_export_async: migrate
pierre-halleux Nov 3, 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