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
