Repository
OCA/server-tools · module folder · Try on Runboat
Module version
1.0.1
Category
Tools
Folder size
0.4 MB
License
LGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/server-tools
Last tracking update
2026-08-15 23:48:10
Authors
Akretion, Odoo Community Association (OCA)
Maintainers
Akretion, Odoo Community Association (OCA)
Committers
Ricardoalso, Maksym Yankin, Weblate, OCA-git-bot, oca-ci
Odoo dependencies
odoo/odoo:
- web
- bus
Python dependencies
None
System dependencies
None
Required by
None
Description
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.

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
vacuum_rule_form_view vacuum.rule.form.view vacuum.rule form New
vacuum_rule_tree_view vacuum.rule.form.view vacuum.rule list New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (5)

New fields (0)

No new fields.

Public methods (2)
  • autovacuum(self, ttype='message')
    @api.model
  • batch_unlink(self)

New fields (1)
  • assigned_attachment_ids One2many → ir.attachment
    auto_join=True domain=<expr> string='Assigned Attachments' args: 'ir.attachment', 'res_id'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (16)
  • active Boolean
    default=True
  • company_id Many2one → res.company
    default=<expr> string='Company' args: 'res.company'
  • description Text
  • empty_model Boolean
    help='Take into account attachment not linked to any model, but only if a pattern is set, to avoid deleting attachments generated/needed by odoo'
  • empty_subtype Boolean
    help='Take also into account messages with no subtypes'
  • filename_pattern Char
    help='If set, only attachments containing this pattern will be deleted.'
  • inheriting_model Char
    help='If set, this model will be searched and only related attachments will be deleted.\n\nN.B: model must implement _inherits to link ir.attachment'
  • message_subtype_ids Many2many → mail.message.subtype
    help="Message subtypes concerned by the rule. If left empty, the system won't take the subtype into account to find the messages to delete" string='Subtypes' args: 'mail.message.subtype'
  • message_type Selection
    args: [('email', 'Email'), ('comment', 'Comment'), ('notification', 'System notification'), ('user_notification', 'User Specific Notification'), ('all', 'All')]
  • model Char
    compute='_compute_model_id' string='Model code'
  • model_filter_domain Text
  • model_id Many2one → ir.model
    compute='_compute_model_id' help='Technical field used to set attributes (invisible/required, domain, etc...for other fields, like the domain filter' args: 'ir.model'
  • model_ids Many2many → ir.model
    help='Models concerned by the rule. If left empty, it will take all models into account' string='Models' args: 'ir.model'
  • name Char
    required=True
  • retention_time Integer
    default=365 help='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.' required=True
  • ttype Selection
    required=True selection=[('attachment', 'Attachment'), ('message', 'Message')] string='Type'
Public methods (1)
  • retention_time_not_null(self)
    @api.constrains('retention_time')

Loading…

Loading…

Loading…

Loading…