From 41a577c1606e14e9f75c6587862580c8c0eedd24 Mon Sep 17 00:00:00 2001 From: Kazuhiko Shiozaki <kazuhiko@nexedi.com> Date: Tue, 3 Nov 2009 20:18:53 +0000 Subject: [PATCH] export configured permissions only in ModuleTemplateItem.export() so as to get smaller and stable XML output. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@30266 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/Document/BusinessTemplate.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/product/ERP5/Document/BusinessTemplate.py b/product/ERP5/Document/BusinessTemplate.py index 2b9bb6d76c..19f1a28634 100644 --- a/product/ERP5/Document/BusinessTemplate.py +++ b/product/ERP5/Document/BusinessTemplate.py @@ -2864,10 +2864,16 @@ class ModuleTemplateItem(BaseTemplateItem): ptype = "list" else: ptype = "tuple" - xml_data += "\n <permission type='%s'>" %(ptype,) - xml_data += '\n <name>%s</name>' %(perm[0]) role_list = list(perm[1]) + # Skip if permission is not configured (i.e. no role at all + # with acquire permission, or Manager only without acquire + # permission). + if (not len(role_list) and ptype == 'list') or \ + (role_list == ['Manager'] and ptype == 'tuple'): + continue role_list.sort() + xml_data += "\n <permission type='%s'>" %(ptype,) + xml_data += '\n <name>%s</name>' %(perm[0]) for role in role_list: xml_data += '\n <role>%s</role>' %(role) xml_data += '\n </permission>' @@ -2914,10 +2920,11 @@ class ModuleTemplateItem(BaseTemplateItem): else: module = portal.newContent(id=id, portal_type=str(mapping['portal_type'])) module.setTitle(str(mapping['title'])) - for name, role_list in list(mapping['permission_list']): + for name in valid_permissions.keys(): + # By default, Manager only without acquire permission + role_list = dict(mapping['permission_list']).get(name, ('Manager',)) acquire = (type(role_list) == type([])) - if name in valid_permissions: - module.manage_permission(name, roles=role_list, acquire=acquire) + module.manage_permission(name, roles=role_list, acquire=acquire) def _importFile(self, file_name, file): if not file_name.endswith('.xml'): -- 2.30.9