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:
Cédric Krier committed 2012-04-20 19:46:47 +02:00
1 parent 5b0dc03ad8
commit aa9d4b778e
1 file changed
+4 -4
+4 -4
View File
@@ -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):