Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
bf5c1a1
Migrate autovacuum_mail_message to version 12 and rename it
florian-dacosta Jun 29, 2019
7e37c59
Add possibility to delete attachments
florian-dacosta Sep 19, 2019
f19a383
[REF] autovacuum_message_attachment: Improve the way we manage domains
etobella Jan 21, 2020
32d913c
[FIX] autovacuum_message_attachment : wrong message formating
fmdl Jun 19, 2020
737cd36
[FIX] autovacuum_message_attachment: The field name cannot be used as…
etobella Oct 14, 2020
9b56003
[IMP] autovacuum_message_attachment: black, isort, prettier
etobella Jun 21, 2021
661f16a
[MIG] autovacuum_message_attachment: Migration to 13.0
etobella Jun 21, 2021
1110601
[IMP] autovacuum_message_attachment: black, isort, prettier
hkapatel-initos Jul 15, 2021
f13a80a
[MIG] autovacuum_message_attachment: Migration to 14.0
hkapatel-initos Jul 20, 2021
ca19747
Added translation using Weblate (Catalan)
ofonseca-pyming Feb 14, 2022
639c449
Added translation using Weblate (Spanish (Argentina))
ibuioli Aug 31, 2022
a3a6c6e
Translated using Weblate (Spanish (Argentina))
ibuioli Aug 31, 2022
7d054c7
Improve building of domain through osv.expression
grindtildeath Dec 5, 2022
4d0f371
Add selection of attachments through inheriting model
grindtildeath Dec 6, 2022
42968a1
Translated using Weblate (Spanish (Argentina))
ibuioli May 25, 2023
d33227b
[MIG] autovacuum_message_attachment : migrate to v16
florian-dacosta Nov 24, 2023
7377a07
[UPD] autovacuum_message_attachment : add maintainer
florian-dacosta Nov 24, 2023
3cd138d
[IMP] Allow to delete attachment without res_model
florian-dacosta Dec 28, 2023
30da736
[UPD] Update autovacuum_message_attachment.pot
Feb 2, 2024
36b3c8d
Added translation using Weblate (Italian)
mymage Feb 9, 2024
a6e480f
Added translation using Weblate (Spanish)
Ivorra78 Feb 12, 2024
4d2de42
Translated using Weblate (Spanish)
Ivorra78 Feb 13, 2024
2200df5
Translated using Weblate (Spanish)
Ivorra78 Feb 14, 2024
f20159b
Translated using Weblate (Italian)
mymage Mar 6, 2024
cfeae75
[FIX] autovacuum_message_attachment : fix inheriting_model feature
florian-dacosta Apr 8, 2024
0cb5bb0
Translated using Weblate (Spanish (Argentina))
ibuioli Apr 28, 2024
ae31a0d
Translated using Weblate (Italian)
mymage May 28, 2024
5e32221
Translated using Weblate (Spanish (Argentina))
ibuioli Aug 13, 2024
f334e25
Translated using Weblate (Italian)
mymage Aug 17, 2024
f026b28
[IMP] autovacuum_message_attachment: pre-commit auto fixes
yankinmax Jan 8, 2025
2e0ef21
[18.0][MIG] autovacuum_message_attachment: Migration to 18.0
yankinmax Jan 21, 2025
272553f
[UPD] Update autovacuum_message_attachment.pot
Jan 27, 2025
a966658
[BOT] post-merge updates
OCA-git-bot Jan 27, 2025
649b158
Update translation files
weblate Jan 27, 2025
cb34450
[UPD] Update autovacuum_message_attachment.pot
Jan 28, 2025
e223e48
Update translation files
weblate Jan 28, 2025
eab649a
[UPD] Update autovacuum_message_attachment.pot
Feb 13, 2025
21df9c8
Update translation files
weblate Feb 13, 2025
0045302
autovacuum_message_attachment: replace old tree node by list node
Ricardoalso Feb 26, 2025
f6bb709
[UPD] Update autovacuum_message_attachment.pot
Mar 16, 2025
b9c8993
Update translation files
weblate Mar 16, 2025
0ecc46a
[BOT] post-merge updates
OCA-git-bot Mar 24, 2025
f1de0b2
[UPD] Update autovacuum_message_attachment.pot
May 20, 2025
1e24510
Update translation files
weblate May 20, 2025
fe73b3b
[UPD] Update autovacuum_message_attachment.pot
May 21, 2025
b9f3c3d
Update translation files
weblate May 21, 2025
acd6450
[UPD] Update autovacuum_message_attachment.pot
Jun 23, 2025
4a4e039
Update translation files
weblate Jun 23, 2025
903f198
[UPD] Update autovacuum_message_attachment.pot
Jul 22, 2025
c537f9b
Update translation files
weblate Jul 22, 2025
a754490
[UPD] Update autovacuum_message_attachment.pot
Aug 14, 2025
530a0ab
Update translation files
weblate Aug 14, 2025
b714fe9
[UPD] Update autovacuum_message_attachment.pot
Sep 17, 2025
3a85fd3
Update translation files
weblate Sep 17, 2025
b328d8f
[UPD] Update autovacuum_message_attachment.pot
Sep 19, 2025
35fca9b
Update translation files
weblate Sep 19, 2025
c6660e0
[UPD] Update autovacuum_message_attachment.pot
Sep 30, 2025
2f72551
Update translation files
weblate Sep 30, 2025
bd71cf3
[UPD] Update autovacuum_message_attachment.pot
Oct 1, 2025
16535b9
Update translation files
weblate Oct 1, 2025
6bddc39
[UPD] Update autovacuum_message_attachment.pot
Oct 9, 2025
4bf1617
Update translation files
weblate Oct 9, 2025
268956b
[UPD] Update autovacuum_message_attachment.pot
Oct 9, 2025
bdbae9a
Update translation files
weblate Oct 9, 2025
a5a13a5
[UPD] Update autovacuum_message_attachment.pot
Oct 16, 2025
3ca9762
Update translation files
weblate Oct 16, 2025
03bcaea
[UPD] Update autovacuum_message_attachment.pot
Dec 16, 2025
e895335
Update translation files
weblate Dec 16, 2025
48c8eb2
[UPD] Update autovacuum_message_attachment.pot
Mar 6, 2026
f88be45
Update translation files
weblate Mar 6, 2026
c31d4fd
[UPD] Update autovacuum_message_attachment.pot
Apr 30, 2026
414d6e8
Update translation files
weblate Apr 30, 2026
6983a53
[UPD] Update autovacuum_message_attachment.pot
May 20, 2026
084f609
Update translation files
weblate May 20, 2026
1ca1f25
[UPD] Update autovacuum_message_attachment.pot
Jun 10, 2026
4e4a396
Update translation files
weblate Jun 10, 2026
442f73c
[UPD] Update autovacuum_message_attachment.pot
Aug 15, 2026
b48dd59
Update translation files
weblate Aug 15, 2026
386678a
[MIG] autovacuum_message_attachment: Migration to 19.0
nirav-cr Sep 16, 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
119 changes: 119 additions & 0 deletions autovacuum_message_attachment/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

