Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
09dda96
Migrate autovacuum_mail_message to version 12 and rename it
florian-dacosta Jun 29, 2019
214b9d3
Add possibility to delete attachments
florian-dacosta Sep 19, 2019
91aa5ee
[REF] autovacuum_message_attachment: Improve the way we manage domains
etobella Jan 21, 2020
6d026fd
[FIX] autovacuum_message_attachment : wrong message formating
fmdl Jun 19, 2020
c541ffa
[FIX] autovacuum_message_attachment: The field name cannot be used as…
etobella Oct 14, 2020
9fffba1
[IMP] autovacuum_message_attachment: black, isort, prettier
etobella Jun 21, 2021
6ba6c08
[MIG] autovacuum_message_attachment: Migration to 13.0
etobella Jun 21, 2021
a006317
[IMP] autovacuum_message_attachment: black, isort, prettier
hkapatel-initos Jul 15, 2021
7130036
[MIG] autovacuum_message_attachment: Migration to 14.0
hkapatel-initos Jul 20, 2021
4c70a57
Added translation using Weblate (Catalan)
ofonseca-pyming Feb 14, 2022
cc25a96
Added translation using Weblate (Spanish (Argentina))
ibuioli Aug 31, 2022
9ff492e
Translated using Weblate (Spanish (Argentina))
ibuioli Aug 31, 2022
550f009
Improve building of domain through osv.expression
grindtildeath Dec 5, 2022
055d644
Add selection of attachments through inheriting model
grindtildeath Dec 6, 2022
0f1c97d
Translated using Weblate (Spanish (Argentina))
ibuioli May 25, 2023
26f7a66
[MIG] autovacuum_message_attachment : migrate to v16
florian-dacosta Nov 24, 2023
dba2f1d
[UPD] autovacuum_message_attachment : add maintainer
florian-dacosta Nov 24, 2023
8e50725
[IMP] Allow to delete attachment without res_model
florian-dacosta Dec 28, 2023
7036c55
[UPD] Update autovacuum_message_attachment.pot
Feb 2, 2024
5faca6f
Added translation using Weblate (Italian)
mymage Feb 9, 2024
aa1a13c
Added translation using Weblate (Spanish)
Ivorra78 Feb 12, 2024
7c7a270
Translated using Weblate (Spanish)
Ivorra78 Feb 13, 2024
cfe7844
Translated using Weblate (Spanish)
Ivorra78 Feb 14, 2024
d0f03de
Translated using Weblate (Italian)
mymage Mar 6, 2024
2cb04d1
[FIX] autovacuum_message_attachment : fix inheriting_model feature
florian-dacosta Apr 8, 2024
0057614
Translated using Weblate (Spanish (Argentina))
ibuioli Apr 28, 2024
aec3489
Translated using Weblate (Italian)
mymage May 28, 2024
0503e7b
Translated using Weblate (Spanish (Argentina))
ibuioli Aug 13, 2024
86fb482
Translated using Weblate (Italian)
mymage Aug 17, 2024
f140121
[IMP] autovacuum_message_attachment: pre-commit auto fixes
yankinmax Jan 8, 2025
7c67f16
[18.0][MIG] autovacuum_message_attachment: Migration to 18.0
yankinmax Jan 21, 2025
f37d9fe
[UPD] Update autovacuum_message_attachment.pot
Jan 27, 2025
3508560
[BOT] post-merge updates
OCA-git-bot Jan 27, 2025
aad67e7
Update translation files
weblate Jan 27, 2025
06c7777
[UPD] Update autovacuum_message_attachment.pot
Jan 28, 2025
a0cb449
Update translation files
weblate Jan 28, 2025
e2bae81
[UPD] Update autovacuum_message_attachment.pot
Feb 13, 2025
1edf02d
Update translation files
weblate Feb 13, 2025
ecfe7b2
autovacuum_message_attachment: replace old tree node by list node
Ricardoalso Feb 26, 2025
85c3ab8
[UPD] Update autovacuum_message_attachment.pot
Mar 16, 2025
77bbf5d
Update translation files
weblate Mar 16, 2025
fc98490
[BOT] post-merge updates
OCA-git-bot Mar 24, 2025
929cd39
[UPD] Update autovacuum_message_attachment.pot
May 20, 2025
637ee1c
Update translation files
weblate May 20, 2025
ece6ba3
[UPD] Update autovacuum_message_attachment.pot
May 21, 2025
ceda0ed
Update translation files
weblate May 21, 2025
bff6c5f
[UPD] Update autovacuum_message_attachment.pot
Jun 23, 2025
b2a9a2e
Update translation files
weblate Jun 23, 2025
aa379d5
[UPD] Update autovacuum_message_attachment.pot
Jul 22, 2025
75ec899
Update translation files
weblate Jul 22, 2025
5eacd37
[UPD] Update autovacuum_message_attachment.pot
Aug 14, 2025
90b2a62
Update translation files
weblate Aug 14, 2025
75af2bb
[UPD] Update autovacuum_message_attachment.pot
Sep 17, 2025
76fcded
Update translation files
weblate Sep 17, 2025
559a864
[UPD] Update autovacuum_message_attachment.pot
Sep 19, 2025
9d1527e
Update translation files
weblate Sep 19, 2025
6284d05
[UPD] Update autovacuum_message_attachment.pot
Sep 30, 2025
1f583a1
Update translation files
weblate Sep 30, 2025
9c4e1d9
[UPD] Update autovacuum_message_attachment.pot
Oct 1, 2025
eac7558
Update translation files
weblate Oct 1, 2025
461b3bb
[UPD] Update autovacuum_message_attachment.pot
Oct 9, 2025
69fd9fe
Update translation files
weblate Oct 9, 2025
3c12b02
[UPD] Update autovacuum_message_attachment.pot
Oct 9, 2025
b93a082
Update translation files
weblate Oct 9, 2025
2911dd6
[UPD] Update autovacuum_message_attachment.pot
Oct 16, 2025
27648e0
Update translation files
weblate Oct 16, 2025
ca988a6
[UPD] Update autovacuum_message_attachment.pot
Dec 16, 2025
fa30311
Update translation files
weblate Dec 16, 2025
86f7e91
[UPD] Update autovacuum_message_attachment.pot
Mar 6, 2026
2bf72a1
Update translation files
weblate Mar 6, 2026
e1164e2
[UPD] Update autovacuum_message_attachment.pot
Apr 30, 2026
6cf9488
Update translation files
weblate Apr 30, 2026
50d95bc
[UPD] Update autovacuum_message_attachment.pot
May 20, 2026
7f57522
Update translation files
weblate May 20, 2026
b83f25b
[IMP] autovacuum_message_attachment: pre-commit auto fixes
dnplkndll May 30, 2026
96a1eea
[MIG] autovacuum_message_attachment: Migration to 19.0
dnplkndll May 30, 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:8fd901effbb033bc2726c19d54ccba6aea73284add3a7b53f7f81f2c59e9ba78
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |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