[REF] autovacuum_message_attachment: Improve the way we manage domains

pull/3183/head
Enric Tobella 2020-01-21 16:41:55 +01:00 committed by GabbasovDinar
parent 23ab41df79
commit acb678973f
No known key found for this signature in database
GPG Key ID: 29C4D35381B4C360
12 changed files with 1668 additions and 150 deletions

View File

@ -0,0 +1,93 @@
======================================
AutoVacuum Mail Message and Attachment
======================================
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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-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/12.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-12-0/server-tools-12-0-autovacuum_message_attachment
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/149/12.0
:alt: Try me on Runbot
|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 smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/server-tools/issues/new?body=module:%20autovacuum_message_attachment%0Aversion:%2012.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>
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/server-tools <https://github.com/OCA/server-tools/tree/12.0/autovacuum_message_attachment>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

@ -0,0 +1,548 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * autovacuum_message_attachment
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.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: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__active
msgid "Active"
msgstr ""
#. module: autovacuum_message_attachment
#: selection:vacuum.rule,message_type:0
msgid "All"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model,name:autovacuum_message_attachment.model_ir_attachment
#: selection:vacuum.rule,ttype:0
msgid "Attachment"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field__unknown__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_abstract_conditional_image__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_abstract_config_settings__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_abstract_payment__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_account__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_account_tag__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_account_template__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_account_type__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_analytic_account__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_analytic_distribution__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_analytic_group__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_analytic_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_analytic_tag__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_bank_statement__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_bank_statement_cashbox__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_bank_statement_closebalance__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_bank_statement_import__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_bank_statement_import_journal_creation__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_bank_statement_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_cash_rounding__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_cashbox_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_chart_template__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_common_journal_report__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_common_report__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_financial_year_op__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_fiscal_position__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_fiscal_position_account__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_fiscal_position_account_template__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_fiscal_position_tax__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_fiscal_position_tax_template__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_fiscal_position_template__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_fiscal_year__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_full_reconcile__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_group__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_incoterms__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_invoice__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_invoice_confirm__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_invoice_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_invoice_refund__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_invoice_report__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_invoice_send__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_invoice_tax__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_journal__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_move__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_move_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_move_reversal__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_partial_reconcile__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_payment__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_payment_method__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_payment_term__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_payment_term_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_print_journal__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_reconcile_model__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_reconcile_model_template__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_reconciliation_widget__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_register_payments__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_setup_bank_manual_config__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_tax__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_tax_group__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_tax_template__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_unreconcile__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_attachment_queue__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_auditlog_autovacuum__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_auditlog_http_request__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_auditlog_http_session__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_auditlog_log__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_auditlog_log_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_auditlog_rule__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_autovacuum_mixin__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_exception__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_exception_method__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_import__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_mapping__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_char__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_char_noreadonly__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_char_readonly__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_char_required__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_char_states__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_char_stillreadonly__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_complex__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_float__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_m2o__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_m2o_related__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_m2o_required__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_m2o_required_related__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_o2m__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_o2m_child__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_preview__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_kanban_abstract__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_kanban_stage__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_language_export__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_language_import__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_language_install__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_module_uninstall__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_module_update__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_module_upgrade__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_partner_merge_automatic_wizard__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_partner_merge_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_update_translations__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_bus_bus__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_bus_presence__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cash_box_in__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cash_box_out__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_change_password_user__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_change_password_wizard__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_company_country_config_settings__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_crm_team__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_custom_info__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_custom_info_category__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_custom_info_option__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_custom_info_property__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_custom_info_template__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_custom_info_value__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_db_backup__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_decimal_precision__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_decimal_precision_test__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_digest_digest__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_digest_tip__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_exception_rule__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_exception_rule_confirm__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_fetchmail_server__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_format_address_mixin__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_iap_account__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_image__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_act_url__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_act_window__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_act_window_close__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_act_window_view__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_actions__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_client__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_report__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_server__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_todo__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_attachment__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_autovacuum__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_config_parameter__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_cron__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_default__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_demo__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_demo_failure__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_demo_failure_wizard__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_exports__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_exports_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_fields_converter__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_filters__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_http__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_logging__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_mail_server__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_model__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_model_access__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_model_constraint__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_model_data__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_model_fields__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_model_relation__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_module_author__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_module_category__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_module_module__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_module_module_dependency__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_module_module_exclusion__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_module_type__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_module_type_rule__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_property__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_barcode__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_contact__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_date__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_datetime__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_duration__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_float__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_float_time__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_html__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_image__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_integer__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_many2many__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_many2one__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_monetary__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_qweb__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_relative__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_selection__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_text__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_rule__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_sequence__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_sequence_date_range__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_server_object_lines__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_translation__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_ui_menu__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_ui_view__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_ui_view_custom__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_activity__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_activity_mixin__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_activity_type__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_alias__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_alias_mixin__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_blacklist__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_blacklist_mixin__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_bot__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_channel__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_channel_partner__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_followers__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_mail__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_message_subtype__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_moderation__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_notification__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_resend_cancel__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_resend_message__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_resend_partner__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_shortcode__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_test__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_test_activity__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_test_full__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_test_simple__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_test_track__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_thread__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_tracking_value__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_wizard_invite__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_payment_acquirer__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_payment_acquirer_onboarding_wizard__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_payment_icon__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_payment_token__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_payment_transaction__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_portal_mixin__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_portal_share__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_portal_wizard__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_portal_wizard_user__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_attribute__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_attribute_custom_value__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_attribute_value__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_category__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_packaging__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_price_history__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_price_list__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_pricelist__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_pricelist_item__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_product__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_supplierinfo__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_template__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_template_attribute_exclusion__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_template_attribute_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_template_attribute_value__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_publisher_warranty_contract__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_account_report_agedpartnerbalance__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_account_report_invoice_with_payments__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_account_report_journal__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_all_channels_sales__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_base_report_irmodulereference__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_layout__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_paperformat__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_product_report_pricelist__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_sale_report_saleproforma__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_bank__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_company__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_config__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_config_installer__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_config_settings__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_country__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_country_group__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_country_state__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_currency__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_currency_rate__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_groups__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_lang__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_partner__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_partner_autocomplete_sync__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_partner_bank__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_partner_category__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_partner_industry__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_partner_title__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_remote__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_users__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_users_log__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_advance_payment_inv__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_order__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_order_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_order_option__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_order_template__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_order_template_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_order_template_option__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_payment_acquirer_onboarding_wizard__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_product_configurator__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_report__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sequence_standard_default__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sms_api__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sms_send_sms__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_snailmail_letter__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sql_export__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sql_file_wizard__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sql_request_mixin__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_tax_adjustments_wizard__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_test_performance_base__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_test_performance_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_test_performance_mail__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_test_performance_tag__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_trgm_index__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_uom_category__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_uom_uom__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_validate_account_move__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_web_editor_converter_test_sub__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_web_tour_tour__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_wizard_ir_model_menu_create__attachment_ids
msgid "Attachments"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.actions.server,name:autovacuum_message_attachment.ir_cron_vacuum_attachment_ir_actions_server
#: model:ir.cron,cron_name:autovacuum_message_attachment.ir_cron_vacuum_attachment
#: model:ir.cron,name:autovacuum_message_attachment.ir_cron_vacuum_attachment
msgid "AutoVacuum Attachments"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.actions.server,name:autovacuum_message_attachment.ir_cron_vacuum_message_ir_actions_server
#: model:ir.cron,cron_name:autovacuum_message_attachment.ir_cron_vacuum_message
#: model:ir.cron,name:autovacuum_message_attachment.ir_cron_vacuum_message
msgid "AutoVacuum Mails and Messages"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model,name:autovacuum_message_attachment.model_base
msgid "Base"
msgstr ""
#. module: autovacuum_message_attachment
#: selection:vacuum.rule,message_type:0
msgid "Comment"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__company_id
msgid "Company"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__create_uid
msgid "Created by"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__create_date
msgid "Created on"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__description
#: model_terms:ir.ui.view,arch_db:autovacuum_message_attachment.vacuum_rule_form_view
msgid "Description"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_autovacuum_mixin__display_name
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__display_name
msgid "Display Name"
msgstr ""
#. module: autovacuum_message_attachment
#: selection:vacuum.rule,message_type:0
msgid "Email"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__empty_subtype
msgid "Empty Subtype"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__filename_pattern
msgid "Filename Pattern"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_autovacuum_mixin__id
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__id
msgid "ID"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,help:autovacuum_message_attachment.field_vacuum_rule__filename_pattern
msgid "If set, only attachments containing this pattern will be deleted."
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_autovacuum_mixin____last_update
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule____last_update
msgid "Last Modified on"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__write_uid
msgid "Last Updated by"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__write_date
msgid "Last Updated on"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model,name:autovacuum_message_attachment.model_mail_message
#: selection:vacuum.rule,ttype:0
msgid "Message"
msgstr ""
#. module: autovacuum_message_attachment
#: model_terms:ir.ui.view,arch_db:autovacuum_message_attachment.vacuum_rule_form_view
msgid "Message Models"
msgstr ""
#. module: autovacuum_message_attachment
#: model_terms:ir.ui.view,arch_db:autovacuum_message_attachment.vacuum_rule_form_view
msgid "Message Subtypes"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__message_type
msgid "Message Type"
msgstr ""
#. module: autovacuum_message_attachment
#: model_terms:ir.ui.view,arch_db:autovacuum_message_attachment.vacuum_rule_form_view
msgid "Message Vacuum Rule"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.actions.act_window,name:autovacuum_message_attachment.action_vacuum_rule
#: model:ir.ui.menu,name:autovacuum_message_attachment.menu_action_vacuum_rule
msgid "Message and Attachment Vacuum Rule"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,help:autovacuum_message_attachment.field_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_message_attachment
#: model:ir.model,name:autovacuum_message_attachment.model_autovacuum_mixin
msgid "Mixin used to delete messages or attachments"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__model_id
msgid "Model"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__model_filter_domain
msgid "Model Filter Domain"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__model
msgid "Model code"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__model_ids
msgid "Models"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,help:autovacuum_message_attachment.field_vacuum_rule__model_ids
msgid "Models concerned by the rule. If left empty, it will take all models into account"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__name
msgid "Name"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,help:autovacuum_message_attachment.field_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_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__retention_time
msgid "Retention Time"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model,name:autovacuum_message_attachment.model_vacuum_rule
msgid "Rules Used to delete message historic"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__message_subtype_ids
msgid "Subtypes"
msgstr ""
#. module: autovacuum_message_attachment
#: selection:vacuum.rule,message_type:0
msgid "System notification"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,help:autovacuum_message_attachment.field_vacuum_rule__empty_subtype
msgid "Take also into account messages with no subtypes"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,help:autovacuum_message_attachment.field_vacuum_rule__model_id
msgid "Technical field used to set attributes (invisible/required, domain, etc...for other fields, like the domain filter"
msgstr ""
#. module: autovacuum_message_attachment
#: code:addons/autovacuum_message_attachment/models/vacuum_rule.py:77
#, python-format
msgid "The Retention Time can't be 0 days"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__ttype
msgid "Type"
msgstr ""

