summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorRaphael Collet <rco@odoo.com>2019-02-14 14:37:48 +0000
committerXavier Morel <xmo@odoo.com>2020-04-07 09:25:08 +0000
commit1b1b2142f163e323e2d73bec6b380272a9c42998 (patch)
tree1bded85eb3e004978ae58129cf76963d3ecf754f /addons
parent00c82d3121bc28c4902f8f084d2bb2807350c560 (diff)
[IMP] fields: add validation of parameter names
Diffstat (limited to 'addons')
-rw-r--r--addons/base_sparse_field/models/models.py7
-rw-r--r--addons/mail/models/ir_model.py11
-rw-r--r--addons/mail/models/mail_thread.py4
-rw-r--r--addons/payment/models/payment_acquirer.py3
4 files changed, 25 insertions, 0 deletions
diff --git a/addons/base_sparse_field/models/models.py b/addons/base_sparse_field/models/models.py
index 0f9a2deebf5..1991306a631 100644
--- a/addons/base_sparse_field/models/models.py
+++ b/addons/base_sparse_field/models/models.py
@@ -6,6 +6,13 @@ from odoo import models, fields, api, _
from odoo.exceptions import UserError
+class Base(models.AbstractModel):
+ _inherit = 'base'
+
+ def _valid_field_parameter(self, field, name):
+ return name == 'sparse' or super()._valid_field_parameter(field, name)
+
+
class IrModelFields(models.Model):
_inherit = 'ir.model.fields'
diff --git a/addons/mail/models/ir_model.py b/addons/mail/models/ir_model.py
index 8d3cc258069..9b7589318e6 100644
--- a/addons/mail/models/ir_model.py
+++ b/addons/mail/models/ir_model.py
@@ -5,6 +5,17 @@ from odoo import _, api, fields, models
from odoo.exceptions import UserError
+class Base(models.AbstractModel):
+ _inherit = 'base'
+
+ def _valid_field_parameter(self, field, name):
+ # allow tracking on abstract models; see also 'mail.thread'
+ return (
+ name == 'tracking' and self._abstract
+ or super()._valid_field_parameter(field, name)
+ )
+
+
class IrModel(models.Model):
_inherit = 'ir.model'
_order = 'is_mail_thread DESC, name ASC'
diff --git a/addons/mail/models/mail_thread.py b/addons/mail/models/mail_thread.py
index 8b639ae5207..75ed62c8a8e 100644
--- a/addons/mail/models/mail_thread.py
+++ b/addons/mail/models/mail_thread.py
@@ -112,6 +112,10 @@ class MailThread(models.AbstractModel):
message_attachment_count = fields.Integer('Attachment Count', compute='_compute_message_attachment_count', groups="base.group_user")
message_main_attachment_id = fields.Many2one(string="Main Attachment", comodel_name='ir.attachment', index=True, copy=False)
+ def _valid_field_parameter(self, field, name):
+ # allow tracking on models inheriting from 'mail.thread'
+ return name == 'tracking' or super()._valid_field_parameter(field, name)
+
@api.depends('message_follower_ids')
def _get_followers(self):
for thread in self:
diff --git a/addons/payment/models/payment_acquirer.py b/addons/payment/models/payment_acquirer.py
index c8c79d0e51d..281d47c15c6 100644
--- a/addons/payment/models/payment_acquirer.py
+++ b/addons/payment/models/payment_acquirer.py
@@ -61,6 +61,9 @@ class PaymentAcquirer(models.Model):
_description = 'Payment Acquirer'
_order = 'module_state, state, sequence, name'
+ def _valid_field_parameter(self, field, name):
+ return name == 'required_if_provider' or super()._valid_field_parameter(field, name)
+
def _get_default_view_template_id(self):
return self.env.ref('payment.default_acquirer_button', raise_if_not_found=False)