[Erp5-report] r30710 - /erp5/trunk/products/ERP5/Document/BusinessTemplate.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Nov 18 08:24:04 CET 2009
Author: yo
Date: Wed Nov 18 08:24:03 2009
New Revision: 30710
URL: http://svn.erp5.org?rev=30710&view=rev
Log:
Clean up ModuleTemplateItem.
Modified:
erp5/trunk/products/ERP5/Document/BusinessTemplate.py
Modified: erp5/trunk/products/ERP5/Document/BusinessTemplate.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/BusinessTemplate.py?rev=30710&r1=30709&r2=30710&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/BusinessTemplate.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/BusinessTemplate.py [utf8] Wed Nov 18 08:24:03 2009
@@ -2838,32 +2838,29 @@
def build(self, context, **kw):
BaseTemplateItem.build(self, context, **kw)
p = context.getPortalObject()
- for id in self._archive.keys():
- module = p.unrestrictedTraverse(id)
- dict = {}
- dict['id'] = module.getId()
- dict['title'] = module.getTitle()
- dict['portal_type'] = module.getPortalType()
+ for module_id in self._archive.keys():
+ module = p.unrestrictedTraverse(module_id)
+ mapping = {}
+ mapping['id'] = module.getId()
+ mapping['title'] = module.getTitle()
+ mapping['portal_type'] = module.getPortalType()
permission_list = []
- # use show permission
- dict['permission_list'] = module.showPermissions()
- self._objects[id] = dict
+ mapping['permission_list'] = module.showPermissions()
+ self._objects[module_id] = mapping
# Function to generate XML Code Manually
def generateXml(self, path=None):
dict = self._objects[path]
- xml_data = '<module>'
- # sort key
+ xml_data = ['<module>']
keys = dict.keys()
- keys.sort()
- for key in keys:
- if key =='permission_list':
+ for key in sorted(keys):
+ if key == 'permission_list':
# separe permission dict into xml
- xml_data += '\n <%s>' %(key,)
+ xml_data.append(' <%s>' % (key, ))
permission_list = dict[key]
for perm in permission_list:
# the type of the permission defined if we use acquired or not
- if type(perm[1]) == type([]):
+ if isinstance(perm[1], list):
ptype = "list"
else:
ptype = "tuple"
@@ -2871,32 +2868,32 @@
# 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 \
+ if (len(role_list) == 0 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])
+ xml_data.append(" <permission type='%s'>" % (ptype, ))
+ xml_data.append(' <name>%s</name>' % (perm[0], ))
for role in role_list:
- xml_data += '\n <role>%s</role>' %(role)
- xml_data += '\n </permission>'
- xml_data += '\n </%s>' %(key,)
+ xml_data.append(' <role>%s</role>' % (role, ))
+ xml_data.append(' </permission>')
+ xml_data.append(' </%s>' % (key, ))
else:
- xml_data += '\n <%s>%s</%s>' %(key, dict[key], key)
- xml_data += '\n</module>'
- return xml_data
+ xml_data.append(' <%s>%s</%s>' % (key, dict[key], key))
+ xml_data.append('</module>')
+ return '\n'.join(xml_data)
def export(self, context, bta, **kw):
- if len(self._objects.keys()) == 0:
+ if len(self._objects) == 0:
return
path = os.path.join(bta.path, self.__class__.__name__)
bta.addFolder(path)
keys = self._objects.keys()
keys.sort()
- for id in keys:
+ for key in keys:
# export modules one by one
- xml_data = self.generateXml(path=id)
- bta.addObject(obj=xml_data, name=id, path=path)
+ xml_data = self.generateXml(path=key)
+ bta.addObject(obj=xml_data, name=key, path=path)
def install(self, context, trashbin, **kw):
portal = context.getPortalObject()
@@ -2909,35 +2906,36 @@
valid_permissions = dict.fromkeys([x[0] for x in
context.ac_inherited_permissions(all=1)])
- for id in items.keys():
- if update_dict.has_key(id) or force:
+ for path, mapping in items.iteritems():
+ if update_dict.has_key(path) or force:
if not force:
- action = update_dict[id]
+ action = update_dict[path]
if action == 'nothing':
continue
- mapping = items[id]
- path, id = posixpath.split(id)
- if id in portal.objectIds():
- module = portal._getOb(id)
- module.portal_type = str(mapping['portal_type'])
+ path, module_id = posixpath.split(path)
+ portal_type = str(mapping['portal_type'])
+ module = portal._getOb(module_id)
+ if module is not None:
+ module.portal_type = portal_type
else:
- module = portal.newContent(id=id, portal_type=str(mapping['portal_type']))
+ module = portal.newContent(id=module_id, portal_type=portal_type)
module.setTitle(str(mapping['title']))
- for name in valid_permissions.keys():
+ permission_dict = dict(mapping['permission_list'])
+ for name in valid_permissions.iterkeys():
# By default, Manager only without acquire permission
- role_list = dict(mapping['permission_list']).get(name, ('Manager',))
- acquire = (type(role_list) == type([]))
+ role_list = permission_dict.get(name, ('Manager',))
+ acquire = isinstance(role_list, list)
module.manage_permission(name, roles=role_list, acquire=acquire)
def _importFile(self, file_name, file):
if not file_name.endswith('.xml'):
LOG('Business Template', 0, 'Skipping file "%s"' % (file_name, ))
return
- dict = {}
+ mapping = {}
xml = parse(file)
- for id in ('portal_type', 'id', 'title', 'permission_list'):
- elt = xml.getElementsByTagName(id)[0]
- if id == 'permission_list':
+ for key in ('portal_type', 'id', 'title', 'permission_list'):
+ elt = xml.getElementsByTagName(key)[0]
+ if key == 'permission_list':
plist = []
perm_list = elt.getElementsByTagName('permission')
for perm in perm_list:
@@ -2951,20 +2949,20 @@
role_node = role.childNodes[0]
role = role_node.data
rlist.append(str(role))
- if perm_type == "list" or perm_type is None:
+ if perm_type == 'list' or perm_type is None:
perm_tuple = (str(name), list(rlist))
else:
perm_tuple = (str(name), tuple(rlist))
plist.append(perm_tuple)
- dict[id] = plist
+ mapping[key] = plist
else:
node_list = elt.childNodes
if len(node_list) == 0:
- value=''
+ value = ''
else:
value = node_list[0].data
- dict[id] = str(value)
- self._objects[file_name[:-4]] = dict
+ mapping[key] = str(value)
+ self._objects[file_name[:-4]] = mapping
def uninstall(self, context, **kw):
trash = kw.get('trash', 0)
@@ -2978,13 +2976,13 @@
keys = [object_path]
p = context.getPortalObject()
id_list = p.objectIds()
- for id in keys:
- if id in id_list:
+ for key in keys:
+ if key in id_list:
try:
if trash and trashbin is not None:
- container_path = id.split('/')
- self.portal_trash.backupObject(trashbin, container_path, id, save=1, keep_subobjects=1)
- p.manage_delObjects([id])
+ container_path = key.split('/')
+ self.portal_trash.backupObject(trashbin, container_path, key, save=1, keep_subobjects=1)
+ p.manage_delObjects([key])
except NotFound:
pass
BaseTemplateItem.uninstall(self, context, **kw)
More information about the Erp5-report
mailing list