View File

@ -16,90 +16,458 @@ msgstr ""
"Content-Transfer-Encoding: \n" "Content-Transfer-Encoding: \n"
"Plural-Forms: \n" "Plural-Forms: \n"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: selection:message.vacuum.rule,message_type:0 #: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__active
msgid "Active"
msgstr ""
#. module: autovacuum_message_attachment
#: selection:vacuum.rule,message_type:0
msgid "All" msgid "All"
msgstr "Tous" msgstr "Tous"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: selection:message.vacuum.rule,message_type:0 #: model:ir.model,name:autovacuum_message_attachment.model_ir_attachment
#: selection:vacuum.rule,ttype:0
msgid "Attachment"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field__unknown__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_abstract_conditional_image__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_abstract_config_settings__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_abstract_payment__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_account__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_account_tag__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_account_template__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_account_type__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_analytic_account__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_analytic_distribution__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_analytic_group__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_analytic_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_analytic_tag__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_bank_statement__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_bank_statement_cashbox__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_bank_statement_closebalance__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_bank_statement_import__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_bank_statement_import_journal_creation__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_bank_statement_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_cash_rounding__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_cashbox_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_chart_template__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_common_journal_report__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_common_report__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_financial_year_op__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_fiscal_position__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_fiscal_position_account__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_fiscal_position_account_template__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_fiscal_position_tax__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_fiscal_position_tax_template__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_fiscal_position_template__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_fiscal_year__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_full_reconcile__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_group__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_incoterms__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_invoice__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_invoice_confirm__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_invoice_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_invoice_refund__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_invoice_report__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_invoice_send__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_invoice_tax__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_journal__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_move__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_move_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_move_reversal__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_partial_reconcile__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_payment__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_payment_method__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_payment_term__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_payment_term_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_print_journal__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_reconcile_model__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_reconcile_model_template__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_reconciliation_widget__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_register_payments__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_setup_bank_manual_config__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_tax__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_tax_group__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_tax_template__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_unreconcile__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_attachment_queue__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_auditlog_autovacuum__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_auditlog_http_request__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_auditlog_http_session__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_auditlog_log__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_auditlog_log_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_auditlog_rule__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_autovacuum_mixin__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_exception__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_exception_method__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_import__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_mapping__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_char__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_char_noreadonly__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_char_readonly__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_char_required__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_char_states__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_char_stillreadonly__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_complex__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_float__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_m2o__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_m2o_related__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_m2o_required__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_m2o_required_related__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_o2m__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_o2m_child__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_preview__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_kanban_abstract__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_kanban_stage__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_language_export__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_language_import__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_language_install__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_module_uninstall__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_module_update__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_module_upgrade__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_partner_merge_automatic_wizard__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_partner_merge_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_update_translations__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_bus_bus__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_bus_presence__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cash_box_in__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cash_box_out__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_change_password_user__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_change_password_wizard__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_company_country_config_settings__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_crm_team__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_custom_info__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_custom_info_category__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_custom_info_option__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_custom_info_property__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_custom_info_template__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_custom_info_value__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_db_backup__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_decimal_precision__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_decimal_precision_test__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_digest_digest__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_digest_tip__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_exception_rule__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_exception_rule_confirm__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_fetchmail_server__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_format_address_mixin__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_iap_account__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_image__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_act_url__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_act_window__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_act_window_close__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_act_window_view__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_actions__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_client__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_report__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_server__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_todo__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_attachment__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_autovacuum__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_config_parameter__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_cron__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_default__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_demo__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_demo_failure__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_demo_failure_wizard__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_exports__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_exports_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_fields_converter__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_filters__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_http__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_logging__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_mail_server__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_model__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_model_access__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_model_constraint__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_model_data__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_model_fields__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_model_relation__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_module_author__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_module_category__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_module_module__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_module_module_dependency__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_module_module_exclusion__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_module_type__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_module_type_rule__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_property__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_barcode__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_contact__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_date__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_datetime__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_duration__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_float__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_float_time__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_html__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_image__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_integer__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_many2many__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_many2one__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_monetary__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_qweb__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_relative__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_selection__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_text__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_rule__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_sequence__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_sequence_date_range__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_server_object_lines__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_translation__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_ui_menu__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_ui_view__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_ui_view_custom__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_activity__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_activity_mixin__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_activity_type__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_alias__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_alias_mixin__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_blacklist__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_blacklist_mixin__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_bot__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_channel__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_channel_partner__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_followers__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_mail__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_message_subtype__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_moderation__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_notification__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_resend_cancel__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_resend_message__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_resend_partner__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_shortcode__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_test__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_test_activity__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_test_full__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_test_simple__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_test_track__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_thread__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_tracking_value__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_wizard_invite__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_payment_acquirer__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_payment_acquirer_onboarding_wizard__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_payment_icon__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_payment_token__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_payment_transaction__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_portal_mixin__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_portal_share__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_portal_wizard__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_portal_wizard_user__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_attribute__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_attribute_custom_value__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_attribute_value__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_category__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_packaging__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_price_history__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_price_list__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_pricelist__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_pricelist_item__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_product__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_supplierinfo__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_template__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_template_attribute_exclusion__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_template_attribute_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_template_attribute_value__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_publisher_warranty_contract__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_account_report_agedpartnerbalance__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_account_report_invoice_with_payments__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_account_report_journal__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_all_channels_sales__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_base_report_irmodulereference__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_layout__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_paperformat__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_product_report_pricelist__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_sale_report_saleproforma__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_bank__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_company__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_config__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_config_installer__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_config_settings__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_country__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_country_group__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_country_state__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_currency__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_currency_rate__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_groups__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_lang__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_partner__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_partner_autocomplete_sync__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_partner_bank__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_partner_category__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_partner_industry__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_partner_title__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_remote__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_users__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_users_log__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_advance_payment_inv__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_order__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_order_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_order_option__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_order_template__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_order_template_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_order_template_option__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_payment_acquirer_onboarding_wizard__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_product_configurator__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_report__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sequence_standard_default__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sms_api__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sms_send_sms__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_snailmail_letter__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sql_export__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sql_file_wizard__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sql_request_mixin__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_tax_adjustments_wizard__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_test_performance_base__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_test_performance_line__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_test_performance_mail__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_test_performance_tag__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_trgm_index__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_uom_category__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_uom_uom__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_validate_account_move__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_web_editor_converter_test_sub__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_web_tour_tour__attachment_ids
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_wizard_ir_model_menu_create__attachment_ids
msgid "Attachments"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.actions.server,name:autovacuum_message_attachment.ir_cron_vacuum_attachment_ir_actions_server
#: model:ir.cron,cron_name:autovacuum_message_attachment.ir_cron_vacuum_attachment
#: model:ir.cron,name:autovacuum_message_attachment.ir_cron_vacuum_attachment
msgid "AutoVacuum Attachments"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.actions.server,name:autovacuum_message_attachment.ir_cron_vacuum_message_ir_actions_server
#: model:ir.cron,cron_name:autovacuum_message_attachment.ir_cron_vacuum_message
#: model:ir.cron,name:autovacuum_message_attachment.ir_cron_vacuum_message
msgid "AutoVacuum Mails and Messages"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model,name:autovacuum_message_attachment.model_base
msgid "Base"
msgstr ""
#. module: autovacuum_message_attachment
#: selection:vacuum.rule,message_type:0
msgid "Comment" msgid "Comment"
msgstr "Commentaires" msgstr "Commentaires"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_company_id #: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__company_id
msgid "Company" msgid "Company"
msgstr "Société" msgstr "Société"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_create_uid #: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__create_uid
msgid "Created by" msgid "Created by"
msgstr "Créé par" msgstr "Créé par"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_create_date #: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__create_date
msgid "Created on" msgid "Created on"
msgstr "Créé le" msgstr "Créé le"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_display_name #: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__description
#: model_terms:ir.ui.view,arch_db:autovacuum_message_attachment.vacuum_rule_form_view
msgid "Description"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_autovacuum_mixin__display_name
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__display_name
msgid "Display Name" msgid "Display Name"
msgstr "Nom à afficher" msgstr "Nom à afficher"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: selection:message.vacuum.rule,message_type:0 #: selection:vacuum.rule,message_type:0
msgid "Email" msgid "Email"
msgstr "Email" msgstr "Email"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_empty_subtype #: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__empty_subtype
msgid "Empty subtype" #, fuzzy
msgid "Empty Subtype"
msgstr "Sous-type Vide" msgstr "Sous-type Vide"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_id #: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__filename_pattern
msgid "Filename Pattern"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_autovacuum_mixin__id
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__id
msgid "ID" msgid "ID"
msgstr "ID" msgstr "ID"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule___last_update #: model:ir.model.fields,help:autovacuum_message_attachment.field_vacuum_rule__filename_pattern
msgid "If set, only attachments containing this pattern will be deleted."
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_autovacuum_mixin____last_update
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule____last_update
msgid "Last Modified on" msgid "Last Modified on"
msgstr "Dernière modification le" msgstr "Dernière modification le"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_write_uid #: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__write_uid
msgid "Last Updated by" msgid "Last Updated by"
msgstr "Dernière modification par" msgstr "Dernière modification par"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_write_date #: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__write_date
msgid "Last Updated on" msgid "Last Updated on"
msgstr "Dernière mise à jour le" msgstr "Dernière mise à jour le"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.model,name:autovacuum_mail_message.model_mail_message #: model:ir.model,name:autovacuum_message_attachment.model_mail_message
#: selection:vacuum.rule,ttype:0
msgid "Message" msgid "Message"
msgstr "Message" msgstr "Message"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.ui.view,arch_db:autovacuum_mail_message.message_vacuum_rule_form_view #: model_terms:ir.ui.view,arch_db:autovacuum_message_attachment.vacuum_rule_form_view
msgid "Message Models" msgid "Message Models"
msgstr "Documents des messages" msgstr "Documents des messages"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.ui.view,arch_db:autovacuum_mail_message.message_vacuum_rule_form_view #: model_terms:ir.ui.view,arch_db:autovacuum_message_attachment.vacuum_rule_form_view
msgid "Message Subtypes" msgid "Message Subtypes"
msgstr "Sous-types des messages" msgstr "Sous-types des messages"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.actions.act_window,name:autovacuum_mail_message.action_message_vacuum_rule #: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__message_type
#: model:ir.ui.menu,name:autovacuum_mail_message.menu_action_message_vacuum_rule #, fuzzy
#: model:ir.ui.view,arch_db:autovacuum_mail_message.message_vacuum_rule_form_view msgid "Message Type"
msgstr "Type de message"
#. module: autovacuum_message_attachment
#: model_terms:ir.ui.view,arch_db:autovacuum_message_attachment.vacuum_rule_form_view
msgid "Message Vacuum Rule" msgid "Message Vacuum Rule"
msgstr "Règle de supression des messages" msgstr "Règle de supression des messages"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.model.fields,help:autovacuum_mail_message.field_message_vacuum_rule_message_subtype_ids #: model:ir.actions.act_window,name:autovacuum_message_attachment.action_vacuum_rule
#: model:ir.ui.menu,name:autovacuum_message_attachment.menu_action_vacuum_rule
#, fuzzy
msgid "Message and Attachment Vacuum Rule"
msgstr "Règle de supression des messages"
#. module: autovacuum_message_attachment
#: model:ir.model.fields,help:autovacuum_message_attachment.field_vacuum_rule__message_subtype_ids
msgid "" msgid ""
"Message subtypes concerned by the rule. If left empty, the system won't take " "Message subtypes concerned by the rule. If left empty, the system won't take "
"the subtype into account to find the messages to delete" "the subtype into account to find the messages to delete"
@ -108,18 +476,36 @@ msgstr ""
"système ne prendra pas en compte les sous type pour trouver les messages à " "système ne prendra pas en compte les sous type pour trouver les messages à "
"supprimer" "supprimer"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_message_type #: model:ir.model,name:autovacuum_message_attachment.model_autovacuum_mixin
msgid "Message type" #, fuzzy
msgstr "Type de message" msgid "Mixin used to delete messages or attachments"
msgstr "Règle de supression automatique de message"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_model_ids #: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__model_id
#, fuzzy
msgid "Model"
msgstr "Documents"
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__model_filter_domain
msgid "Model Filter Domain"
msgstr ""
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__model
#, fuzzy
msgid "Model code"
msgstr "Documents"
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__model_ids
msgid "Models" msgid "Models"
msgstr "Documents" msgstr "Documents"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.model.fields,help:autovacuum_mail_message.field_message_vacuum_rule_model_ids #: model:ir.model.fields,help:autovacuum_message_attachment.field_vacuum_rule__model_ids
msgid "" msgid ""
"Models concerned by the rule. If left empty, it will take all models into " "Models concerned by the rule. If left empty, it will take all models into "
"account" "account"
@ -127,13 +513,13 @@ msgstr ""
"Documents concernés par la règle. Si c'est laissé vide, les messages de tous " "Documents concernés par la règle. Si c'est laissé vide, les messages de tous "
"les modèles seront pris en compte" "les modèles seront pris en compte"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_name #: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__name
msgid "Name" msgid "Name"
msgstr "Nom" msgstr "Nom"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.model.fields,help:autovacuum_mail_message.field_message_vacuum_rule_retention_time #: model:ir.model.fields,help:autovacuum_message_attachment.field_vacuum_rule__retention_time
msgid "" msgid ""
"Number of days the messages concerned by this rule will be keeped in the " "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 " "database after creation. Once the delay is passed, they will be "
@ -142,37 +528,50 @@ msgstr ""
"Nombre de jour de rétention des messages concerné par la règle. Une fois ce " "Nombre de jour de rétention des messages concerné par la règle. Une fois ce "
"délai passé, les messages sont automatiquement supprimés" "délai passé, les messages sont automatiquement supprimés"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_retention_time #: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__retention_time
msgid "Retention time" #, fuzzy
msgid "Retention Time"
msgstr "Temps de rétention" msgstr "Temps de rétention"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.model,name:autovacuum_mail_message.model_message_vacuum_rule #: model:ir.model,name:autovacuum_message_attachment.model_vacuum_rule
msgid "Rules Used to delete message historic" msgid "Rules Used to delete message historic"
msgstr "Règle de supression automatique de message" msgstr "Règle de supression automatique de message"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_mail_message.field_message_vacuum_rule_message_subtype_ids #: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__message_subtype_ids
msgid "Subtypes" msgid "Subtypes"
msgstr "Sous-types" msgstr "Sous-types"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: selection:message.vacuum.rule,message_type:0 #: selection:vacuum.rule,message_type:0
msgid "System notification" msgid "System notification"
msgstr "Notification Système" msgstr "Notification Système"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: model:ir.model.fields,help:autovacuum_mail_message.field_message_vacuum_rule_empty_subtype #: model:ir.model.fields,help:autovacuum_message_attachment.field_vacuum_rule__empty_subtype
msgid "Take also into account messages with no subtypes" msgid "Take also into account messages with no subtypes"
msgstr "Prend également en compte les messages sans aucun sous-type" msgstr "Prend également en compte les messages sans aucun sous-type"
#. module: autovacuum_mail_message #. module: autovacuum_message_attachment
#: code:addons/autovacuum_mail_message/models/message_vacuum_rule.py:48 #: model:ir.model.fields,help:autovacuum_message_attachment.field_vacuum_rule__model_id
msgid ""
"Technical field used to set attributes (invisible/required, domain, etc..."
"for other fields, like the domain filter"
msgstr ""
#. module: autovacuum_message_attachment
#: code:addons/autovacuum_message_attachment/models/vacuum_rule.py:77
#, python-format #, python-format
msgid "The Retention Time can't be 0 days" msgid "The Retention Time can't be 0 days"
msgstr "Le temps de retention ne peut pas être de 0 jours." msgstr "Le temps de retention ne peut pas être de 0 jours."
#. module: autovacuum_message_attachment
#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__ttype
msgid "Type"
msgstr ""
#~ msgid "Companies" #~ msgid "Companies"
#~ msgstr "Sociétés" #~ msgstr "Sociétés"

