Do not enforce access rights when performing action on delete
Closes #15050
This commit is contained in:
@@ -1676,7 +1676,7 @@ class ModelSQL(ModelStorage):
|
||||
where=foreign_red_sql))
|
||||
related_records = Model.browse([x[0] for x in cursor])
|
||||
else:
|
||||
with without_check_access(), inactive_records():
|
||||
with inactive_records():
|
||||
related_records = Model.search(
|
||||
[(field_name, 'in', ids)],
|
||||
order=[])
|
||||
@@ -1684,24 +1684,25 @@ class ModelSQL(ModelStorage):
|
||||
related_records = list(set(related_records) - set(records))
|
||||
return related_records
|
||||
|
||||
for Model, field_name in foreign_keys_toupdate:
|
||||
related_records = get_related_records(Model, field_name, ids)
|
||||
if related_records:
|
||||
Model.write(related_records, {
|
||||
field_name: None,
|
||||
})
|
||||
with without_check_access():
|
||||
for Model, field_name in foreign_keys_toupdate:
|
||||
related_records = get_related_records(Model, field_name, ids)
|
||||
if related_records:
|
||||
Model.write(related_records, {
|
||||
field_name: None,
|
||||
})
|
||||
|
||||
for Model, field_name in foreign_keys_todelete:
|
||||
related_records = get_related_records(Model, field_name, ids)
|
||||
if related_records:
|
||||
Model.delete(related_records)
|
||||
for Model, field_name in foreign_keys_todelete:
|
||||
related_records = get_related_records(Model, field_name, ids)
|
||||
if related_records:
|
||||
Model.delete(related_records)
|
||||
|
||||
for Model, field_name in foreign_keys_tocheck:
|
||||
if get_related_records(Model, field_name, ids):
|
||||
error_args = Model.__names__(field_name)
|
||||
raise ForeignKeyError(
|
||||
gettext('ir.msg_foreign_model_exist',
|
||||
**error_args))
|
||||
for Model, field_name in foreign_keys_tocheck:
|
||||
if get_related_records(Model, field_name, ids):
|
||||
error_args = Model.__names__(field_name)
|
||||
raise ForeignKeyError(
|
||||
gettext('ir.msg_foreign_model_exist',
|
||||
**error_args))
|
||||
|
||||
try:
|
||||
cursor.execute(*table.delete(
|
||||
|
||||
Reference in New Issue
Block a user