======================================
AutoVacuum Mail Message and Attachment
======================================

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

.. |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/license-LGPL--3-blue.png
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github
:target: https://github.com/OCA/server-tools/tree/19.0/autovacuum_message_attachment
:alt: OCA/server-tools
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/server-tools-19-0/server-tools-19-0-autovacuum_message_attachment
: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/server-tools&target_branch=19.0
:alt: Try me on Runboat

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

Odoo create a lot of message and/or mails. With time it can slow the
system or take a lot of disk space. The goal of this module is to clean
these message once they are obsolete. The same may happen with
attachment that we store. You can choose various criterias manage which
messages you want to delete automatically.

**Table of contents**

.. contents::
:local:

Configuration
=============

- Go to the menu configuration => Technical => Email => Message And
Attachment Vacuum Rules
- Add the adequates rules for your company. On each rule, you can
indicate the models, type and subtypes for which you want to delete
the messages, along with a retention time (in days). Or for
attachment, you can specify a substring of the name.
- Activate the cron AutoVacuum Mails and Messages and/or AutoVacuum
Attachments

It is recommanded to run it frequently and when the system is not very
loaded. (For instance : once a day, during the night.)

Known issues / Roadmap
======================

You have to be careful with rules regarding attachment deletion because
Odoo find the attachment to delete with their name. Odoo will find all
attachments containing the substring configured on the rule, so you have
to be specific enough on the other criterias (concerned models...) to
avoid unwanted attachment deletion.

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-tools/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/server-tools/issues/new?body=module:%20autovacuum_message_attachment%0Aversion:%2019.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
-------

* Akretion

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

- Florian da Costa <florian.dacosta@akretion.com>
- Enric Tobella <etobella@creublanca.es>
- Helly kapatel <helly.kapatel@initos.com>
- Akim Juillerat <akim.juillerat@camptocamp.com>

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.

.. |maintainer-florian-dacosta| image:: https://github.com/florian-dacosta.png?size=40px
:target: https://github.com/florian-dacosta
:alt: florian-dacosta

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-florian-dacosta|