View File

@ -2,3 +2,4 @@ from . import autovacuum_mixin
from . import ir_attachment from . import ir_attachment
from . import mail_message from . import mail_message
from . import vacuum_rule from . import vacuum_rule
from . import base

View File

@ -5,6 +5,8 @@ import logging
import odoo import odoo
from odoo import api, models from odoo import api, models
from odoo.tools.safe_eval import safe_eval
import datetime
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)
@ -40,6 +42,30 @@ class AutovacuumMixin(models.AbstractModel):
def autovacuum(self, ttype='message'): def autovacuum(self, ttype='message'):
rules = self.env['vacuum.rule'].search([('ttype', '=', ttype)]) rules = self.env['vacuum.rule'].search([('ttype', '=', ttype)])
for rule in rules: for rule in rules:
domain = rule.get_domain() records = rule._search_autovacuum_records()
records = self.search(domain)
records.batch_unlink() records.batch_unlink()
def _get_autovacuum_domain(self, rule):
return []
def _get_autovacuum_records(self, rule):
if rule.model_id and rule.model_filter_domain:
return self._get_autovacuum_records_model(rule)
return self.search(self._get_autovacuum_domain(rule))
def _get_autovacuum_records_model(self, rule):
domain = self._get_autovacuum_domain(rule)
record_domain = safe_eval(rule.model_filter_domain,
locals_dict={'datetime': datetime})
autovacuum_relation = self._autovacuum_relation
for leaf in domain:
if not isinstance(leaf, (tuple, list)):
record_domain.append(leaf)
continue
field, operator, value = leaf
record_domain.append(
('%s.%s' % (autovacuum_relation, field), operator, value))
records = self.env[rule.model_id.model].search(record_domain)
return self.search(
domain + [('res_id', 'in', records.ids)]
)

