mail/models/mail_message_translation.py
Данил Воробьев 6e6f15d803 initial commit
2024-05-03 09:40:35 +00:00

33 lines
1.2 KiB
Python

# Part of Odoo. See LICENSE file for full copyright and licensing details.
from dateutil.relativedelta import relativedelta
from odoo import api, fields, models
class MessageTranslation(models.Model):
_name = "mail.message.translation"
_description = "Message Translation"
message_id = fields.Many2one("mail.message", "Message", required=True, ondelete="cascade")
source_lang = fields.Char(
"Source Language", required=True, help="Result of the language detection based on its content."
)
target_lang = fields.Char(
"Target Language", required=True, help="Shortened language code used as the target for the translation request."
)
body = fields.Html(
"Translation Body", required=True, sanitize_style=True, help="String received from the translation request."
)
create_date = fields.Datetime(index=True)
def init(self):
self.env.cr.execute(
f"CREATE UNIQUE INDEX IF NOT EXISTS mail_message_translation_unique ON {self._table} (message_id, target_lang)"
)
@api.autovacuum
def _gc_translations(self):
treshold = fields.Datetime().now() - relativedelta(weeks=2)
self.search([("create_date", "<", treshold)]).unlink()