summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Torres <adt@odoo.com>2019-10-24 07:42:44 +0000
committerAdrian Torres <adt@odoo.com>2019-11-07 08:39:17 +0000
commit3da477dfc5f98f092cda1ead73ea87372fac6bd2 (patch)
tree93faec78fa6d7bad578b9462556f9da8049b5b2a
parent2dccf4d6cd076ed768f5ec7acbf3c41ef3e06c2e (diff)
[FIX] *: adapt code to comply with new ondelete policy
The ondelete policy must be explicitly set for m2o fields whose inverse is a reflection model (ir.*)
-rw-r--r--addons/crm/models/crm_lead_scoring_frequency.py5
-rw-r--r--addons/google_drive/models/google_drive.py2
-rw-r--r--addons/sms/models/sms_template.py2
-rw-r--r--odoo/addons/base/models/ir_actions.py2
-rw-r--r--odoo/addons/base/models/ir_model.py6
-rw-r--r--odoo/addons/test_new_api/models/test_new_api.py2
6 files changed, 11 insertions, 8 deletions
diff --git a/addons/crm/models/crm_lead_scoring_frequency.py b/addons/crm/models/crm_lead_scoring_frequency.py
index fc6d0bdbbbe..85b5c77b0f2 100644
--- a/addons/crm/models/crm_lead_scoring_frequency.py
+++ b/addons/crm/models/crm_lead_scoring_frequency.py
@@ -18,4 +18,7 @@ class FrequencyField(models.Model):
_description = 'Fields that can be used for predictive lead scoring computation'
name = fields.Char(related="field_id.field_description")
- field_id = fields.Many2one('ir.model.fields', domain=[('model_id.model', '=', 'crm.lead')], required=True)
+ field_id = fields.Many2one(
+ 'ir.model.fields', domain=[('model_id.model', '=', 'crm.lead')], required=True,
+ ondelete='cascade',
+ )
diff --git a/addons/google_drive/models/google_drive.py b/addons/google_drive/models/google_drive.py
index 26246870da5..14573d42a82 100644
--- a/addons/google_drive/models/google_drive.py
+++ b/addons/google_drive/models/google_drive.py
@@ -175,7 +175,7 @@ class GoogleDrive(models.Model):
return config_values
name = fields.Char('Template Name', required=True)
- model_id = fields.Many2one('ir.model', 'Model', required=True)
+ model_id = fields.Many2one('ir.model', 'Model', required=True, ondelete='cascade')
model = fields.Char('Related Model', related='model_id.model', readonly=True)
filter_id = fields.Many2one('ir.filters', 'Filter', domain="[('model_id', '=', model)]")
google_drive_template_url = fields.Char('Template URL', required=True)
diff --git a/addons/sms/models/sms_template.py b/addons/sms/models/sms_template.py
index e1ba74d3bb1..cf2120c8a5e 100644
--- a/addons/sms/models/sms_template.py
+++ b/addons/sms/models/sms_template.py
@@ -20,7 +20,7 @@ class SMSTemplate(models.Model):
model_id = fields.Many2one(
'ir.model', string='Applies to', required=True,
domain=['&', ('is_mail_thread_sms', '=', True), ('transient', '=', False)],
- help="The type of document this template can be used with")
+ help="The type of document this template can be used with", ondelete='cascade')
model = fields.Char('Related Document Model', related='model_id.model', index=True, store=True, readonly=True)
body = fields.Char('Body', translate=True, required=True)
lang = fields.Char('Language', help="Use this field to either force a specific language (ISO code) or dynamically "
diff --git a/odoo/addons/base/models/ir_actions.py b/odoo/addons/base/models/ir_actions.py
index 5680c1f88e3..8c135d751af 100644
--- a/odoo/addons/base/models/ir_actions.py
+++ b/odoo/addons/base/models/ir_actions.py
@@ -576,7 +576,7 @@ class IrServerObjectLines(models.Model):
_sequence = 'ir_actions_id_seq'
server_id = fields.Many2one('ir.actions.server', string='Related Server Action', ondelete='cascade')
- col1 = fields.Many2one('ir.model.fields', string='Field', required=True)
+ col1 = fields.Many2one('ir.model.fields', string='Field', required=True, ondelete='cascade')
value = fields.Text(required=True, help="Expression containing a value specification. \n"
"When Formula type is selected, this field may be a Python expression "
" that can use the same values as for the code field on the server action.\n"
diff --git a/odoo/addons/base/models/ir_model.py b/odoo/addons/base/models/ir_model.py
index c441929a3ef..ccceb2c1479 100644
--- a/odoo/addons/base/models/ir_model.py
+++ b/odoo/addons/base/models/ir_model.py
@@ -1201,7 +1201,7 @@ class IrModelConstraint(models.Model):
definition = fields.Char(help="PostgreSQL constraint definition")
message = fields.Char(help="Error message returned when the constraint is violated.", translate=True)
model = fields.Many2one('ir.model', required=True, ondelete="cascade", index=True)
- module = fields.Many2one('ir.module.module', required=True, index=True)
+ module = fields.Many2one('ir.module.module', required=True, index=True, ondelete='cascade')
type = fields.Char(string='Constraint Type', required=True, size=1, index=True,
help="Type of the constraint: `f` for a foreign key, "
"`u` for other constraints.")
@@ -1337,8 +1337,8 @@ class IrModelRelation(models.Model):
name = fields.Char(string='Relation Name', required=True, index=True,
help="PostgreSQL table name implementing a many2many relation.")
- model = fields.Many2one('ir.model', required=True, index=True)
- module = fields.Many2one('ir.module.module', required=True, index=True)
+ model = fields.Many2one('ir.model', required=True, index=True, ondelete='cascade')
+ module = fields.Many2one('ir.module.module', required=True, index=True, ondelete='cascade')
write_date = fields.Datetime()
create_date = fields.Datetime()
diff --git a/odoo/addons/test_new_api/models/test_new_api.py b/odoo/addons/test_new_api/models/test_new_api.py
index 3f45466efa3..95a4cec4088 100644
--- a/odoo/addons/test_new_api/models/test_new_api.py
+++ b/odoo/addons/test_new_api/models/test_new_api.py
@@ -266,7 +266,7 @@ class Edition(models.Model):
name = fields.Char()
res_id = fields.Integer(required=True)
- res_model_id = fields.Many2one('ir.model', required=True)
+ res_model_id = fields.Many2one('ir.model', required=True, ondelete='cascade')
res_model = fields.Char(related='res_model_id.model', store=True, readonly=False)