From 797981e3272ea4f001e45ba95cb7456eac2a5ae0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Calonne?= <aurel@nexedi.com> Date: Thu, 16 Aug 2007 11:38:53 +0000 Subject: [PATCH] prevent some failure when backuping, thanks to bartek git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@15699 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/Tool/TrashTool.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/product/ERP5/Tool/TrashTool.py b/product/ERP5/Tool/TrashTool.py index cabb49d69d..f84723a715 100644 --- a/product/ERP5/Tool/TrashTool.py +++ b/product/ERP5/Tool/TrashTool.py @@ -82,7 +82,12 @@ class TrashTool(BaseTool): # object doesn't exist any longer pass else: - copy = obj._p_jar.exportFile(obj._p_oid) + connection = obj._p_jar + o = obj + while connection is None: + o = o.aq_parent + connection=o._p_jar + copy = connection.exportFile(obj._p_oid) # import object in trash connection = backup_object_container._p_jar o = backup_object_container @@ -91,8 +96,8 @@ class TrashTool(BaseTool): connection=o._p_jar copy.seek(0) backup = connection.importFile(copy) - backup.isIndexable = 0 try: + backup.isIndexable = 0 backup_object_container._setObject(object_id, backup) except AttributeError: # XXX we can go here due to formulator because attribute field_added @@ -103,7 +108,7 @@ class TrashTool(BaseTool): # in case of portal types, export properties instead of subobjects if obj is None: object_path = container_path + [object_id] - obj = self.unrestrictedTraverse(object_path) + obj = self.unrestrictedTraverse(object_path, None) if obj is None: pass elif getattr(obj, 'meta_type', None) == 'ERP5 Type Information': -- 2.30.9