View File

@ -0,0 +1,13 @@
# Copyright (C) 2019 Akretion
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
from odoo import fields, models
class Base(models.AbstractModel):
_inherit = "base"
attachment_ids = fields.One2many(
'ir.attachment', 'res_id', string='Attachments',
domain=lambda self: [('res_model', '=', self._name)], auto_join=True
)

View File

@ -1,9 +1,27 @@
# Copyright (C) 2018 Akretion # Copyright (C) 2018 Akretion
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
from odoo import models from odoo import fields, models
from datetime import timedelta
class IrAttachment(models.Model): class IrAttachment(models.Model):
_name = "ir.attachment" _name = "ir.attachment"
_inherit = ["ir.attachment", "autovacuum.mixin"] _inherit = ["ir.attachment", "autovacuum.mixin"]
_autovacuum_relation = 'attachment_ids'
def _get_autovacuum_domain(self, rule):
domain = super()._get_autovacuum_domain(rule)
today = fields.Datetime.now()
limit_date = today - timedelta(days=rule.retention_time)
domain += [('create_date', '<', limit_date)]
if rule.filename_pattern:
domain += [('name', 'ilike', rule.filename_pattern)]
if rule.model_ids:
models = rule.model_ids.mapped('model')
domain += [('res_model', 'in', models)]
else:
# Avoid deleting attachment without model, if there are, it is
# probably some attachments created by Odoo
domain += [('res_model', '!=', False)]
return domain

