28 lines
935 B
Python
28 lines
935 B
Python
from odoo import fields, models
|
|
|
|
|
|
class CarboneTranslateLine(models.Model):
|
|
_name = "carbone.translate.line"
|
|
_description = "Carbone Translate Line"
|
|
_rec_name = "source"
|
|
|
|
carbone_translate_id = fields.Many2one(
|
|
"carbone.translate", string="Carbone Translate", required=True, ondelete="cascade"
|
|
)
|
|
source = fields.Text(string="Source term")
|
|
value = fields.Text(string="Translation Value", default="")
|
|
_sql_constraints = [
|
|
(
|
|
"source_value_uniq",
|
|
"UNIQUE(source, value, carbone_translate_id)",
|
|
"A report cannot have two translations for the same value.",
|
|
)
|
|
]
|
|
|
|
def write(self, vals):
|
|
# We replace occurrences of the value 'False'
|
|
# with a null string. Carbone does not interpret 'false' in translations.
|
|
if "value" in vals and not vals.get("value"):
|
|
vals["value"] = ""
|
|
return super().write(vals)
|