From cdf3f66a7fb81ff8c6ab86742b04db73ddcbedba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com> Date: Mon, 29 Mar 2010 17:08:51 +0000 Subject: [PATCH] don't uninstall all local roles, only the ones passed in object_path git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@34196 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/Document/BusinessTemplate.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/product/ERP5/Document/BusinessTemplate.py b/product/ERP5/Document/BusinessTemplate.py index 2ae5c9e57a..2bb8c463b4 100644 --- a/product/ERP5/Document/BusinessTemplate.py +++ b/product/ERP5/Document/BusinessTemplate.py @@ -4723,9 +4723,13 @@ class LocalRolesTemplateItem(BaseTemplateItem): setattr(obj, '__ac_local_roles__', local_roles_dict) obj.reindexObject() - def uninstall(self, context, **kw): + def uninstall(self, context, object_path=None, **kw): p = context.getPortalObject() - for roles_path in self._objects.keys(): + if object_path is not None: + keys = [object_path] + else: + keys = self._objects.keys() + for roles_path in keys: path = roles_path.split('/')[1:] obj = p.unrestrictedTraverse(path) setattr(obj, '__ac_local_roles__', {}) -- 2.30.9