View File

@ -1,10 +1,32 @@
# -*- coding: utf-8 -*-
# Copyright (C) 2018 Akretion # Copyright (C) 2018 Akretion
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
from odoo import models from odoo import fields, models
from datetime import timedelta
class MailMessage(models.Model): class MailMessage(models.Model):
_name = "mail.message" _name = "mail.message"
_inherit = ["mail.message", "autovacuum.mixin"] _inherit = ["mail.message", "autovacuum.mixin"]
_autovacuum_relation = 'message_ids'
def _get_autovacuum_domain(self, rule):
domain = super()._get_autovacuum_domain(rule)
today = fields.Datetime.now()
limit_date = today - timedelta(days=rule.retention_time)
domain += [('date', '<', limit_date)]
if rule.message_type != 'all':
domain += [('message_type', '=', rule.message_type)]
if rule.model_ids:
models = rule.model_ids.mapped('model')
domain += [('model', 'in', models)]
subtype_ids = rule.message_subtype_ids.ids
if subtype_ids and rule.empty_subtype:
domain = [
'|', ('subtype_id', 'in', subtype_ids),
('subtype_id', '=', False)]
elif subtype_ids and not rule.empty_subtype:
domain += [('subtype_id', 'in', subtype_ids)]
elif not subtype_ids and not rule.empty_subtype:
domain += [('subtype_id', '!=', False)]
return domain

