Reviewers: ,


Please review this at http://codereview.tryton.org/336001/

Affected files:
  M tryton/gui/window/view_form/model/record.py
  M tryton/gui/window/view_form/screen/screen.py


Index: tryton/gui/window/view_form/model/record.py
===================================================================
--- a/tryton/gui/window/view_form/model/record.py
+++ b/tryton/gui/window/view_form/model/record.py
@@ -305,9 +305,9 @@
         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 @@
         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 @@
         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):
Index: tryton/gui/window/view_form/screen/screen.py
===================================================================
--- a/tryton/gui/window/view_form/screen/screen.py
+++ b/tryton/gui/window/view_form/screen/screen.py
@@ -546,7 +546,8 @@
                 return False

         top_record = records[0]
-        idx = top_record.group.index(top_record)
+        top_group = top_record.group
+        idx = top_group.index(top_record)
         path = top_record.get_path(self.group)

         for record in records:
@@ -561,7 +562,7 @@
         if delete:
             for record in records:
                 if record.parent:
-                    record.parent.save()
+                    record.parent.save(force_reload=False)
                 if record in record.group.record_deleted:
                     record.group.record_deleted.remove(record)
                 if record in record.group.record_removed:
@@ -569,7 +570,7 @@
                 record.destroy()

         if idx > 0:
-            record = top_record.group[idx - 1]
+            record = top_group[idx - 1]
             path = path[:-1] + ((path[-1][0], record.id,),)
         else:
             path = path[:-1]


--
[email protected] mailing list

Reply via email to