From 3e415f10922bf600ff4498f42735c02a4e5a219c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Calonne?= <aurel@nexedi.com> Date: Mon, 21 Nov 2005 08:53:24 +0000 Subject: [PATCH] remove local roles and owner attributes from objects in business templates git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@4366 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/Document/BusinessTemplate.py | 35 +++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/product/ERP5/Document/BusinessTemplate.py b/product/ERP5/Document/BusinessTemplate.py index c5f973cc9b..8fc1caad52 100755 --- a/product/ERP5/Document/BusinessTemplate.py +++ b/product/ERP5/Document/BusinessTemplate.py @@ -299,6 +299,11 @@ class ObjectTemplateItem(BaseTemplateItem): object = p.unrestrictedTraverse(relative_url) object = object._getCopy(context) id_list = object.objectIds() + if hasattr(object, '__ac_local_roles__'): + # remove local roles + object.__ac_local_roles__ = None + if hasattr(object, '_owner'): + object._owner = None if hasattr(object, 'groups'): # we must keep groups because it's ereased when we delete subobjects groups = deepcopy(object.groups) @@ -320,6 +325,11 @@ class ObjectTemplateItem(BaseTemplateItem): object = p.unrestrictedTraverse(relative_url) object = object._getCopy(context) id_list = object.objectIds() + if hasattr(object, '__ac_local_roles__'): + # remove local roles + object.__ac_local_roles__ = None + if hasattr(object, '_owner'): + object._owner = None if hasattr(object, 'groups'): # we must keep groups because it's ereased when we delete subobjects groups = deepcopy(object.groups) @@ -590,6 +600,11 @@ class PathTemplateItem(ObjectTemplateItem): for relative_url in self._resolvePath(p, [], path.split('/')): object = p.unrestrictedTraverse(relative_url) object = object._getCopy(context) + if hasattr(object, '__ac_local_roles__'): + # remove local roles + object.__ac_local_roles__ = None + if hasattr(object, '_owner'): + object._owner = None if hasattr(object, 'uid'): object.uid = None self._objects[relative_url] = object @@ -614,6 +629,11 @@ class CategoryTemplateItem(ObjectTemplateItem): object_copy.manage_delObjects(list(id_list)) else: object_copy.manage_delObjects(list(id_list)) + if hasattr(object, '__ac_local_roles__'): + # remove local roles + object.__ac_local_roles__ = None + if hasattr(object, '_owner'): + object._owner = None if hasattr(aq_base(object_copy), 'uid'): object_copy.uid = None self._objects[relative_url] = object_copy @@ -634,6 +654,11 @@ class CategoryTemplateItem(ObjectTemplateItem): object_copy.manage_delObjects(list(id_list)) else: object_copy.manage_delObjects(list(id_list)) + if hasattr(object, '__ac_local_roles__'): + # remove local roles + object.__ac_local_roles__ = None + if hasattr(object, '_owner'): + object._owner = None if hasattr(aq_base(object_copy), 'uid'): object_copy.uid = None self._objects[relative_url] = object_copy @@ -825,6 +850,11 @@ class PortalTypeTemplateItem(ObjectTemplateItem): optional_action_list.append(index) if len(optional_action_list) > 0: object.deleteActions(selections=optional_action_list) + if hasattr(object, '__ac_local_roles__'): + # remove local roles + object.__ac_local_roles__ = None + if hasattr(object, '_owner'): + object._owner = None if hasattr(object, 'uid'): object.uid = None self._objects[relative_url] = object @@ -1247,6 +1277,11 @@ class ActionTemplateItem(ObjectTemplateItem): url = os.path.split(relative_url) key = os.path.join(url[-2], url[-1], value) object = ai._getCopy(context) + if hasattr(object, '__ac_local_roles__'): + # remove local roles + object.__ac_local_roles__ = None + if hasattr(object, '_owner'): + object._owner = None if hasattr(object, 'uid'): object.uid = None self._objects[key] = object -- 2.30.9