View File

@ -1,12 +1,7 @@
# Copyright (C) 2018 Akretion # Copyright (C) 2018 Akretion
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
from datetime import date, timedelta
from odoo import _, api, exceptions, fields, models from odoo import _, api, exceptions, fields, models
from odoo.tools import DEFAULT_SERVER_DATE_FORMAT
from odoo.tools.safe_eval import safe_eval
import datetime
class VacuumRule(models.Model): class VacuumRule(models.Model):
@ -19,8 +14,10 @@ class VacuumRule(models.Model):
for rule in self: for rule in self:
if rule.model_ids and len(rule.model_ids) == 1: if rule.model_ids and len(rule.model_ids) == 1:
rule.model_id = rule.model_ids.id rule.model_id = rule.model_ids.id
rule.model = rule.model_id.model
else: else:
rule.model_id = False rule.model_id = False
rule.model = False
name = fields.Char(required=True) name = fields.Char(required=True)
ttype = fields.Selection( ttype = fields.Selection(
@ -53,6 +50,11 @@ class VacuumRule(models.Model):
"domain, etc...for other fields, like the domain filter") "domain, etc...for other fields, like the domain filter")
model_filter_domain = fields.Text( model_filter_domain = fields.Text(
string='Model Filter Domain') string='Model Filter Domain')
model = fields.Char(
readonly=True,
compute='_get_model_id',
string='Model code'
)
message_type = fields.Selection([ message_type = fields.Selection([
('email', 'Email'), ('email', 'Email'),
('comment', 'Comment'), ('comment', 'Comment'),
@ -74,61 +76,11 @@ class VacuumRule(models.Model):
raise exceptions.ValidationError( raise exceptions.ValidationError(
_("The Retention Time can't be 0 days")) _("The Retention Time can't be 0 days"))
@api.multi def _search_autovacuum_records(self):
def _get_message_domain(self):
today = date.today()
limit_date = (today - timedelta(days=self.retention_time)).strftime(
DEFAULT_SERVER_DATE_FORMAT)
message_domain = [('date', '<', limit_date)]
if self.message_type != 'all':
message_domain += [('message_type', '=', self.message_type)]
if self.model_ids:
models = self.model_ids.mapped('model')
message_domain += [('model', 'in', models)]
subtype_ids = self.message_subtype_ids.ids
if subtype_ids and self.empty_subtype:
message_domain = ['|', ('subtype_id', 'in', subtype_ids),
('subtype_id', '=', False)]
elif subtype_ids and not self.empty_subtype:
message_domain += [('subtype_id', 'in', subtype_ids)]
elif not subtype_ids and not self.empty_subtype:
message_domain += [('subtype_id', '!=', False)]
return message_domain
@api.multi
def _get_attachment_domain(self):
today = date.today()
limit_date = (today - timedelta(days=self.retention_time)).strftime(
DEFAULT_SERVER_DATE_FORMAT)
attachment_domain = [('create_date', '<', limit_date)]
if self.filename_pattern:
attachment_domain += [('name', 'ilike', self.filename_pattern)]
if self.model_ids:
models = self.model_ids.mapped('model')
attachment_domain += [('res_model', 'in', models)]
else:
# Avoid deleting attachment without model, if there are, it is
# probably some attachments created by Odoo
attachment_domain += [('res_model', '!=', False)]
return attachment_domain
@api.multi
def get_domain(self):
self.ensure_one() self.ensure_one()
domain = [] model = self.ttype
if self.ttype == 'message': if model == 'message':
domain += self._get_message_domain() model = 'mail.message'
elif self.ttype == 'attachment': elif model == 'attachment':
domain += self._get_attachment_domain() model = 'ir.attachment'
return self.env[model]._get_autovacuum_records(self)
# Case we want a condition on linked model records
if self.model_id and self.model_filter_domain:
record_domain = safe_eval(self.model_filter_domain,
locals_dict={'datetime': datetime})
res_ids = self.env[self.model_id.model].with_context(
active_test=False).search(record_domain).ids
domain += ['|', ('res_id', 'in', res_ids),
('res_id', '=', False)]
return domain

View File

@ -1 +1,2 @@
* Florian da Costa <florian.dacosta@akretion.com> * Florian da Costa <florian.dacosta@akretion.com>
* Enric Tobella <etobella@creublanca.es>

View File

@ -0,0 +1,440 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.15.1: http://docutils.sourceforge.net/" />
<title>AutoVacuum Mail Message and Attachment</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: grey; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document" id="autovacuum-mail-message-and-attachment">
<h1 class="title">AutoVacuum Mail Message and Attachment</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/licence-LGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/server-tools/tree/12.0/autovacuum_message_attachment"><img alt="OCA/server-tools" src="https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/server-tools-12-0/server-tools-12-0-autovacuum_message_attachment"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/149/12.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>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.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#configuration" id="id1">Configuration</a></li>
<li><a class="reference internal" href="#known-issues-roadmap" id="id2">Known issues / Roadmap</a></li>
<li><a class="reference internal" href="#bug-tracker" id="id3">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="id4">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="id5">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="id6">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="id7">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="configuration">
<h1><a class="toc-backref" href="#id1">Configuration</a></h1>
<ul class="simple">
<li>Go to the menu configuration =&gt; Technical =&gt; Email =&gt; Message And Attachment Vacuum Rules</li>
<li>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.</li>
<li>Activate the cron AutoVacuum Mails and Messages and/or AutoVacuum Attachments</li>
</ul>
<p>It is recommanded to run it frequently and when the system is not very loaded.
(For instance : once a day, during the night.)</p>
</div>
<div class="section" id="known-issues-roadmap">
<h1><a class="toc-backref" href="#id2">Known issues / Roadmap</a></h1>
<p>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.</p>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#id3">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/server-tools/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/server-tools/issues/new?body=module:%20autovacuum_message_attachment%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#id4">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#id5">Authors</a></h2>
<ul class="simple">
<li>Akretion</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#id6">Contributors</a></h2>
<ul class="simple">
<li>Florian da Costa &lt;<a class="reference external" href="mailto:florian.dacosta&#64;akretion.com">florian.dacosta&#64;akretion.com</a>&gt;</li>
<li>Enric Tobella &lt;<a class="reference external" href="mailto:etobella&#64;creublanca.es">etobella&#64;creublanca.es</a>&gt;</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#id7">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>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.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/server-tools/tree/12.0/autovacuum_message_attachment">OCA/server-tools</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</body>
</html>

View File

@ -8,30 +8,35 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Message Vacuum Rule"> <form string="Message Vacuum Rule">
<sheet> <sheet>
<group col="1">
<group col="4"> <group col="4">
<group col="4" colspan="4"> <field name="name"/>
<field name="name" colspan="2"/> <field name="ttype"/>
<field name="ttype" colspan="2"/> <field name="company_id"/>
<field name="company_id" colspan="2"/> <field name="retention_time"/>
<field name="retention_time" colspan="2"/> <field name="active"/>
<field name="active" colspan="2"/>
</group> </group>
<group col="4" colspan="4" attrs="{'invisible': [('ttype', '!=', 'message')]}"> <group col="4" attrs="{'invisible': [('ttype', '!=', 'message')]}">
<field name="message_type" attrs="{'required': [('ttype', '=', 'message')]}" colspan="2"/> <field name="message_type" attrs="{'required': [('ttype', '=', 'message')]}"/>
<field name="empty_subtype" colspan="2"/> <field name="empty_subtype"/>
<separator string="Message Subtypes" colspan="4"/>
<field name="message_subtype_ids" nolabel="1" colspan="4"/>
</group> </group>
<group col="4" colspan="4" attrs="{'invisible': [('ttype', '!=', 'attachment')]}"> <group string="Message Subtypes">
<field name="filename_pattern" colspan="2"/> <field name="message_subtype_ids" nolabel="1"/>
</group>
<group attrs="{'invisible': [('ttype', '!=', 'attachment')]}">
<field name="filename_pattern"/>
</group>
<group string="Message Models">
<field name="model_ids" nolabel="1"/>
</group>
<group>
<field name="model_id"/>
<field name="model" invisible="1"/>
<field name="model_filter_domain" attrs="{'invisible': [('model_id', '=', False)]}" widget="domain" options="{'model': 'model'}"/>
</group>
<group string="Description">
<field name="description"/>
</group> </group>
<separator string="Message Models" colspan="4"/>
<field name="model_ids" nolabel="1" colspan="4"/>
<field name="model_id" colspan="4"/>
<field name="model_filter_domain" attrs="{'invisible': [('model_id', '=', False)]}" colspan="4"/>
<separator string="Description" colspan="4"/>
<field name="description" nolabel="1" colspan="4"/>
</group> </group>
</sheet> </sheet>
</form> </form>