diff options
| author | Raphael Collet <rco@odoo.com> | 2019-02-14 14:37:48 +0000 |
|---|---|---|
| committer | Xavier Morel <xmo@odoo.com> | 2020-04-07 09:25:08 +0000 |
| commit | 1b1b2142f163e323e2d73bec6b380272a9c42998 (patch) | |
| tree | 1bded85eb3e004978ae58129cf76963d3ecf754f /addons | |
| parent | 00c82d3121bc28c4902f8f084d2bb2807350c560 (diff) | |
[IMP] fields: add validation of parameter names
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/base_sparse_field/models/models.py | 7 | ||||
| -rw-r--r-- | addons/mail/models/ir_model.py | 11 | ||||
| -rw-r--r-- | addons/mail/models/mail_thread.py | 4 | ||||
| -rw-r--r-- | addons/payment/models/payment_acquirer.py | 3 |
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) |
