Fix group usage in Record.delete
It must always use the root_group for on_write_ids call and group comparison. review336001
This commit is contained in:
1 parent
5b0dc03ad8
commit
aa9d4b778e
1 file changed
+4
-4
@@ -305,9 +305,9 @@ class Record(SignalEvent):
|
||||
if not records:
|
||||
return
|
||||
record = records[0]
|
||||
group = record.group
|
||||
root_group = record.group.root_group
|
||||
assert all(r.model_name == record.model_name for r in records)
|
||||
assert all(r.group == group for r in records)
|
||||
assert all(r.group.root_group == root_group for r in records)
|
||||
records = [r for r in records if r.id >= 0]
|
||||
ctx = {}
|
||||
ctx.update(context or {})
|
||||
@@ -315,7 +315,7 @@ class Record(SignalEvent):
|
||||
for rec in records:
|
||||
ctx['_timestamp'].update(rec.get_timestamp())
|
||||
record_ids = set(r.id for r in records)
|
||||
reload_ids = set(group.on_write_ids(list(record_ids)))
|
||||
reload_ids = set(root_group.on_write_ids(list(record_ids)))
|
||||
reload_ids -= record_ids
|
||||
reload_ids = list(reload_ids)
|
||||
try:
|
||||
@@ -324,7 +324,7 @@ class Record(SignalEvent):
|
||||
except RPCException:
|
||||
return False
|
||||
if reload_ids:
|
||||
group.root_group.reload(reload_ids)
|
||||
root_group.reload(reload_ids)
|
||||
return True
|
||||
|
||||
def default_get(self, domain=None, context=None):
|
||||
|
||||
Reference in new issue
Block a user