From c37f1c77ba0c08b5deafa320a8d2f2d84119cc7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 5 Dec 2008 13:24:18 +0100 Subject: [PATCH] Fix copy on account to copy childs and call _rebuild_tree after --- account.py | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/account.py b/account.py index 9715b6e30b..77f7365a80 100644 --- a/account.py +++ b/account.py @@ -791,21 +791,11 @@ class Account(OSV): or unicode(r[self._rec_name])) for r in self.read(cursor, user, ids, [self._rec_name, 'code'], context=context, load='_classic_write')] - def copy(self, cursor, user, object_id, default=None, context=None): - account = self.browse(cursor, user, object_id, context=context) - default['parent'] = False - if account: - #Also duplicate all childs - new_child_ids = [] - for child in account.childs: - new_child_ids.append( - self.copy(cursor, user, child.id, default, - context=context)) - default['childs'] = [('set', new_child_ids)] - else: - default['childs'] = False - return super(Account, self).copy(cursor, user, object_id, default, + def copy(self, cursor, user, ids, default=None, context=None): + res = super(Account, self).copy(cursor, user, ids, default=default, context=context) + self._rebuild_tree(cursor, user, 'parent', False, 0) + return res def write(self, cursor, user, ids, vals, context=None): if not vals.get('active', True):