This module is part of the `OCA/server-tools <https://github.com/OCA/server-tools/tree/19.0/autovacuum_message_attachment>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions autovacuum_message_attachment/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
16 changes: 16 additions & 0 deletions autovacuum_message_attachment/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Copyright (C) 2018 Akretion
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).

{
"name": "AutoVacuum Mail Message and Attachment",
"version": "19.0.1.0.0",
"category": "Tools",
"website": "https://github.com/OCA/server-tools",
"author": "Akretion, Odoo Community Association (OCA)",
"license": "LGPL-3",
"installable": True,
"summary": "Automatically delete old mail messages and attachments",
"maintainers": ["florian-dacosta"],
"depends": ["mail"],
"data": ["data/data.xml", "views/rule_vacuum.xml", "security/ir.model.access.csv"],
}
23 changes: 23 additions & 0 deletions autovacuum_message_attachment/data/data.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record id="ir_cron_vacuum_message" model="ir.cron">
<field name="name">AutoVacuum Mails and Messages</field>
<field eval="False" name="active" />
<field name="user_id" ref="base.user_root" />
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="state">code</field>
<field name="code">model.autovacuum('message')</field>
<field name="model_id" ref="mail.model_mail_message" />
</record>
<record id="ir_cron_vacuum_attachment" model="ir.cron">
<field name="name">AutoVacuum Attachments</field>
<field eval="False" name="active" />
<field name="user_id" ref="base.user_root" />
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="state">code</field>
<field name="code">model.autovacuum('attachment')</field>
<field name="model_id" ref="base.model_ir_attachment" />
</record>
</odoo>
148 changes: 148 additions & 0 deletions autovacuum_message_attachment/i18n/autovacuum_mail_message.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * autovacuum_mail_message
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\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: autovacuum_mail_message
#: selection:message.vacuum.rule,message_type:0
msgid "All"
msgstr ""

#. module: autovacuum_mail_message
#: selection:message.vacuum.rule,message_type:0
msgid "Comment"
msgstr ""

#. module: autovacuum_mail_message
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_company_id
msgid "Company"
msgstr ""

#. module: autovacuum_mail_message
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_create_uid
msgid "Created by"
msgstr ""

#. module: autovacuum_mail_message
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_create_date
msgid "Created on"
msgstr ""

#. module: autovacuum_mail_message
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_display_name
msgid "Display Name"
msgstr ""

#. module: autovacuum_mail_message
#: selection:message.vacuum.rule,message_type:0
msgid "Email"
msgstr ""

#. module: autovacuum_mail_message
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_empty_subtype
msgid "Empty subtype"
msgstr ""

#. module: autovacuum_mail_message
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_id
msgid "ID"
msgstr ""

#. module: autovacuum_mail_message
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule___last_update
msgid "Last Modified on"
msgstr ""

#. module: autovacuum_mail_message
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_write_uid
msgid "Last Updated by"
msgstr ""

#. module: autovacuum_mail_message
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_write_date
msgid "Last Updated on"
msgstr ""

#. module: autovacuum_mail_message
#: model:ir.model,name:autovacuum_mail_message.model_mail_message
msgid "Message"
msgstr ""

#. module: autovacuum_mail_message
#: model:ir.actions.act_window,name:autovacuum_mail_message.action_message_vacuum_rule
#: model:ir.ui.menu,name:autovacuum_mail_message.menu_action_message_vacuum_rule
#: model:ir.ui.view,arch_db:autovacuum_mail_message.message_vacuum_rule_form_view
msgid "Message Vacuum Rule"
msgstr ""

#. module: autovacuum_mail_message
#: model:ir.model.fields,help:autovacuum_mail_message.field_message_vacuum_rule_message_subtype_ids
msgid "Message subtypes concerned by the rule. If left empty, the system won't take the subtype into account to find the messages to delete"
msgstr ""

#. module: autovacuum_mail_message
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_message_type
msgid "Message type"
msgstr ""

#. module: autovacuum_mail_message
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_model_ids
msgid "Models"
msgstr ""

#. module: autovacuum_mail_message
#: model:ir.model.fields,help:autovacuum_mail_message.field_message_vacuum_rule_model_ids
msgid "Models concerned by the rule. If left empty, it will take all models into account"
msgstr ""

#. module: autovacuum_mail_message
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_name
msgid "Name"
msgstr ""

#. module: autovacuum_mail_message
#: model:ir.model.fields,help:autovacuum_mail_message.field_message_vacuum_rule_retention_time
msgid "Number of days the messages concerned by this rule will be keeped in the database after creation. Once the delay is passed, they will be automatically deleted."
msgstr ""

#. module: autovacuum_mail_message
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_retention_time
msgid "Retention time"
msgstr ""

#. module: autovacuum_mail_message
#: model:ir.model,name:autovacuum_mail_message.model_message_vacuum_rule
msgid "Rules Used to delete message historic"
msgstr ""

#. module: autovacuum_mail_message
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_message_subtype_ids
msgid "Subtypes"
msgstr ""

#. module: autovacuum_mail_message
#: selection:message.vacuum.rule,message_type:0
msgid "System notification"
msgstr ""

#. module: autovacuum_mail_message
#: model:ir.model.fields,help:autovacuum_mail_message.field_message_vacuum_rule_empty_subtype
msgid "Take also into account messages with no subtypes"
msgstr ""

#. module: autovacuum_mail_message
#: code:addons/autovacuum_mail_message/models/message_vacuum_rule.py:48
#, python-format
msgid "The Retention Time can't be 0 days"
msgstr ""

Loading
Loading